После установки docker в Ubuntu 18.04 я не смог подключиться к очень специфической сети! У нас есть имя пользователя и пароль для входа в университетскую сеть, проблема в том, что я больше не могу войти. VPN-подключение, которое я использую, это к серверу:доступ1.sharif.ir
Я знаю, что есть похожая проблема:
Установка docker-ce в Ubuntu 18.04 нарушает подключение хоста к интернету
но у меня нетдемон.jsonв моей папке docker и я не знаю что делать. Пожалуйста помогите!
решение1
Вы можете попробовать выполнить следующую команду:
dhclient -v -4
Мне это помогло, когда из-за Docker на моем компьютере пропало соединение.
решение2
Примечание: Это решение протестировано на нескольких компьютерах.Технологический университет имени Шарифана ноутбуках с Ubuntu и Arch.
У меня была точно такая же проблема с точно такой же сетью на manjaro (arch linux)
. Это потому, что docker использует 172.27.1.1
по умолчанию именно ту сеть, которая используется в Sharif University
network.
Я просто изменил маршрутизацию Docker по умолчанию, как описано на форуме Docker.здесь. Чтобы объяснить подробнее, откройте (или создайте) файл /etc/docker/daemon.json
:
sudo nano /etc/docker/daemon.json
затем добавьте этот JSON, чтобы исправить проблему (обратите внимание, что вы должны использовать что-то, что не используется в вашем учреждении или компании):
{
"bip" : "10.10.2.1/24",
"ipv6": false
}
После этого перезагрузите систему и все готово. Вы также можете проверить, чтобы увидеть ваш интерфейс docker, используя команду ifconfig
или .ifconfig docker0
решение3
У меня та же проблема в Debian 10. Запуск dhclient
не исправляет ее, так как он только берет новую аренду IP от DHCP-сервера. Проблема в том, что запуск любого контейнера docker добавляет новый маршрут по умолчанию через интерфейс docker на хост-сайте:
(base) mkawka@smok:~$ ip route
default dev vethe8e28b3 scope link
default via 192.168.5.1 dev wlp2s0
default dev enp3s0 scope link metric 1002 linkdown
10.99.0.0/16 dev docker0 proto kernel scope link src 10.99.0.1
169.254.0.0/16 dev enp3s0 proto kernel scope link src 169.254.10.179 linkdown
169.254.0.0/16 dev vethe8e28b3 proto kernel scope link src 169.254.53.97
192.168.5.0/24 dev wlp2s0 proto kernel scope link src 192.168.5.4
Редактировать: Хорошо, решение для Debian — запретить Connman играть с сетевыми интерфейсами docker. Чтобы сделать это, отредактируйте файл /etc/connman/main.conf
и убедитесь, что следующая строка раскомментирована:
NetworkInterfaceBlacklist = vmnet,vboxnet,virbr,ifb,ve-,vb-,docker,veth
Полагаю, что для других дистрибутивов NetworkManager может иметь похожую опцию.