簡體   English   中英

如何從在 Windows 上運行的 Docker 容器中 arping LAN 端點?

[英]How to arping a LAN endpoint from within a Docker container running on Windows?

我正在使用 WSL2 運行 Windows 10 並安裝了 Docker。 我創建了一個 Docker 容器,並且從該容器中可以 ping 和 ssh 到與 Windows 主機位於同一物理 LAN 上的主機,但是 arping 只是表面上平淡無奇。

在 Windows 上從命令提示符啟動容器的示例:

user@HOST C:\Users\user>wsl --list --verbose
* Ubuntu                 Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
user@HOST C:\Users\user>bash
user@host:~$ sudo docker run -it --rm alpine:3.12.0
/ # ping -c1 -w1 192.168.32.21
PING 192.168.32.21 (192.168.32.21): 56 data bytes
64 bytes from 192.168.32.21: seq=0 ttl=37 time=1.588 ms

--- 192.168.32.21 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 1.588/1.588/1.588 ms
/ # arping -c1 -w1 192.168.32.21
ARPING 192.168.32.21 from 172.17.0.4 eth0
Sent 1 probe(s) (0 broadcast(s))
Received 0 response(s) (0 request(s), 0 broadcast(s))

我嘗試使用 default.network 和 '-.net=host' 運行容器; 同樣的結果。

上例中的“-c1 -w1”選項是為了簡潔起見。 刪除它們會導致 arping 超時。

任何建議/意見將不勝感激。 我真的需要讓 arping 從容器內工作。

所以通常 ARP 只在客戶端連接到的本地 LAN 網段上工作,它不會遍歷任何數據包路由器。

查看您到達那里的 output,您正在嘗試從 172.17.0.4 到 192.168.32.21 的 go,這將在不同的 su.net 上,因此 ARP 將不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM