linux初学者-网络桥接篇

 

linux初学者-网络桥接篇

        在网络的使用中,有时需要搭建网络桥来实现网络桥接。例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的内核来处理这些问题,这无疑增加了主机内核的负担,也延长了虚拟机的反应速度,如果搭建网络桥,使得虚拟机的内核可以在一定程度上使用主机的物理网卡,就可以解决这个问题。

        搭建网络桥可以通过编辑配置文件和命令管理来实现。

    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"可以看到没有网络桥了。

原文地址:https://www.cnblogs.com/davidshen/p/8145965.html