Ubuntu 20.04
我使用 NordVPN,它在我连接时会更改我的 iptables 规则。有时,我必须删除一些规则并创建新规则,这样我才能继续访问本地网络上的其他机器。
今天早上又出现了这种情况。当我修复它时,我注意到我能够连接到本地网络上的一台机器,尽管那些数据包似乎应该被丢弃了。
在下面显示的会话中,我刚刚重新连接到 NordVPN,这导致它在 INPUT 和 OUTPUT 中创建了前 2 条规则。它使用 192.154.196.23 连接到其服务器。之后它还添加了 DROP 规则。
我的本地网络上有一台机器的地址是 192.168.1.47。为什么在以下情况下我能够连接到它?在这种情况下,发往该地址的数据包不应该被丢弃吗?
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.154.196.23 anywhere
DROP all -- anywhere anywhere
ACCEPT all -- 192.168.1.47 anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.154.196.23
DROP all -- anywhere anywhere
ACCEPT all -- anywhere 192.168.1.47
我可以 ping 通主机。这是怎么回事?
$ ping 192.168.1.47
PING 192.168.1.47 (192.168.1.47) 56(84) bytes of data.
64 bytes from 192.168.1.47: icmp_seq=1 ttl=64 time=0.297 ms
64 bytes from 192.168.1.47: icmp_seq=2 ttl=64 time=0.257 ms
64 bytes from 192.168.1.47: icmp_seq=3 ttl=64 time=0.298 ms
64 bytes from 192.168.1.47: icmp_seq=4 ttl=64 time=0.345 ms
^C
--- 192.168.1.47 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3077ms
rtt min/avg/max/mdev = 0.257/0.299/0.345/0.031 ms