绿联云虚拟机桥接网络和宿主机不互通问题的解决方案
前因后果:
最近很多小伙伴反应绿联云新系统虚拟机的网络桥接会导致虚拟机和宿主机网络不互通,这一点对有需要在虚拟机挂载宿主机存储,或者访问宿主机服务的一些小伙伴来说就比较麻烦,本期教程就针对这个问题,给大家一个临时的完美解决方案,仅供参考。
申明:
目前的方案可以支持宿主机和虚拟机之前网络互通,虚拟机可以正常获取和宿主机同网段的ipv4内网地址和ipv6公网地址,宿主机的uglink,升级更新都可以正常使用。
PS:目前我个人暂时没遇到什么问题,但是也因我的使用场景比较简单,不确定是否会有什么我没发现的问题,请酌情考虑是否尝试。(恢复成原来的网络环境也很简单,这个放到教程的后半部分再说,即使是真把机器网络搞炸了,也有救援办法,尝试下也问题不大。)
先看下最终效果:
以unraid虚拟机为例,开机后可以获取NAS同网段ip。
和NAS的两个网口ip都可以互通。
经过多次的更新之后,绿联云新机器也慢慢走入正轨,开始稳定起来了,有需要的可以观望下近期优惠。
确认当前的网络模式:
到控制面板网络设置中,检查是否是独立网口模式或者是BR-LAN模式,而不是bond的网络模式,如果是,需要删除bond网络配置,恢复成独立网口状态。
如果已经是BR-LAN模式,即电脑连接NAS获取网络的情况,可以直接跳转到虚拟机桥接网络配置步骤进行查看下一步的操作,如果是独立网口模式则继续往下看。
修改网络配置(BR-LAN无需操作此步):
我们到ssh root用户下进行接下来的操作,不知道怎么进入ssh的话,点击控制面板>终端机,勾选SSH后的启动,点击应用。
使用终端连接工具比如finalshell或者使用windows自带的命令提示符,直接在windows搜索框或者win+s键输入cmd,找到命令提示符点击打开。
在命令行中输入以下内容后回车(koryking替换成nas管理员账户名,192.168.66.27替换成你nas的ip),第一次登陆会要求输入下yes,在password后输入nas管理员账户的登录密码,这里不会有显示,直接盲输后回车,即可进入ssh后台,但是目前还不是root账户,我们继续操作。
在命令行继续输入以下命令,根据提示再盲输一次管理账户的密码,即可进入root用户。
进来后输入ifconfig命令查看eth0和eth1的mac地址,并记录下来(单网口机器只需要关注eth0)。
输入以下命令进入NAS网络配置目录并查看目录下的文件。
cd /etc/network/interfaces.d
ll
输入以下命令将ifcfg-eth0和ifcfg-eth1备份下(单网口机器只需要关注ifcfg-eth0)。
cp ifcfg-eth0 /root
cp ifcfg-eth1 /root
输入创建并编辑ifcfg-bridge0文件。
vi ifcfg-bridge0
在英文输入发环境下按下键盘i键进入编辑模式,将以下内容复制粘贴到里面,其中4c:12:g7:0d:11:f5替换成eth0的mac地址。
auto bridge0
iface bridge0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_hw 4c:12:g7:0d:11:f5
iface bridge0 inet6 dhcp
文件编辑完成后按下键盘ESC键退出编辑模式,依然在英文输入法环境下输入:wq,保存并退出文件。
以同样的方法创建并编辑ifcfg-bridge1文件(单网口机器忽略)。
vi ifcfg-bridge1
在英文输入法环境下按下键盘i键进入编辑模式,将以下内容复制粘贴到里面,其中4c:12:g7:0d:11:f6替换成eth1的mac地址。
auto bridge1
iface bridge1 inet dhcp
bridge_ports eth1
bridge_stp off
bridge_waitport 0
bridge_fd 0
bridge_hw 4c:12:g7:0d:11:f6
iface bridge1 inet6 dhcp
文件编辑完成后按下键盘ESC键退出编辑模式,依然在英文输入法环境下输入:wq,保存并退出文件。
为了和原来的配置文件权限保持一致,再执行下以下的命令,将新增的配置文件加一个执行权限。
chmod +x ifcfg-bridge*
删除多余已备份的配置文件,遇到提示时输入yes。
多检查几遍文件内容是否正确,确认无误后,输入以下命令并回车重启下机器,这里需要等待较长的时间,请耐心等待。
ps:机器lan灯重新变白未必代表网络好了,多等会。
ps2:如果等了非常久机器依然失联状态,说明配置文件很可能内容有问题,请跳转到紧急处理方式章节进行查看。
重启成功后,登录客户端(如果没有在路由器设置静态ip的话,可能ip会变,使用内网搜索方式登录或者到路由器查看当前机器ip)。
打开控制面板>网络设置>网络连接,可以看到两个br-lan网络就表示NAS网络已经准备好了。
如果这里打开有问题,或者出现一些奇怪的网络问题,建议在控制面板>网络设置>常规这里打开手动配置dns服务器,并填入以下内容后点击应用。
223.5.5.5
119.29.29.29
虚拟机桥接网络配置:
打开虚拟机应用,点击管理>网络。
点击添加网络。
输入网络名称,这里建议输入testbr0,映射物理网络选择br-lan1,直接点击确定。
再点击添加网络,同样的方式创建一个testbr1,映射物理网络选择br-lan2(单网口和原本就是br-lan的机器忽略)。
可以看到当前这里网络还是NAT模式,先不用管,我们后面操作完再来看下。
将已有的虚拟机先关机,点击设置,网络改成testbr0或者testbr1或者两者一起选都可以,修改完后点击应用。
虚拟机先别开机,我们继续回到SSH root用户下继续后续操作,依次执行以下命令进入虚拟机网络配置目录,查看并编辑testbr0网络配置文件。
cd /etc/libvirt/qemu/networks
ll
vi testbr0.xml
键盘英文环境下按下i进入编辑模式,将上图的红框里内容全部删掉,并替换成以下的内容。
按下键盘esc键退出编辑模式,英文环境下输入:wq保存并退出文件,以同样的方式编辑testbr1.xml文件,唯一不同的是替换内容一个是bridge0,一个是bridge1,大家要注意下(单网口或者原本br-lan的忽略)。
同样保存并退出文件后,依次执行以下命令,进行虚拟机网络重置。
testbr0网络重置。
virsh net-destroy testbr0
virsh net-define testbr0.xml
virsh net-start testbr0
testbr1网络重置。(单网口和原本br-lan的忽略)
virsh net-destroy testbr1
virsh net-define testbr1.xml
virsh net-start testbr1
现在回到客户端,虚拟机>网络中,可以看到testbr0和testbr1已经都是桥接模式了。
还原网络设置:
到控制面板>网络设置>网络连接中依次删除这两个桥接网络即可恢复原先的独立网口模式(每一个删除后都需要等待多一段时间网络重置)。
虚拟机直接到这里删除新增的网络或者到虚拟机中替换成替他网络。
紧急处理方式:
如果机器一直没连上网,通过客户端也搜不到,那么需要准备如下的东西:一个键盘,一个显示器,一个hdmi的线。将hdmi线连接显示器和NAS,键盘也接到nas的usb口。
在显示器显示投屏界面后,按下CTRL+ALT+F1进入终端,同样是输入管理员账号,密码进入管理员用户下,再输入sudo -i,继续输入一次管理员密码即可进入root,自行检查网络配置文件是否正确,如果确认正确那就再次执行reboot重启机器即可,即使实在不行,那把备份的两个ifcfg-eth0和ifcfg-eth1文件复制回来,把新创建的两个bridge0,1文件删掉再重启也能恢复成原本的网络。
最后:
目前了解到的信息绿联应该会在7月开始解决这个问题,后续如果在更新列表中或者虚拟机app更新中有看到官方的这个更新内容,建议自己先将网络恢复后再进行更新,以免产生冲突(理论上不会,但是你们懂的)。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
值友7346782646
校验提示文案
returnnull
校验提示文案
王嗷嗷
之前4600的UGOS可以通过SMB访问连接在NAS上的U盘,
新系统不可以了,很苦恼。。。
校验提示文案
雄霸天下霸唱
校验提示文案
AI小值-电脑数码
校验提示文案
蓝色泡泡龙
校验提示文案
王嗷嗷
之前4600的UGOS可以通过SMB访问连接在NAS上的U盘,
新系统不可以了,很苦恼。。。
校验提示文案
returnnull
校验提示文案
蓝色泡泡龙
校验提示文案
值友7346782646
校验提示文案
雄霸天下霸唱
校验提示文案
AI小值-电脑数码
校验提示文案