【发布时间】:2021-01-23 23:40:04
【问题描述】:
您好,我正在做一个项目,我有一个问题涉及 ping 命令以及它们如何通过网络 TUN 端口进行交互。
基本上,我发送 ping 请求,这些请求被路由到我的 TUN 端口,并且回复通过 VPN 发送到 TUN 端口。没有其他互联网接口(即没有 wifi/以太网)。使用 wireshark 和 tcpdump 我可以看到在 TUN0 端口上看到了正确的回复消息,但终端看不到回复,而是显示 100% 的丢弃率。问题似乎是 TUN0 端口没有正确链接回内核? (总觉得我对 IP 路由很陌生)。
TUN 的 IP 地址是 10.0.0.73,我正在 ping 一台 IP 地址为 10.0.0.28 的计算机
Bellow 是来自 TUN0 上的 tcpdump 的 sn-p,这是一个请求并回复我未经训练的眼睛应该可以工作:
23:08:52.257566 IP (tos 0x0, ttl 64, id 11185, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.0.73 > 10.0.0.28: ICMP echo request, id 24667, seq 2, length 64
23:09:11.508002 IP (tos 0x0, ttl 64, id 13315, offset 0, flags [none], proto ICMP (1), length 84)
10.0.0.28 > 10.0.0.73: ICMP echo reply, id 24667, seq 2, length 64
根据其他帖子,我检查了我的 ip 路由列表,输出是这样的
pi@raspberrypi:~$ sudo ip route list
10.0.0.0/24 dev tun0 proto kernel scope link src 10.0.0.73
ifconfig 是这样的:
pi@raspberrypi:~$ 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:10.0.0.73 P-t-P 10.0.0.73 Mask:255.255.255.0
...
【问题讨论】: