我有一台带 openwrt 的 tp-link 路由器。我有 2 条 iptables 规则来阻止 P2P 连接。阻止工作正常,但现在我需要一条规则来允许往返特定 IP 的流量。
我的阻止规则:
iptables -I FORWARD -m string --string "BitTorrent protocol" --algo bm -j DROP
iptables -I FORWARD -m string --string ".torrent" --algo bm -j DROP
我添加了这条规则:
iptables -I FORWARD -s 192.168.64.XX -j ACCEPT
iptables -I FORWARD -d 192.168.64.XX -j ACCEPT
但不起作用。
我尝试做了一些小的修改:
iptables -A FORWARD -s 192.168.64.XX -j ACCEPT
iptables -A FORWARD -d 192.168.64.XX -j ACCEPT
还是不起作用。每次更改规则后我都会重新启动路由器。
现在我无法在防火墙中看到我的修改,我只看到这个:
Chain FORWARD (Policy: DROP, Packets: 0, Traffic: 0.00 B)
Rule # Pkts. Traffic Target Prot. Flags In Out Source Destination Options
1 0 0.00 B DROP all -- * * 0.0.0.0/0 0.0.0.0/0 STRING match ".torrent" ALGO name bm TO 65535
2 96 10.39 KB DROP all -- * * 0.0.0.0/0 0.0.0.0/0 STRING match "BitTorrent protocol" ALGO name bm TO 65535
我做错了什么?
答案1
手动添加的规则在iptables
重启后将失效,除非 init 系统负责在启动之间保存和恢复它们。我认为 openwrt 在其默认配置中不会这样做。
寻找另一个地方来添加自定义防火墙规则。也许/etc/config/firewall
?
配置格式的详细信息如下: https://wiki.openwrt.org/doc/uci/firewall