ping 中出现奇怪的 MTU 值

ping 中出现奇怪的 MTU 值

我正在尝试让在线蒸汽游戏在我的笔记本电脑上运行。我遇到这个问题:如果我在 Linux 上运行游戏,则无法连接到游戏服务器。如果我在 Windows 上运行它们,它们就可以正常工作。该网络上的其他 Windows 笔记本电脑也可以正常工作。如果我在 Linux 上运行游戏但在另一个网络上它也可以正常运行。

目前我认为MTU是问题所在。

$ ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 68:f7:28:24:00:3f brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether ac:d1:b8:76:05:5b brd ff:ff:ff:ff:ff:ff


$ ping -M do -s 700 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 700(728) bytes of data.
ping: local error: Message too long, mtu=576
ping: local error: Message too long, mtu=576
ping: local error: Message too long, mtu=576
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2004ms

我的问题是为什么这么pingmtu=576?从中ip link list我们可以看出wlp3s0mtu 1500。另外,我根据ISP的信息将路由器的MTU设置为1492。

UPD。我发现576 Typically recommended as the MTU for dial-up type applications, leaving 536 bytes of TCP data.

更新2 192.168.0.108是我的IP,192.168.0.1是我的路由器的IP。

$ ip route show
default via 192.168.0.1 dev wlp3s0  src 192.168.0.108  metric 303  mtu 576
192.168.0.0/24 dev wlp3s0  proto kernel  scope link  src 192.168.0.108  metric 303  mtu 576

更新3我还尝试ping google.com -f -l 1480在同一网络中的 Windows 10 笔记本电脑上执行此操作。它按其应有的方式工作。长度小于~1500 pass 和超过~1500 需要分段。所以,问题出在我这边。

答案1

这是我第一次,ip route但我这样做了:

ip route del所有路线,然后

ip route add default via 192.168.0.1 dev wlp3s0 mtu 1492

通过我的路由器添加默认路由。我希望我没有错过任何重要的事情。

相关内容