原来虚拟机接触的比较少,猛然遇到一个和网络相关的问题,着实费了不少脑筋
现象:使用 virsh start XX启动虚拟机时,报错cannot get interface MTU on ‘br1’:no such device
解决方案;
错误尝试:既然是没有br1,进入/etc/sysconfig/network-scripts复制br0的ifcfg-br0,修改为br1,修改bond0网桥配置为br1,执行service network restart 重启网络配置后使用brctl show,出现br1网桥,再次启动虚拟机,虚拟机顺利启动。
在之后的测试中,发现宿主机设置了上双网卡,用以连接不同的网段,但是启动后的虚拟机只可以联通内网对应的网段,到外网的网段是ping不通的。
再次尝试:
首先,恢复之前错误尝试前的网络配置;然后尝试下面的命令
btctl addbr br1 建立br1网桥
ifconfig bond0 down 将虚拟网卡bond0关闭
brctl addif br1 bond0 将br1与bond0绑定
service network restart
重启网络后,启动虚拟机。使用ipconfig查看虚拟机网络,eth0和eth1都是up状态,貌似显示正常
利用 cat /proc/net/dev查看虚拟机网口状况,发现一切正常,eth0和eth1都有正常的发送和接受数据。但是仍然ping不通外网
从网上搜都说可能是路由问题
使用 ip route flush dev eth0分别清理虚拟机和宿主机路由,并重启网络,没有用
使用cat /proc/net/dev查看宿主机网络状况,发现网桥br1接受发送的数据都为0,
ifconfig br1 up 打开br1
service network restart重启网络
问题成功解决