Рейтинг:7

Не удается получить обновление из моего док-контейнера, если он подключен к мостовой сети

флаг gr

Я пытаюсь понять, почему я не могу бежать apt-получить обновление из моих док-контейнеров либо дебиан: последний или же убунту: последняя.

  • я способен на пинг 8.8.8.8 или другой адрес внутри контейнера
  • я способен на пропинговать google.com или другие домены внутри контейнера
  • apt-получить обновление работает, если я запускаю контейнер с --сетевой хост
  • apt-получить обновление не работает, если контейнер подключен к дефолтному мост сети или любой другой определяемой пользователем сети с адаптером, настроенным на мост
  • Хост — это виртуальная машина, управляемая openstack.
  • На моем компьютере все работает как положено (не openstack, не виртуальный)

apt-получить обновление истечет время ожидания с:

root@66230c3e7572:/# удачное обновление
Err:1 http://deb.debian.org/debian buster InRelease                           
  Ошибка подключения [IP: 199.232.138.132 80]
Err:2 http://security.debian.org/debian-security buster/updates InRelease
  Ошибка подключения [IP: 151.101.194.132 80]
Err:3 http://deb.debian.org/debian buster-updates InRelease              
  Ошибка подключения [IP: 199.232.138.132 80]
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение информации о состоянии... Готово
Все пакеты обновлены.
W: Не удалось получить http://deb.debian.org/debian/dists/buster/InRelease Ошибка подключения [IP: 199.232.138.132 80]
W: Не удалось получить http://security.debian.org/debian-security/dists/buster/updates/InRelease Ошибка подключения [IP: 151.101.194.132 80]
W: Не удалось загрузить http://deb.debian.org/debian/dists/buster-updates/InRelease Ошибка подключения [IP: 199.232.138.132 80]
W: Не удалось загрузить некоторые индексные файлы. Их игнорировали или вместо них использовали старые.

Я хотел бы узнать, почему apt-получить обновление не работает, пока я подключен к любому мост сети на виртуальной машине. Поэтому любые подсказки о том, как отладить эту проблему, очень ценятся.

Michael Hampton avatar
флаг cz
Ты делал это вчера утром? Попробуйте еще раз сегодня. Похоже, это связано с отказом Fastly.
флаг gr
Быстро не было проблемой, то же самое поведение сохраняется до сих пор. Я заметил еще кое-что: Хотя я могу запустить «wget google.com» и получить «index.html», я не могу, например, «wget https://file-examples-com.github.io/uploads/2018/04/file_example_AVI_1920_2_3MG.avi». .
Рейтинг:4
флаг gr

Через несколько часов я смог решить проблему

MTU мостовой сети докера должен соответствовать MTU сетевого адаптера хоста.

В моем случае MTU eth0 (хост) был установлен на 1450, а MTU docker0 — на 1500.

Вы можете изменить MTU либо

В случае, если у вас нет /etc/докер/daemon.json просто создайте один:

# /etc/docker/daemon.json
# настроить MTU в соответствии с сетевым адаптером хоста

{
    "мту": 1450
}

Не забудьте перезапустить docker.service: systemctl перезапустить docker.service

Более подробная информация:

Если вы не хотите проверять настройки, используйте IP и сравните значение mtu

$ ip а

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> **mtu 1450** qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ...
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> **mtu 1500** qdisc noqueue state DOWN group default 
    ...

Обратите внимание, что docker0 всегда указывает 1500 и меняет его значение, только если контейнер подключен к этой сети.

$ ip а
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ...
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UP group default 
    ...
17: vethe4b452f@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master docker0 state UP group default 
    ...

Пользовательская сеть

Я также попытался просто создать пользовательскую сеть с определенным МТУ вместо того, чтобы установить МТУ с помощью /etc/докер/daemon.json. Это не сработало, и я не знаю, почему

создание сети докеров --opt com.docker.network.mtu=1450 CustomMTU

флаг iq
О БОЖЕ, спасибо за это ... Я очень устал от этих случайных сбоев. Кстати, я думаю, что почти у всех с WireGuard VPN будет эта проблема, так что да, если вы читаете это и используете WG VPN, просто проверьте, правильно ли вы это настроили.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.