在网络的使用中,有时需要搭建网络桥来实现网络桥接。例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题。
搭建网络桥可以通过编辑配置文件和命令管理来实现。
1、编辑配置文件
如下图所示,主机的物理网卡为"enp0s25",IP为"172.25.254.2"。
搭建网络桥需要配置以下两个文件:
a、"vim /etc/sysconfig/network-scripts/ifcfg-we"。网络接口的名称为"we"。在其中编写以下内容:
BOOTPROTO=none
NAME=we
DEVICE=enp0s25
ONBOOT=yes
BRIDGE=br0
b、"vim /etc/sysconfig/network-scripts/ifcfg-br0"。在其中编写:
DEVICE=br0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.2
NETMASK=255.255.255.0
TYPE=Bridge
完成后重启网络即可生效,如下图所示,用"ifconfig"命令可以看出有网络桥接了。也可以用命令"brctl show"来查看是否有网络桥接及对应设备。
如下图所示,在新建虚拟机时就可以看见网络选择里有网络桥接的选项"Bridge br0 Host device enp0s25"。
如果不需要网络桥接了,只需要删除"br0"文件,按照网络配置方法配置"we"文件并重启系统即可。
2、命令搭建网络桥
编辑配置文件可以使得网络桥接永久生效,但是通过命令来搭建只能临时生效,重启系统后网络桥接消失,所以命令搭建网络桥多用于临时使用的场合。
搭建网络桥可以通过以下步骤完成:
a、"brctl show"。查看是否有网络桥接,也可以忽略。
b、"brctl addbr br0"。添加一个网络桥接,用"ifconfig"可以看到多了"br0"。
c、"ifconfig br0 172.25.254.202 netmask 255.255.255.0"。设置br0的IP为"172.25.254.202",子网掩码为"255.255.255.0"。使用"ifconfig"可以查看。
d、" brctl addif br0 eth0"。输入"brctl show"。可以看到虽然br0有了IP但是桥接并没有完成。还需要输入命令将桥接"br0"和网卡设备"eth0"连接起来。
至此通过命令搭建网络桥就完成了。可以通过"ifconfig"和"brtcl show"查看。
上述说到,使用命令搭建的网络桥只是临时生效,如果需要删除,重启系统即可,不能重启系统可以通过以下步骤删除:
a、"ifconfig br0 down"。从网络里去掉br0。输入"ifconfig"是否去掉。
b、"brctl delif br0 eth0"。断开网络桥和网卡设备的连接。
c、"brctl delbr br0"。删除这个网络桥接。
完成后通过命令搭建的网络桥就被删除了,"brctl show"可以看到没有网络桥了。