背景:
在宿主机(ubuntu18.04LTS)上,安装虚拟化环境,创建虚拟机
现象:
虚拟机和宿主机之间可以互相ping通,宿主机可以通过ip访问虚拟机,但是虚拟机不能访问外部网络(比如与宿主机在同网段的其他服务器,经验证宿主机可以访问上述其他服务器)
解决过程:
目前,宿主机上添加了网桥br0,已经修改了地址,并可以与其他ip通信
虚拟机使用virt-manager创建,虚拟网络接口设置如图

如图,启动后网络不通
解决网不通问题==========================
网上说启动这个模块 “br_netfilter”,经测试问题依旧
启动:modprobe br_netfilter
移除:modprobe -r br_netfilter
我并没有启动这个
其他不靠谱的说法
需要增加iptables规则,我目前用的就是没规则,所有都ACCEPT,无用
增加sysctl.conf中的net.ipv4.ip_forward=1,经测试没什么卵用
0912虚拟机可以访问外网啦
增加这个配置文件,/etc/qemu/bridge.conf
allow br0
设置/usr/lib/qemu/qemu-bridge-helper 755
0912这个配置没有必要-----------------------
以下是正确的
先添加一个网桥,名为 br0(最好叫这个名字,因为后面默认连接br0,如果用其他名字需要配置),将网卡添加到这个网桥,网卡默认设置(没有ip),ip,网关都在br0上设置。
创建br0方法略,强烈建议,网络管理系统用就统一用某一个比如NetworkManager(nmcli、nmtui),不要混用brctl、networkctl等
安装、启动虚拟机,用命令行的方式启动,sudo qemu-system-x86_64 ... -netdev tap,id=n1 -device virtio-net-pci,netdev=n1,id=net0,mac=xxxx ....
-netdev tap参数表示使用TAP模式,自动将虚拟网卡加入网桥,默认是br0,有个br=br0参数省略了
-device 参数表示虚拟机添加一个网卡,后端实现是id是n1的设备
经测试出现问题,虽然虚拟机可以访问到外部网络,但是时断时续
现象描述:宿主机A,虚拟机机A1、A2,第三台主机B,4台IP都在同一局域网,A <--> A1,A <--> A2,A<-->B,正常互相访问,但是虚拟机与外部主机时断时续A1 <-x-> A2,A1<-?->B、A2<-?->B,而且是有特点的,比如同时A1,A2 都去pingB,同一时刻只有一台能够收到返回,另一台就卡住,两台的ping是交替进行的。感觉网卡就像一个半双工设备。
一番测试后,证明A,A1,A2,B都可以互相访问,就是会断断续续。后面我会试一试更新网卡驱动
240926============
网络断断续续的问题破案了,原因竟然是宿主机链接的交换机网口有MAC绑定,只设置了宿主机的MAC,所以虚拟机网络异常,增加了虚拟机的MAC信息后正常了
欢迎讨论
2万+

被折叠的 条评论
为什么被折叠?



