Докер отменяет мою конфигурацию маршрута по умолчанию

Новичок здесь, начиная с докера в Orange Pi 3 (клон Rasberry Pi).

Я пытаюсь настроить и запустить контейнер для докеров (bitwarden_rs), но когда я это сделаю, я потерял соединение с внешней сетью. Докер испортил мою таблицу маршрутов.

Конфигурация сети: у меня есть мост br0, который соединяет eth0 и wlan0. (Eth0 подключается к роутеру, wlan0 настроен в режиме AP)

Таблица при остановке контейнера:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    425    0        0 br0  <---OK
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 br0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     425    0        0 br0
192.168.2.0     0.0.0.0         255.255.255.0   U     425    0        0 br0

Таблица при запущенном контейнере (нет доступа к интернету снаружи)

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         0.0.0.0         0.0.0.0         U     205    0        0 docker0 <---NOT OK
default         _gateway        0.0.0.0         UG    425    0        0 br0
link-local      0.0.0.0         255.255.0.0     U     205    0        0 docker0
link-local      0.0.0.0         255.255.0.0     U     230    0        0 vethed140ce
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 br0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     425    0        0 br0
192.168.2.0     0.0.0.0         255.255.255.0   U     425    0        0 br0

Что я могу сделать, чтобы это исправить? Это проблема с конфигурацией докера или, может быть, проблема с моей системой (armbian). Спасибо

3 ответа

В Ubuntu 20.04 я пробовал много методов, таких как запретить dhcpd обновлять маршрут или изменить конфигурацию NetworkManager, чтобы позволить сетевому администратору игнорировать * устройство . Ни один из вышеперечисленных способов не работает.

Я потратил много времени и обнаружил, что служба connman меняет маршрут по умолчанию, измените его файл конфигурации /etc/connman/main.conf, раскомментируйте следующую строку

      #NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,veth-,vb-

а также

      systemctl restart connman

перезапустить службу connman. Проблема решилась в конце концов.

Ответить с"bip": "172.200.0.1/16"неверно, подсеть 172.200.0.1/16 не локальная, это дикий интернет. См. любую службу whois, например https://browserleaks.com/ip/172.200.0.1 .

Это потому, что, как вы можете видеть, docker создает мост Linux с именем docker0. Вы можете изменить настройки по умолчанию для моста докеров, чтобы решить эту проблему. Настройте мостовую сеть по умолчанию, указав параметр bip вместе с нужной подсетью в файле daemon.json.

# vi /etc/docker/daemon.json
{
  "bip": "172.200.0.1/16"
}

и перезапустите службу.

 systemctl restart docker

Подробнее ЗДЕСЬ и ЗДЕСЬ

Другие вопросы по тегам