Changing your home MTU value incorrectly will break Docker Bridge

9 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hello, I'm Munou.

For some reason, I couldn't reach the server machine's address in my home Docker environment. While I was wondering why, it turned out that changing the MTU value on the router side was the cause. Even when I used curl, I got a 200 OK, but when I actually opened it in a browser, it stopped halfway like in the image and stayed on the loading screen forever, which was a bit of a problem.

image.png

When I tried to remember if I had changed anything recently, I recalled changing the MTU value on the router side. Reverting everything back to 1500 fixed it.

This was because I had lowered it a bit more—almost like a "good luck charm" based on a Reddit source suggesting that in Starlink environments, it's generally better to change the MTU value to 1472 since WireGuard lowers it slightly—and that was the cause. Since it worked when I set network: host in compose.yml to use the host machine's network, I thought it might be caused by the Docker Bridge, but it was just related.

$ ip link show | grep -E "br-|docker" 
5: br-13aad139d7db: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
6: br-2dc434eeb46d: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
7: br-45fa093100aa: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
8: br-46e6bb59b194: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
9: br-5267070e10e9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
10: br-645605dcd9b3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
11: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
12: br-2c8c384b95cd: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
13: br-5819ab3dabfb: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
14: br-632b4dfffca7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
15: br-9243101a1b11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
16: br-2612402b7376: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
17: br-91f1adfffccc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
18: br-ce4a3c384d09: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
19: br-f3c4b8d6015b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
20: veth7edbc95@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-9243101a1b11 state UP mode DEFAULT group default 
21: vethf27ed21@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-f3c4b8d6015b state UP mode DEFAULT group default 
23: veth64aeed9@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-f3c4b8d6015b state UP mode DEFAULT group default 
24: vethf09e0cb@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-13aad139d7db state UP mode DEFAULT group default 
25: vethe7f07de@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-632b4dfffca7 state UP mode DEFAULT group default 
26: veth83acc53@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-f3c4b8d6015b state UP mode DEFAULT group default 
27: veth817b530@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-45fa093100aa state UP mode DEFAULT group default 
28: vethd9335e3@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-91f1adfffccc state UP mode DEFAULT group default 
29: vethfe66e15@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-645605dcd9b3 state UP mode DEFAULT group default 
30: veth2efd851@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-632b4dfffca7 state UP mode DEFAULT group default
31: vethcbaaf36@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-2612402b7376 state UP mode DEFAULT group default 32: veth0c7b9fb@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-5267070e10e9 state UP mode DEFAULT group default 33: vethe8e234e@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-645605dcd9b3 state UP mode DEFAULT group default 34: vethe96b854@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-ce4a3c384d09 state UP mode DEFAULT group default 35: vethdcf00db@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-2c8c384b95cd state UP mode DEFAULT group default 37: veth299ef81@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-632b4dfffca7 state UP mode DEFAULT group default 79: vethb0a7d2f@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-5819ab3dabfb state UP mode DEFAULT group default 80: vethe41cd9c@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-5819ab3dabfb state UP mode DEFAULT group default 81: vethb409b05@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-5819ab3dabfb state UP mode DEFAULT group default 85: veth4621e98@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-46e6bb59b194 state UP mode DEFAULT group default

Sure enough, looking at it, they are all set to MTU 1500.

In the end, since a Docker Bridge is a virtual NIC, I realize now that of course I should have changed the MTU value in the same way, but I wasn't really thinking about it and completely overlooked it.

So, I'll change all the MTU values back to 1500 and keep an eye on things for a while.

Related Posts