为什么我的主机没有收到通过 tun0 发送的数据包?

为什么我的主机没有收到通过 tun0 发送的数据包?

我设置了一个 tun0 接口,允许按如下方式发送数据包:

主机 (aaaa::1) ----> tun0 ----> SLIP ----> 路由器 (aaaa::200:0:0:1)

路由器接收数据包,并可以发回一个网页(它上面有一个小型网络服务器),然后我可以在主机上的浏览器和 wireshark 中看到该网页:

3205    2129.960625056  aaaa::1 aaaa::200:0:0:1 TCP 80  49192 → 80 [SYN] Seq=0 Win=28800 Len=0 MSS=1440 SACK_PERM=1 TSval=579845 TSecr=0 WS=128
3206    2129.977020758  aaaa::200:0:0:1 aaaa::1 TCP 64  80 → 49192 [SYN, ACK] Seq=0 Ack=1 Win=48 Len=0 MSS=48
3207    2129.977056613  aaaa::1 aaaa::200:0:0:1 TCP 60  49192 → 80 [ACK] Seq=1 Ack=1 Win=28800 Len=0

但是,当我尝试执行以下操作时:

路由器 (aaaa::200:0:0:1) ----> SLIP ----> tun0 ----> HOST (aaaa::1)

主机未接收数据包(UDP)。我已设置 wireshark 来在 tun0 上进行捕获,我可以看到数据包到达了接口...

2164    454.682603267   aaaa::200:0:0:1 aaaa::1 UDP 73  8765 → 5678  Len=25

但是,当我使用 netcat 监视 [aaaa::1]:5678 时,我看不到任何数据包到达。

我确信这与如何在 tun 接口上设置路由和转发有关,但我对此了解不够,无法弄清楚这一点。

以下是设置 tunslip 接口时的输出:

slip connected to ``127.0.0.1:60001''
opened tun device ``/dev/tun0''
ifconfig tun0 inet `hostname` mtu 1500 up
ifconfig tun0 add aaaa::1/64
ifconfig tun0 add fe80::0:0:0:1/64
ifconfig tun0

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.1.1  P-t-P:127.0.1.1  Mask:255.255.255.255
          inet6 addr: fe80::1/64 Scope:Link
          inet6 addr: aaaa::1/64 Scope:Global
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

这是输出ip 路由显示表本地

broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.1.1 dev tun0  proto kernel  scope host  src 127.0.1.1 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 172.23.0.0 dev wlx0013ef1b001c  proto kernel  scope link  src 172.23.251.64 
local 172.23.251.64 dev wlx0013ef1b001c  proto kernel  scope host  src 172.23.251.64 
broadcast 172.23.255.255 dev wlx0013ef1b001c  proto kernel  scope link  src 172.23.251.64 

答案1

这确实很尴尬,但我忘了在主机上配置了防火墙,这意味着所有传入连接都被阻止了。关闭防火墙后,一切正常。

相关内容