找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1854|回复: 5

[虚拟机相关] unraid docker容器用br0(macvlan)网络问题

[复制链接]
本帖最后由 clion007 于 2023-5-31 01:40 编辑

1、背景情况:主机有两个单口网卡,一个网口直通给了软路由作为路由器的wan口,另一个是虚拟br0给了软路由的lan口,软路由是通过虚拟机安装部署的,unraid的管理口和软路由lan口共用br0,unraid网络管理里面eth0绑定了br0网桥(尝试过不绑定虚拟机用不了),然后尝试了添加其他虚拟机,是可以通过br0虚拟网卡分配更多的网卡地址,并能正常获取路由器分配的IP。

2、问题描述:最近在unraid 的docker下尝试部署Nginx等Web环境,由于unraid本身GUI已经占用了80端口,因此,有必要给Nginx指定另外一个与宿主机同网段的IP地址,因此考虑使用docker下macvlan虚拟br0网卡的方式,为Nginx指定分配IP,docker高级设置中进行了如下设置,并自动生成与宿主机同网段的br0自定义网络配置。创建好Nginx容器后能启动,检测docker的网络,网关和IP都没问题,docker容器与宿主机及路由器都能互ping通,但是奇怪的是路由器的路由表里面获取不到Nginx容器的网卡地址及IP信息,另外,路由器下面的其他主机(电脑、手机等都试过)无法ping通Nginx容器,也无法访问web服务器。


3、更多测试情况:经过测试,发现Nginx容器里面是可以ping通路由器下的其他电脑等主机的,并且在nginx容器下ping通外部主机后,外部主机就能正常访问web服务器了,也能ping通nginx容器,路由器手动ping通nginx容器或者容器ping通路由器后,路由器的ARP路由表里面就会显示nginx容器的虚拟网卡地址及IP地址信息,这些信息和连通的状态会在docker重启后消失。并且很奇怪的是,在有ping通任何一台外部主机后,在外部主机访问web服务器或者连续ping连接的状态下,其他未被容器ping通过的终端设备就能访问web服务器或者ping通nginx容器IP了。另外,还进行了很多尝试,包括手动创建macvlan虚拟网卡指定parent为eth0、eth0的子接口如eth0.1、br0或者虚拟子接口br0.1等(unraid默认生成的macvlan的父接口是br0),或者用ipvlan等方式都试过,情况都一样无法正确访问。

4、由于对docker虚拟网卡的了解有限,查了很多资料未能找到解决的方法,不知道是不是因为unraid的br0同时虚拟给了软路由的lan口,导致再虚拟给docker就会有问题(虚拟给其他虚拟机不会有问题,不知道什么原因)?请教各位大神,在不增加网卡硬件接口的情况下,是否有能让同一个br0再虚拟给docker直接分配路由器同网段IP的方法?感谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
补充说明:只要在容器里面ping外网,比如ping baidu.com,ping通后,局域网的所有设备就能访问到容器的IP了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
始终不知道原因,哪位大神指导一下,谢谢,现在只知道macvlan网络的容器启动后不会主动发送与获取ARP报文信息,导致宿主机等外部系统,不知道它的存在,因此无法访问,只有它主动访问外部网络后,外部主机才能知道它的存在。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
尝试了各种办法都解决不了,最终改成了自定义bridge,指定网关和IP后,在路由器进行静态路由转发能访问了,只是始终没法用macvlan
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

我最近也想做类似的尝试,但主要是想让部分docker走旁路由,其他的跟随宿主走主路由,看到了这个文章也许可以参考https://www.cvps.top/10580.html

点评

各种测试都不行,没办法,又不想再加个网口,后来走了vlan网络,然后在路由器上设置了个静态路由映射解决了,你可以参考一下,我怀疑是我的宿主网口同时又是外网的拨号口,本身已经是复用了,可能没法再用到这里了  详情 回复 发表于 2023-10-19 22:15
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
cyuking 发表于 2023-9-26 20:14
我最近也想做类似的尝试,但主要是想让部分docker走旁路由,其他的跟随宿主走主路由,看到了这个文章也许可 ...

各种测试都不行,没办法,又不想再加个网口,后来走了vlan网络,然后在路由器上设置了个静态路由映射解决了,你可以参考一下,我怀疑是我的宿主网口同时又是外网的拨号口,本身已经是复用了,可能没法再用到这里了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-28 21:40

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表