在 Ubuntu 22.04 上,我设置了以下iptables
规则:
iptables -I OUTPUT -d 192.168.0.0/16 -j LOG --log-prefix "CHECK1 "
iptables -I FORWARD -d 192.168.0.0/16 -j LOG --log-prefix "CHECK2 "
Run Code Online (Sandbox Code Playgroud)
为了验证我的设置是否正确,我192.168.0.0/16
在浏览器中导航到 website.com(位于子网中),并看到一条CHECK1
消息显示在/var/log/kern.log
.
然后,我运行了一个 C 程序,该程序创建了tun
一个 IP 地址为 的接口172.30.0.1
,并从中发出了一个手工制作的 TCP-SYN 数据包。该数据包的源地址为172.30.0.1
,目标地址为192.168.255.8
(website.com 的地址)。它出现在 Wireshark 中。但是,在 中没有相应的日志消息/var/log/kern.log
。
这个数据包发生了什么?
这是iptables-save
:
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:DOCKER - [0:0]
:DOCKER-ISOLATION-STAGE-1 - [0:0]
:DOCKER-ISOLATION-STAGE-2 - [0:0]
:DOCKER-USER …
Run Code Online (Sandbox Code Playgroud)