我有这个规则来控制我的 mac 地址并且工作正常:
注意:$mac 是一个变量,其中包含我的本地网络的 mac 地址,因此 iptables 规则位于“for; do done”中
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -m mac --mac-source $mac -p tcp --dport 80 -m time --timestart 08:00:00 --timestop 18:00:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT
但是,如果我反向更改时间表,则该规则将不再起作用。即,从下午 6:00 开始,到第二天上午 8:00 结束
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -m mac --mac-source $mac -p tcp --dport 80 -m time --timestart 18:00:00 --timestop 08:00:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT
为什么会出现这种情况?提前致谢
答案1
您可以尝试使用 2 个 iptables 规则,如下所示:
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -m mac --mac-source $mac -p tcp --dport 80 -m time --timestart 18:00:00 --timestop 23:59:59 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -i eth1 -m mac --mac-source $mac -p tcp --dport 80 -m time --timestart 00:00:00 --timestop 08:00:00 --weekdays Mon,Tue,Wed,Thu,Fri -j ACCEPT