Linux内核支持网口桥接。它的内核是通过一个虚拟的网桥设备来实现桥接的。虚拟机可以绑定若干个以太网接口设备,从而将他们桥接起来。网桥设备br0绑定eth0,br0作为一个网桥,同时也是虚拟机的网络设备,它既可以用作网桥的管理端口,也可以作为网桥所连接局域网的网关,视具体需求而定。
网桥默认没有配置
##一.网络桥接
网桥br0
cd /etc/sysconfig/network-scripts/
在这个网络配置文件下完成
ls
移动网络配置文件:
mv ifcfg-br0 ifcfg-enp0s25 /mnt/
编辑文件:
vim ifcfg-enp0s25
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.30
NETMASK=255.255.255.0
reboot
测试:
虚拟机加网卡时,没有br0
cd /etc/sysconfig/network-scripts/
ls
rm -fr ifcfg-所有
vim ifcfg-enp0s25
DEVICE=enp0s25
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.30
NETMASK=255.255.255.0
TYPE=Bridge #真实设备上的接口,通过br0把数据传到enp0s25网卡上
systemctl restart network
ifconfig (多了br0)
rm -fr ifcfg-br0 ifcfg-enp0s25
mv /mnt/ifcfg-* .
reboot
##二.bond
只支持两块网卡
三种工作模式:
(1)模式0(平衡轮循)-轮循策略,所有接口都使用采用轮循方式在所有slave中传输封包;任何slave都可以接收
(2)模式1(主被备份)-容错。一次能使用一个slave接口,但是如果接口出现故障,另一个slave将接替它
(3)模式3(广播)- 容错。所有封包都通过所有slave接口广播
网络桥接的管理命令
brctl ##桥接管理命令
show ##显示
addbr ##添加网桥
delbr ##删除网桥
addif ##添加网桥连接
delif ##删除网桥连接
brctl show #查看桥接
brctl addbr br0 #添加br0网络桥接
brctl show
ping 172.25.254.30 #没有真实链接物理设备,不通
ifconfig br0 172.25.254.230 netmask 255.255.255.0 #桥接
nm-connection-editor #删除eth0
brctl addif br0 eth0 #桥接真实网卡,br0上添加物理接口
brctl show
ping 172.25.254.60
ifconfig br0 down #停掉br0
没有桥接br0
brctl show
![](
brctl delif br0 eth0 #删除eth0在br0上的桥接
brctl show
brctl delbr br0 #删除桥接br0
brctl show
ifconfig
删除所有网卡
加网卡
systemctl restart NetworkManager
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.230/24 ##bond网络中添加bond0
nmcli connection add con-name eth0 ifname eth0 type bond-slave master bond0 #把eth0添加到bond0中,采用主被工作模式
ifconfig
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0 #添加网卡eth1到bond0中
测试:
ifconfig eth0 down
ifconfig eth0 up
ifconfig eth1 down
nmcli connection delete eth1
nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
watch -n 1 cat /proc/net/bonding/bond0 #监控命令
ping 172.25.254.30 #当ifconfig eth0 down表示eth0停掉,此时eth1开始工作
eth1出现问题,nmcli connection delete eth1删除eth1,在重新添加nmcli connection add con-name eth1 ifname eth1 type bond-slave master bond0
可以监控看出谁工作,网络一直都是通的
nm-connection-editor #有三块网卡
nmcli connection delete bond0
nmcli connection delete eth0
nmcli connection delete eth1
nm-connection-editor #无网卡
##三.team接口
最多支持八块网卡
通过nmcli 设定
nmcli connection add con-name team0 type team ifname team0 config '{"runner":{"name":"activebackup"}}' ip4 172.25.254.230/24 #team接口添加team0
ifconfig #team0加上
teamdctl team0 state
nmcli connection add con-name eth0 ifname eth0 team-slave master team0 #添加eth0到team主被工作模式
ping 172.25.254.60
watch -n 1 teamdctl team0 state #可以看出谁工作
nmcli connection add con-name etn1 ifname eth1 team-slave master team0 #添加eth1主被工作模式到team0
ifconfig eth0 down
ifconfig eth0 up
ifconfig eth1 down
ifconfig eth1 up
本文转自Uniqueh51CTO博客,原文链接: http://blog.51cto.com/13363488/2045835,如需转载请自行联系原作者