Linux网络桥

  

简介

  
      <李>网桥是一种软件配置,用于连结两个或更多个不同网段。网桥的行为就像是一台虚拟的网络交换机、工作于透明模式(即其他机器不必关注网桥的存在与否)。任意的真实物理设备(例如eth0)和虚拟设备(例如tap0)都可以连接到网桥。   <李>桥接:把一台机器上的若干个网络接口”连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。   
  

如下图:主机一个发送的报文被送到交换机S1的eth0口,由于eth0与eth2, eth3桥接在一起,故而报文被复制到eth2和eth3,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C, D
 Linux网络桥

  

创建网桥

  

可以通过多种方式实现,这里介绍通过nmcli和桥实现。

  
通过nmcli h5> 1)添加一个名为br0的网桥,并且手工指定ip为192.168.8.100

  
 <代码类=" language-bash "> root@CentOS7 ~ # brctl显示
  桥的名字id STP接口启用
  (root@CentOS7 ~) # nmcli con ifname br0添加con-name br0类型桥梁
  连接“br0”(77年a81012 - 0760 - 441 - a - a90a - 8 f4b357c5dfb)成功地补充道。
  (root@CentOS7 ~) # nmcli反对修改br0 ipv4。192.168.8.100/24 ipv4地址。法米
  anual  
  

2)添加eth0, eth2设备到网桥br0

  
 <代码类=" language-bash "> [root@CentOS7 ~] # nmcli反对添加con-name br0-port0类型bridge-slave ifname eth0 br0大师
  连接“br0-port0”(60961 b5d - 312 c - 49 - dd - b9ff - 287 f8236436b)成功地补充道。
  (root@CentOS7 ~) # nmcli反对添加con-name br0-port1类型bridge-slave ifname eth2 br0大师
  连接“br0-port1”(e4b436f2 - 8 bc5 - 4696 - ad6d bdcb3ec40a0f)成功添加。 
  

3)启动网桥并且查看信息

  
 <代码类=" language-bash "> [root@CentOS7 ~] # nmcli br0欺诈
  连接成功激活(主等待奴隶)(d - bus活动路径:/org/freedesktop/NetworkManager/ActiveConnection/32
  
  (root@CentOS7 ~) #显示br0 nmcli设备
  将军。设备:br0
  将军。类型:桥
  将军。HWADDR: E6: CF: 41: C0:93:74
  将军。MTU: 1500
  将军。状态:100(连接)
  将军。连接:br0
  将军。CON-PATH:/org/freedesktop/NetworkManager/ActiveConnection/32
  IP4。地址[1]:192.168.8.100/24
  IP4。网关:
  IP4。路[1]:dst=192.168.8.0/24, nh=0.0.0.0,太=425
  IP6。网关: 
  

4)查看其生成的配置文件

  
 <代码类=" language-bash "> root@CentOS7 ~ #猫/etc/sysconfig/network-scripts/ifcfg-br0
  #猫/etc/sysconfig/network-scripts/ifcfg-br0-port0 root@CentOS7 ~
  (root@CentOS7 ~) #猫/etc/sysconfig/network-scripts/ifcfg-br0-port1  
  
通过brctl h5> 该工具需要安装bridge-utils包

  
 <代码类=" language-bash "> [root@CentOS7 ~] # rpm qf brctl”的意思
  桥-跑龙套- 1.5 - 9. - el7.x86_64
  (root@CentOS7 ~) # yum - y安装bridge-utils  
  

1)新建一个名为br0的网桥

  
 <代码类=" language-bash "> [root@CentOS7 ~] # brctl addbr br0  
  

2)添加eth0, eth2设备到br0网桥

  
 <代码类=" language-bash "> [root@CentOS7 ~] # brctl addif br0 eth0
  (root@CentOS7 ~) # brctl addif br0 eth2  
  

3)显示当前存在的网桥及其所连接的网络端口:

  
 <代码类=" language-bash "> [root@CentOS7 network-scripts] # brctl显示
  桥的名字id STP接口启用
  8000.000 br0 c29082a73 eth0
  eth2  
  

4)启动网桥

  
 <代码类=" language-bash "> [root@CentOS7 network-scripts] # ip连接设置dev br0  
  

5)删除网桥,需要先关闭它

  
 <代码类=" language-bash "> [root@CentOS7 network-scripts] # ip链路群dev br0下来
  [root@CentOS7 network-scripts] # brctl delbr br0
  [root@CentOS7 network-scripts] # brctl显示
  桥的名字id STP接口启用 

Linux网络桥