我是新来的,希望能找到问题的答案,我已经在 openwrt iptables 中设置了规则
iptables -A FORWARD -s 192.168.2.14 -m 时间 --timestart 8:00 --timestop 18:30 -j ACCEPT
iptables -A FORWARD -s 192.168.2.14 -j DROP
此规则不起作用,但是当我更改为此规则后它起作用了
iptables -A forwarding_rule -s 192.168.2.14 -m 时间 --timestart 8:00 --timestop 18:30 -j 接受
iptables -A 转发规则 -s 192.168.2.14 -j DROP
有人能向我解释我所犯的错误吗
答案1
在 OpenWRT 中默认有 3 条规则:
(你可以在iptables -nvL FORWARD
- 规则 1 将链移至 FORWARDING_RULE
- 规则 2 接受 ESTABLISHED/RELATED 数据包
- 规则 3 拒绝所有其他转发规则
关于FORWARD的策略是DROP。
添加时:
iptables -A FORWARD .....
然后这是在拒绝之后的最后。当您添加以下内容时:
iptables -A forwarding_rule ...
您将此规则添加到forwarding_rule链(默认情况下此链为空)。
如果您想要添加到 FORWARD,则必须在规则 3 之前添加此规则,例如:
iptables -I FORWARD 1 ...
# or
iptables -I FORWARD 2 ...
# or
iptables -I FORWARD 3 ...
iptables -I [chain_name] [number] ...
那么就可以了:)
-A 在现有规则后添加,-I 在现有规则前添加
对不起,我的英语不好... :(