如何在Linux中使用ufw添加时间访问规则?
如何在Linux中使用ufw添加时间访问规则?
嗨,这是个很实用的需求!ufw本身并没有自带时间规则的配置选项,但别慌——毕竟ufw只是iptables的前端工具,我们完全可以通过给ufw添加自定义iptables规则的方式实现时间限制功能,就像你找到的那条iptables命令一样。
下面是具体的操作步骤:
首先确保ufw处于启用状态(如果还没开的话):
sudo ufw enable接下来要把时间规则添加到ufw的自定义规则文件里。推荐用
/etc/ufw/after.rules,这个文件里的规则会在ufw默认规则之后加载,优先级更合适。打开文件:sudo nano /etc/ufw/after.rules在文件末尾的
COMMIT行之前,插入你需要的时间规则,比如你提供的这条:-A OUTPUT -p tcp -s 192.168.1.20 -m state --state ESTABLISHED -m time --timestart 15:00 --timestop 18:00 --weekdays Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT简单解释下这条规则:允许IP为192.168.1.20的主机,在每周一到周日的15:00-18:00之间,发送已建立连接状态的TCP出站流量。
如果需要实现“仅允许指定时间的流量,其他时间拒绝”的效果,可以在上面的ACCEPT规则之后再添加一条拒绝规则:
-A OUTPUT -p tcp -s 192.168.1.20 -m state --state ESTABLISHED -j DROP最后重启ufw让新规则生效:
sudo ufw reload
几个小提醒:
- 系统时间一定要准确!time模块完全依赖系统时钟,时间不准的话规则会失效
- 可以用
iptables -L -v命令查看规则是否成功加载并生效 - 如果要限制入站流量,只需要把规则里的
OUTPUT换成INPUT即可
备注:内容来源于stack exchange,提问作者admfotad
相关产品推荐
相关产品推荐

