我编写了一个连接到 TUN 接口并回复 ICMPv6 Echo 请求的程序。
尽管我可以在 TUN 接口上使用 tcpdump 成功观察到回显和回复,但回复似乎没有被发送回 ping 命令(在同一台计算机上运行)。
我已启用 IPv6 转发,并且可以成功 ping 通 tun0 接口。
是什么阻止我的回显回复发送回 ping6 命令?
平命令:
ping6 fd02:c0de::2
ifconfig 输出(为了清楚起见,省略了其他接口):
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: fd02:c0de::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:12 errors:0 dropped:2090 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 B) TX bytes:1248 (1.2 KB)
tcpdump 输出:
14:23:57.229106 IP6 fd02:c0de::1 > fd02:c0de::2: ICMP6, echo request, seq 1295, length 64
0x0000: 6000 0000 0040 3a40 fd02 c0de 0000 0000
0x0010: 0000 0000 0000 0001 fd02 c0de 0000 0000
0x0020: 0000 0000 0000 0002 8000 19d5 2f22 050f
0x0030: 4d11 c155 0000 0000 e57e 0300 0000 0000
0x0040: 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
0x0050: 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
0x0060: 3031 3233 3435 3637
14:23:58.151833 IP6 fd02:c0de::2 > fd02:c0de::1: ICMP6, echo reply, seq 1295, length 64
0x0000: 6000 0000 0040 3aff fd02 c0de 0000 0000
0x0010: 0000 0000 0000 0002 fd02 c0de 0000 0000
0x0020: 0000 0000 0000 0001 8100 18d5 2f22 050f
0x0030: 4d11 c155 0000 0000 e57e 0300 0000 0000
0x0040: 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f
0x0050: 2021 2223 2425 2627 2829 2a2b 2c2d 2e2f
0x0060: 3031 3233 3435 3637