Драйвер macvlan для сети Docker: шлюз недоступен

У меня есть сеть macvlan, созданная с помощью следующей команды:

docker network create -d macvlan --subnet=192.168.1.0/24  --gateway=192.168.1.2  -o parent=wlp2s0 pub_ne 

Где wlp2s0 — это имя беспроводного интерфейса моего ноутбука. шлюз 192.168.1.1 и подсеть 192.168.1.0/24

Затем я создал и прикрепил контейнер к этой сети:

docker run --rm -itd  --network pub_ne  --name myAlpine alpine:latest  sh

Кроме того, я создал виртуальную машину, используя провайдера виртуального бокса, с мостовым сетевым интерфейсом.

если я использую команду ping: - docker container -> vm ubuntu (ip vm: 192.168.1.200): ping работает

но если я использую команду ping: - док-контейнер -> шлюз 192.168.1.1 или - Docker-контейнер -> внешний мир (google.com): ping не работает

предложения?

редактировать 1:

На хосте докера, если я запускаю tcpdump (tcpdump -i icmp), я вижу:

    14:53:30.015822 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 29, length 64
14:53:31.016143 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 30, length 64
14:53:32.016426 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 31, length 64
14:53:33.016722 IP 192.168.1.56 > 216.58.205.142: ICMP echo request, id 5376, seq 32, length 64

Где 192.168.1.56 — мой док-контейнер, а 216.58.205.142 — IP-адрес Google. Эхо-ответ не получен.

Попробуйте ip link set wlp2s0 promisc on и убедитесь, что ваше ядро ​​v3.9–3.19 and 4.0+

menya 05.07.2019 14:38

Спасибо за ответ. Я пытался, но, к сожалению, это не работает.

MarVar 05.07.2019 14:57
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
2
1 110
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Macvlan вряд ли будет работать с IEEE 802.11.

Ваша точка доступа Wi-Fi и/или стек вашей хост-сети не будут в восторге.

Вместо этого вы можете попробовать ipvlan: добавьте -o ipvlan_mode=l2 к вызову создания сети и посмотрите, поможет ли это.

Это вполне может не сработать... (например, если вы полагаетесь на DHCP, а ваш DHCP-сервер использует MAC-адреса, а не идентификатор клиента)

И ваше единственное (разумное) решение может состоять в том, чтобы полностью отключить Wi-Fi и вместо этого подключить устройство... (или отойти от macvlan и использовать хост / мост - в зависимости от того, что наиболее удобно)

Если вы все еще хотите попробовать включить ipvlan в своем сценарии, поищите здесь несколько советов: hicu.be/macvlan-vs-ipvlan

Mangled Deutz 07.07.2019 02:42

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