У меня есть сеть 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. Эхо-ответ не получен.
Спасибо за ответ. Я пытался, но, к сожалению, это не работает.
Macvlan вряд ли будет работать с IEEE 802.11.
Ваша точка доступа Wi-Fi и/или стек вашей хост-сети не будут в восторге.
Вместо этого вы можете попробовать ipvlan: добавьте -o ipvlan_mode=l2
к вызову создания сети и посмотрите, поможет ли это.
Это вполне может не сработать... (например, если вы полагаетесь на DHCP, а ваш DHCP-сервер использует MAC-адреса, а не идентификатор клиента)
И ваше единственное (разумное) решение может состоять в том, чтобы полностью отключить Wi-Fi и вместо этого подключить устройство... (или отойти от macvlan и использовать хост / мост - в зависимости от того, что наиболее удобно)
Если вы все еще хотите попробовать включить ipvlan в своем сценарии, поищите здесь несколько советов: hicu.be/macvlan-vs-ipvlan
Попробуйте
ip link set wlp2s0 promisc on
и убедитесь, что ваше ядро v3.9–3.19 and 4.0+