我的系统上有 3 个 eth 接口。
eth0、wlan0 和 lo
为什么 iptalbes 允许这个命令而没有错误??? foobar9 不是我的设备之一。
iptables -A INPUT -i foobar9 -p tcp -s 1.2.3.4 --dport 1234 -j ACCEPT
iptables -L -n 的输出是:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 1.2.3.4 0.0.0.0/0 tcp dpt:1234
Debian 10 上的 iptables v1.6.2
答案1
我刚刚在我的机器上测试了这个,结果发现 iptables 并不关心接口名称。
我知道该ip route
命令确实关心接口是否存在,但 iptables 显然不关心。
对您有用的命令是iptables -vL
,因为它显示链中规则的接口名称。
我的测试是在 Ubuntu 16.04、内核 4.9.7、iptables v1.6.0 上完成的。
iptables -A INPUT -i bumbum -j ACCEPT
iptables -vL
我的机器上的结果输出是:
Chain INPUT (policy ACCEPT 1842 packets, 2569K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- bumbum any anywhere anywhere