即使设置了接口和目标,iptables 规则也无法在别名接口上运行

即使设置了接口和目标,iptables 规则也无法在别名接口上运行

我有 2 个 IP 地址,1 个绑定到 eth0,另一个绑定到别名接口 eth0:1,这两个接口都可以正常工作。

但是,在 iptables 中我有以下一组规则:

-A INPUT -i eth0 -d 174.143.246.30 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -d 174.143.241.61 -p tcp -m tcp --dport 80 -j ACCEPT

iptables 显示它们正在加载

target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             loopback/8          reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
ACCEPT     tcp  --  anywhere             eurus.iamkura.com   tcp dpt:www
ACCEPT     tcp  --  anywhere             eurus.iamkura.com   tcp dpt:www
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

但是当我查看日志时,我可以看到 iptables 声称阻止了第二个 IP 上的端口 80 的访问。

Feb 11 21:54:31 eurus kernel: [ 8212.861011] iptables denied: IN=eth0 OUT= MAC=40:40:f2:77:69:a8:00:1e:f7:19:b0:7f:08:00 SRC=<MY.IP.HERE> DST=174.143.241.61 LEN=52 TOS=0x00 PREC=0x00 TTL=116 ID=26993 DF PROTO=TCP SPT=51690 DPT=80 WINDOW=8192 RES=0x00 SYN URGP=0

实际上,我可以毫无问题地连接到该 IP 上的端口 80,即使 iptables 在日志中大喊大叫。

有任何想法吗?

答案1

IPTABLES不会阻止对该端口的访问,但会限制速率:

limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '

当你接受输出消息的内容为真(或源代码注释)时,请务必小心。通常当你盯着它看太久时,就会发生这种情况,至少对我来说是这样 :)

相关内容