Рейтинг:1

ARP не работает в докер-контейнере

флаг es

У меня возникла проблема с запросом/ответом ARP от контейнера ubuntu с платформой Windows в качестве узла докера.

Эксперимент проводится с очень простой установкой.

Следующий сетевой режим доступен как часть установки рабочего стола Docker в Windows.

D:\Docker\ubuntu> сеть докеров ls
ИДЕНТИФИКАТОР СЕТИ НАЗВАНИЕ ДРАЙВЕР ОБЛАСТЬ ПРИМЕНЕНИЯ
8375175c22dc мост местный мост
1b9942f6e958 хост хост локальный
f15c87f3e568 нет нулевой локальный

Извлеките последний образ Ubuntu (FROM ubuntu: последний) и запустите его, используя докер запустить команда

D:\Docker\ubuntu> docker run -i -t dockertest /bin/bash

root@4895113a218d:~#

Контейнер ubuntu работает в режиме мостовой сети и может видеть следующий интерфейс, доступный в контейнере.

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        инет 172.17.0.2 сетевая маска 255.255.0.0 широковещательная рассылка 172.17.255.255
        эфир 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
        RX-пакеты 4129 байт 5898871 (5,8 МБ)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 1674 байта 95577 (95,5 КБ)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
        инет 127.0.0.1 сетевая маска 255.0.0.0
        loop txqueuelen 1000 (локальная петля)
        Пакеты RX 0 байт 0 (0,0 Б)
        Ошибки RX 0 отброшено 0 переполнение 0 кадр 0
        Пакеты TX 0 байт 0 (0,0 Б)
        Ошибки передачи 0 отброшено 0 превышение пропускной способности 0 несущей 0 коллизий 0
    

Затем я установил nmap в контейнере Ubuntu и попытался отправить запрос ARP на один из узлов в локальной сети с помощью команды nping. Но от этого конкретного узла (192.168.10.207) нет ответа даже через его доступный из хоста Windows.

root@1fdc2acb5928:~# nping --arp-тип ARP 192.168.10.207

Начиная с Nping 0.7.80 ( https://nmap.org/nping ) 21 марта 2022 г., 12:39 UTC.
SENT (0.0770s) ARP у кого 192.168.10.207? Скажите 172.17.0.2
SENT (1.0774s) ARP у кого 192.168.10.207? Скажите 172.17.0.2
SENT (2.0789s) ARP у кого 192.168.10.207? Скажите 172.17.0.2
SENT (3.0803s) ARP у кого 192.168.10.207? Скажите 172.17.0.2
SENT (4.0819s) ARP у кого 192.168.10.207? Скажите 172.17.0.2

Макс. ртт: Н/Д | Мин. время: N/A | Среднее время ожидания: нет данных
Отправлено необработанных пакетов: 5 (210 байт) | Rcvd: 0 (0B) | Проиграно: 5 (100,00%)
Nping выполнен: 1 IP-адрес пропингован за 5,16 секунды

В качестве альтернативы я попробовал команду ping, и она работает абсолютно нормально. Может быть его протокол уровня 3.

root@1fdc2acb5928:~# пинг 192.168.10.207

PING 192.168.10.207 (192.168.10.207) 56 (84) байт данных.
64 байта от 192.168.10.207: icmp_seq=1 ttl=37 время=8,00 мс
64 байта от 192.168.10.207: icmp_seq=2 ttl=37 время=5,79 мс
64 байта от 192.168.10.207: icmp_seq=3 ttl=37 время=5,97 мс

Конфигурация системы

  • Докер-хост: Windows 10
  • Образ докера: ubuntu: последний
  • Приложение, используемое для проверки ARP: nping (устанавливается через пакет nmap)

Почему ARP не работает в док-контейнере Ubuntu с сетевым режимом, выбранным в качестве моста? Есть ли проблемы с протоколами уровня 2 в режиме мостовой сети?

Может ли кто-нибудь помочь мне решить эту проблему?

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

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