Dota 2 pings its servers with UDP packets of size 1300 which can't fit through the default ds-lite tunnel. For example, with tcpdump -i ds-wan6_4 udp
, I can see:
02:42:21.264367 IP 192.168.1.187.37791 > 155.133.253.54.27015: UDP, bad length 1300 > 1248
so the packets get dropped and the game can't connect to any server.
I can solve this temporarily by manually creating a tunnel with MTU of 1452 (for example), but for some reason I need to do this every time wan6
reconnects, or the router restarts, etc, because the auto-created tunnel overwrites my settings.
Is there any way to change this MTU more permanently? Or solve this issue in a different way? I can switch my modem to "router mode" and that apparently uses a large-enough MTU or avoids the problem differently, but that opens up a host of other issues.
also see this old related issue on github: https://github.com/openwrt/openwrt/issues/8190
edit: I've currently settled for the hacky solution from github:
# /etc/hotplug.d/iface/01-netstate
if [ "$ACTION" = "ifup" ] && [ "$INTERFACE" = "wan6_4" ]; then
ip link set ds-wan6_4 mtu 1452
fi
but this will get lost/overwritten at some point and/or I'll forget all about it so it's not a good solution