Mă confrunt cu o solicitare/răspuns ARP din containerul ubuntu cu platforma Windows ca gazdă docker.
Experimentarea se realizează cu o configurație foarte simplă.
Următorul mod de rețea este disponibil ca parte a instalării desktop docker în Windows.
D:\Docker\ubuntu>docker network ls
ID REȚEA NUMELE ȘOFER DOMENIUL DE APLICARE
8375175c22dc pod pod local
1b9942f6e958 gazdă gazdă locală
f15c87f3e568 nici unul null local
Trageți cea mai recentă imagine ubuntu (DIN ubuntu:latest) și începeți să o utilizați docker run comanda
D:\Docker\ubuntu>docker run -i -t dockertest /bin/bash
root@4895113a218d:~#
Containerul ubuntu rulează în modul de rețea bridge și ar putea vedea următoarea interfață disponibilă în container
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.2 netmask 255.255.0.0 difuzare 172.17.255.255
ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet)
Pachete RX 4129 octeți 5898871 (5,8 MB)
Erori RX 0 a scăzut 0 depășiri 0 cadru 0
Pachete TX 1674 octeți 95577 (95,5 KB)
Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Loopback local)
Pachete RX 0 octeți 0 (0,0 B)
Erori RX 0 a scăzut 0 depășiri 0 cadru 0
Pachete TX 0 octeți 0 (0,0 B)
Erori TX 0 a scăzut 0 depășiri 0 purtător 0 coliziuni 0
Apoi am instalat nmap în containerul ubuntu și am încercat să trimit cerere ARP la unul dintre nodurile din rețeaua locală folosind comanda nping. Dar, nu există niciun răspuns de la acel nod anume (192.168.10.207) chiar și prin accesul său din gazda Windows.
root@1fdc2acb5928:~# nping --arp-type ARP 192.168.10.207
Pornește Nping 0.7.80 ( https://nmap.org/nping ) la 2022-03-21 12:39 UTC
SENT (0.0770s) ARP care are 192.168.10.207? Spune 172.17.0.2
SENT (1.0774s) ARP care are 192.168.10.207? Spune 172.17.0.2
SENT (2.0789s) ARP care are 192.168.10.207? Spune 172.17.0.2
SENT (3.0803s) ARP care are 192.168.10.207? Spune 172.17.0.2
SENT (4.0819s) ARP care are 192.168.10.207? Spune 172.17.0.2
Rtt maxim: N/A | Min rtt: N/A | Rtt mediu: N/A
Pachete brute trimise: 5 (210B) | Rcvd: 0 (0B) | Pierdute: 5 (100,00%)
Nping terminat: 1 adresă IP ping în 5,16 secunde
Alternativ, am încercat cu comanda ping și funcționează absolut bine. Poate fi protocolul său de nivel 3.
root@1fdc2acb5928:~# ping 192.168.10.207
PING 192.168.10.207 (192.168.10.207) 56(84) octeți de date.
64 de octeți de la 192.168.10.207: icmp_seq=1 ttl=37 timp=8,00 ms
64 de octeți de la 192.168.10.207: icmp_seq=2 ttl=37 timp=5,79 ms
64 de octeți de la 192.168.10.207: icmp_seq=3 ttl=37 timp=5,97 ms
Configuratia sistemului
- Docker Gazdă: Windows 10
- Imagine Docker: ubuntu:latest
- Aplicație utilizată pentru verificarea ARP: nping (instalat prin pachetul nmap)
De ce ARP nu funcționează în containerul docker ubuntu cu modul de rețea selectat ca punte? Protocoalele Layer 2 au vreo problemă în modul de rețea bridge?
Ma poate ajuta cineva sa rezolv aceasta problema?