前言:
大家都知道,Linux上的docker的容器使用macvlan的网络追导致与宿主机Host无法通讯的问题,这个也是macvlan设计之初就有的,
所以我们需要创建一个虚拟网卡,通过桥接来让macvlan的容器与宿主机通讯。
教程
本教程,不适合群晖用户,主要因为群晖系统中没有nmcli命令,暂时也没有安装方法,其他Linux系统可以通过源看装此命令。
nmcli con add con-name macvlan-router type macvlan ifname macvlan-router dev br0 mode bridge
命令中的macvlan-router,是虚拟网卡的名字 可以自行修改,br0 是创建的网卡的父接口,也就是他和谁绑定,这里绑定的是系统的主要网卡,我这里使用的是网桥所以绑定网桥,如果你没有可以使用命令ifconfig查看系统使用的网卡,其他保持不变。
nmcli con mod macvlan-router +ipv4.routes "192.168.1.3/28"
此条命令是在上一条命令中创建的网卡中分配一个IP地址,此条命令可以不输入,不输入的时候网卡会通过DHCP 自动分发ip地址。
到此,docker macvlan不能通讯的问题就解决了,这时候我们可以使用ping命令在宿主机内ping容器的IP 看看有没有反馈通讯即可。
结尾
到此,本教程就结束了,群晖用户可以看本站其他教程,很早以前也出过如何解决群晖macvlan不能通讯的问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
请登录后查看评论内容