Loading...

0x00

一般在macvlan模式下同网段的其他机器可以和容器互通,但宿主不能和容器互通,这是在macvlan模式设计的时候为了安全而禁止了宿主机和容器直接通信。

如果想要实现互通,有个曲线救国的方法,就是macvlan与macvlan之间可以互通,只需要在宿主机再创建一个macvlan网络,然后修改路由,让数据经过这个macvlan达到互通的目的。

0x01

假设现有网段为192.168.1.0/24的网络:

名字 ip 接口
宿主机 192.168.1.10 eth0
容器 192.168.1.20 macvlan

建立一个名为macvlan2macvlan接口,并分配一个ip:

名字 ip 接口
macvlan2 192.168.1.15 macvlan

命令:

ip link add macvlan2 link eth0 type macvlan mode bridge ip addr add 192.168.1.15 dev macvlan2 ip link set macvlan2 up

修改路由,让宿主机到容器(192.168.1.20)的数据经过macvlan2:

ip route add 192.168.1.20 dev macvlan2

0x02

宿主机 访问 容器的ip:192.168.1.20

容器 访问 宿主机ip:192.168.1.15

Last modification:September 8, 2020
如果觉得我的文章对你有用,请随意赞赏