我的 Linux 主机上有几台 vitualbox 机器和一台 docker 机器。Docker 创建了默认网络接口 docker0,其 ip=172.17.0.1/16。要将 vbox 机器连接到 docker 机器,我在 VM 配置页面上选择了“附加到:桥接适配器,名称:docker0”类型,并为每个 VM 分配了静态 ip (172.17.0.x)。这很好用,但是……但我想嗅探 VM 之间的流量。因此,我将 wireshark 连接到 docker0 接口,我可以嗅探任何 VM 和 docker 容器之间的流量,但我无法嗅探 vbox 主机之间的流量。
因此我决定为每个主机创建一个不同的网络。我使用以下命令向 docker0 接口添加了其他 ip:
ip addr add 10.0.0.1/24 dev docker0
ip addr add 10.0.1.1/24 dev docker0
ip addr add 10.0.2.1/24 dev docker0
等等。并为每个虚拟机配置:ipaddr = 10.0.(0,1,2).100/24 gw: 10.0.(0,1,2).1,每台机器都可以 ping 通 docker 容器,但无法相互 ping 通。所以我猜想同一接口上的“网络”之间不存在路由。
如何启用虚拟机之间的网络连接?