config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fde2:ccf3:90a6::/48'
config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option bridge_empty '1'
option mtu '1478'
list ifname 'lan0'
list ifname 'lan1'
list ifname 'lan2'
list ifname 'lan3'
list ifname 'lan4'
config interface 'wan'
option ifname 'eth2'
option proto 'dhcp'
option ipv6 '1'
option mtu '1478'
config interface 'wan6'
option proto 'dhcpv6'
option ifname '@wan'
option mtu '1478'
config interface 'guest_turris'
option enabled '1'
option type 'bridge'
option proto 'static'
option ipaddr '10.111.222.1'
option netmask '255.255.255.0'
option bridge_empty '1'
config interface 'vpn_turris'
option enabled '1'
option ifname 'tun_turris'
option proto 'none'
option auto '1'
config interface 'Xbox'
option proto '6in4'
option mtu '1478'
If I look at these interfaces from the Luci menu Network>Interfaces, they show the interface that my computer is connected to as having an MTU of 1478. Next, I go on my computer, open a command prompt and type ping www.reddit.com -f -l 1400, I get dropped packages:
Reply from 192.168.1.1: Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
Packet needs to be fragmented but DF set.
My Xbox complains about an MTU issue as well, so I doubt it’s the PC that’s incorrectly set up. Is there any other place in OpenWRT that might override the MTU settings?
Edit: I’ve removed all “1478” settings, and the interfaces now revert back to the default of 1500. In Windows, I run the command netsh interface ipv6 show subinterface. This shows all interfaces again with an MTU of 1500. But the ping command still fails. Playing around with the number, the max package size I can send out appears to be set to 1252… Where does this number come from???
Could this be from wifi? In the default config, wired and wireless interfaces are bridged in Turris, and a bridge automatically uses the lowest MTU set on any of the bridged devices.
This looks like you internet access is somehow limited:
1252 with ping/ICMP echo requests indicates IP payloads of 1252+8 = 1260 if we add 20 bytes for an IPv4 header we find 1280 bytes which just happens to be the smallest maximal MTU specified for IPv6.
This could indicate some sub-optimal IPv6 related configuration by your ISP.
Which ISP if I may ask?
Thanks for your time @moeller0 . To rule out my ISP, I connected the PC and Xbox directly to the modem. Doing this, both functioned normally again. I assume the problem is with the router then. After this I factory resetted my Turris (3 LEDs solidly turned on before releasing the reset button), and it still doesn’t work… I’m still getting the same issues as before.
This isn’t dependent on the number of connected wifi clients. It would be because of the MTU settings of the wifi interface of Turris. Can you post the output of ifconfig? I think the MTUs should be printed there…
Thanks for testing this, odd! So “ping www.reddit.com -f -l 1400” directly from the PC works as expected? What is the largest -l number you get valid ICMP responses?
Do you see this to all ping targets? What if you reboot the router and ping your ISP’s DNS servers to deduce the MTU? Still the same issue
I can’t set anything for this interface, and I can’t delete it either. According to ifconfig it’s the only interface with an MTU of 1280. What is this interface and how do I edit it?
Same, DHCPv6 automatic configuration. I’ve fixed the issue. I used the command ifconfig <Interface_name> mtu <mtu_size> up and set that interface to 1500. Now my PC and Xbox no longer complain about MTU. It’s weird I had to do it this way, or that a factory reset didn’t fix this, but yeah. Thanks for your help in finding it! Without you I wouldn’t have noticed the ifconfig output, so thanks a ton.