【发布时间】:2019-11-15 22:59:39
【问题描述】:
我有一个使用以下命令创建的 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
此外,我还使用 virtualbox 提供程序创建了一个带有桥接网络接口的虚拟机。
如果我使用 ping 命令: - docker 容器 -> vm ubuntu(vm 的 ip:192.168.1.200):ping 有效
但是如果我使用 ping 命令: - 码头集装箱 -> 网关 192.168.1.1 要么 - docker 容器 -> 外部世界 (google.com):ping 不起作用
建议?
编辑 1:
如果我在 docker 主机上运行 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 是我的 docker 容器,而 216.58.205.142 应该是 google ip 地址。没有收到回显回复。
【问题讨论】:
-
试试
ip link set wlp2s0 promisc on,确保你的内核是v3.9–3.19 and 4.0+ -
感谢您的回复。我试过但不幸的是它不起作用。