【问题标题】:Docker network macvlan driver: gateway unreachableDocker网络macvlan驱动:网关不可达
【发布时间】: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+
  • 感谢您的回复。我试过但不幸的是它不起作用。

标签: docker macvlan


【解决方案1】:

Macvlan 不太可能与 IEEE 802.11 一起使用。

您的 wifi 接入点和/或您的主机网络堆栈不会感到兴奋。

您可能想尝试使用 ipvlan:将 -o ipvlan_mode=l2 添加到您的网络创建调用中,看看是否有帮助。

这很可能仍然行不通...(例如,如果您依赖 DHCP 而您的 DHCP 服务器使用 macaddresses 而不是客户端 ID)

而您唯一(合理)的解决方案可能是完全放弃 wifi 并连接设备...(或远离 macvlan 并使用主机/网桥 - 以最方便的为准)

【讨论】:

猜你喜欢
  • 2017-10-31
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-18
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多