Драйвер macvlan для Docker-сети: шлюз недоступен - PullRequest
0 голосов
/ 05 июля 2019

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

<code>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

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

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

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

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

но если я использую команду ping: - докер контейнер -> шлюз 192.168.1.1 или же - контейнер докеров -> внешний мир (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. Эхо-ответ не получен.

1 Ответ

1 голос
/ 07 июля 2019

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

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

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

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

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

...