Добрый день. Да я знаю что тема избитая, но ни как не могу найти ответ.
Тут озвучивают идентичную проблему
Опишу вопрос: Я пытаюсь изменить mtu для docker сети. Вот что имею сейчас
NETWORK ID NAME DRIVER SCOPE
cd2d01a8acc6 bridge bridge local
dd8c6a9f4517 docker_gwbridge bridge local
3e35ba2e2099 host host local
0cc1f316585d none null local
d1ce1ec9acbb weave weavemesh local
brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242fcaba1fc no
docker_gwbridge 8000.0242521e3da7 no veth07f48e9
veth1652ce1
veth1893f80
weave 8000.da8c4dfe6225 no vethwe-bridge
vethwl068b34874
vethwl0d2d738d7
Три варианта как я пробую изменить mtu
1.Вар
/etc/docker/daemon.json
{
"mtu": 1400
}
2.Вар
systemd docker
--mtu=1400
Так как у меня не исп docker0 (он даже в состоянии DOWN) патаюсь поменять конкретно для docker_gwbridge
3.Вар - самый малопредпочтительный для меня.
docker network create -d bridge \
--subnet 172.18.0.0/16 \
--opt com.docker.network.bridge.name=docker_gwbridge \
--opt com.docker.network.bridge.enable_icc=false \
--opt com.docker.network.bridge.enable_ip_masquerade=true \
--opt com.docker.network.driver.mtu=1400 \
docker_gwbridge
Проверяю (рестартанул докер, перезагрузил ПК, создал сервер с нуля, повторил тест на родной ubuntu. Результат один и тот же) но mtu остаётся 1500.
13: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
23: docker_gwbridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
inet 172.18.0.1/16 brd 172.18.255.255 scope global docker_gwbridge
Правда при 3.Вар вижу 1400 в inspect
docker network inspect docker_gwbridge | grep mtu
"com.docker.network.driver.mtu": "1400"
Но интеррфейс то 1500!
И это не поведение конкретной сборки, ядра, версии. Тут какая то иная логика. И понять какая не могу.
Подскажите пожалуйста. Буду рад ссылке, ману, комменту, да хоть пинку в нужную сторону.
Спасибо.