Linux KVM网络处理过程


总体解决方法


  • 本次遇到的问题是KVM的网桥处理不小心导致系统无法连接.处理简要总结:

进入机房,给IPMI插上网线, 开机点 Del 进入bios 设置IMPI的地址
进入IPMI 修改 admin的密码.
重启进入机器后,发现已经可以上网了
经过查询发现有网桥,但是网桥无法上网.
ifconfig 查看业务网卡的网卡名为: enp39s0f0
使用 ethtoo -p enp39s0f1 确认需要连接的网口的位置
给另外一个业务网卡插上网线. 不设置地址(机房无DHCP)
brctl show 查看所有的网桥信息
brctl addif br0 enp39s0f1 将新插网线的网口添加给网桥
vi /etc/sysconfig/network-scripts/ifcfg-br0
设置一个机房内可以上外网的IP地址,便于网桥进行处理.
注意 也曾经发现可以直接使用 业务网卡的IP配置然后addif到业务网卡即可
但是为了防止业务网卡和虚拟机的网卡互相冲突, 所以感觉还是拆开比较好一些.

命令简介



设置 Linux 网桥命令


参数说明和示例

参数

说明

示例

​addbr <bridge>​

创建网桥

brctl addbr br10

​delbr <bridge>​

删除网桥

brctl delbr br10

​addif <bridge> <device>​

将网卡接口接入网桥

brctl addif br10 eth0

​delif <bridge> <device>​

删除网桥接入的网卡接口

brctl delif br10 eth0

​show <bridge>​

查询网桥信息

brctl show br10

​stp <bridge> {on|off}​

启用禁用 STP

brctl stp br10 off/on

​showstp <bridge>​

查看网桥 STP 信息

brctl showstp br10

​setfd <bridge> <time>​

设置网桥延迟

brctl setfd br10 10

​showmacs <bridge>​

查看 mac 信息

brctl showmacs br10


问题解决


  • 问题现象

上周将公司的一台四路服务器挪到了云机房.
因为当时上线比较紧,加上云机房的鼠标检查不好用, 未及时进行设置IMPI的地址
本来想未来会去现场整理磁盘到时候在进行处理
今天有同事询问四路服务器内的虚拟机的情况,我这边就进行了简单的处理
方法见下一页.直接导致环境无法连接, 只能到现场处理.

问题解决


  • 第一次处理

使用mobaXterm的方式远程登录四路服务器
使用virt-manager的方式打开虚拟机控制台.
启动服务, 提示没有网桥br0
想起来上周为了保证办公地点能够连上这台机器,我将网桥进行了处理:
上周的处理方式为
brctl delbr br0
本周一开始的处理方式为
brctl addbr br0
brctl addif br0 enp39s0f0
出现机器无法连接的情况.

问题解决


  • 连接机器后进行处理.

发现 重启机器 网桥的信息就会自动丢失.
所以重启机器后可以连接了.
virt-manager 提示时 最开始提示是没有网桥
之后提示是 网桥没有网卡 linux br0 empty bridge
处理方法就是需要给网桥添加网卡
我这边显示修改了网卡的配置信息, 使网桥的地址与业务网络的地址在同一个段上面.
然后再将网桥添加到网卡上面,但是发现依旧不可以.
感觉比较诡异
理论上网桥就是一块网卡扩展处理 网桥的mac地址与网卡的mac地址默认保持一致
本来以为网桥可以不设置ip地址.手工添加即可.

比较奇怪,我现在enp39s0f0 走业务网卡. 然后 enp39s0f1 走KVM的桥接网卡就可以了
最终的使用是
brctl addif br0 enp39s0f1
其实可以添加到crontab 里面也可以. 实现开机自动运行.