linux下brctl配置网桥

原文:http://zhumeng8337797.blog.163.com/blog/static/1007689142011643834429/html

先装好网卡,连上网线,这是废话,不用说了。 而后开始! 设置linux让网桥运行    配置网桥 咱们须要让linux知道网桥,首先告诉它,咱们想要一个虚拟的以太网桥接口:(这将在主机bridge上执行,不清楚的看看测试场景) root@bridge:~> brctl addbr br0 其次,咱们不须要STP(生成树协议)等。由于咱们只有一个路由器,是绝对不可能造成一个环的。咱们能够关闭这个功能。(这样也能够减小网络环境的数据包污染): root@bridge:~> brctl stp br0 off 通过这些准备工做后,咱们终于能够作一些立竿见影的事了。咱们添加两个(或更多)以太网物理接口,意思是:咱们将他们附加到刚生成的逻辑(虚拟)网桥接口br0上。 root@bridge:~> brctl addif br0 eth0 root@bridge:~> brctl addif br0 eth1 如今,原来咱们的两个以太网物理接口变成了网桥上的两个逻辑端口。那两个物理接口过去存在,将来也不会消失。要不信的话,去看看好了。 .如今他们成了逻辑网桥设备的一部分了,因此再也不须要IP地址。下面咱们将这些IP地址释放掉 root@bridge:~> ifconfig eth0 down root@bridge:~> ifconfig eth1 down root@bridge:~> ifconfig eth0 0.0.0.0 up root@bridge:~> ifconfig eth1 0.0.0.0 up 好了!咱们如今有了一个任何IP地址都没有的box w/o了。 好了,这下若是你想经过TP配置你的防火墙或路由器的话,你就只能经过本地的控制端口了。你不会告诉我你的机器上连串行端口都没有吧? 注:上面红色部分实际上是可选的,在试验中,我发现,就算不把原有的网卡地址释放掉,网桥也能工做!可是,为了更规范,或者说为了不有什幺莫名其妙的问题,最好仍是按要求作,执行这四步吧! 最后,启用网桥 root@bridge:~> ifconfig br0 up 可选:    咱们给这个新的桥接口分配一个IP地址 root@bridge:~> ifconfig br0 10.0.3.129 或者把最后这两步合成一步: root@bridge:~> ifconfig br0 10.0.3.129 up 就是多一个up! 这下咱们作完了 。linux

关闭网桥命令数据库

     brctl delif ena eth1;      brctl delif ena eth0;      ifconfig ena down;      brctl delbr ena;网络

ALinux网桥的实现分析与使用

 

1、什么是桥接工具

 
       桥接工做在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来做为判断依据来将网络划分红两个不一样物理段的技术,其被普遍应用于早期的计算机网络当中。
       咱们都知道,以太网是一种共享网络传输介质的技术,在这种技术下,若是一台计算机发送数据的时候,在同一物理网络介质上的计算机都须要接收,在接收后分析目的MAC地址,若是是属于目的MAC地址和本身的MAC地址相同便进行封装提供给网络层,若是目的MAC地址不是本身的MAC地址,那么就丢弃数据包。
       桥接的工做机制是将物理网络段(也就是常说的冲突域)进行分隔,根据MAC地址来判断链接两个物理网段的计算机的数据包发送。
下面,咱们举个例子来为各位网友讲解:在下图中的网络结构中,有两台集线器分别链接多台计算机,咱们分别将A集线器和B集线器定为A冲突域和B冲突域。在这样的网络环境中,若是计算机A向计算机C发送数据包时,集线器A会将数据包在整个网络中的所有计算机(包括集线器B)发送一遍,而无论这些数据包是否是须要发送到另外一台区域B。
 
图1
 
       咱们再将集线器A和集线器B分别链接到网桥的两个端口上,若是计算机A再向计算机C发送数据包时会遇到什么样的状况呢?这时集线器A也是一样会将数据包在全网发送,当到达网桥后,网桥会进行数据包目的MAC地址的分析,而后对比本身学习到的MAC地址表,若是这个表中没有此MAC地址,网桥便会在两个网段上的发送数据包,同时会将计算机A的MAC地址记录在本身的表当中。
       通过屡次这样的记录,网桥会将全部的MAC地址记录,并划分为两个段。这时计算机A再次发送数据包给B的时候,由于这两台计算机同处在一个物理段位上,数据包到达网桥时,网桥会将目的MAC地址和本身的表进行对比,而且判断计算机A和计算机B在同一个段位上,便不会转发到区域B当中,而若是不在同一个物理段当中,网桥便会容许数据包经过网桥。
       经过以上的例子咱们了解到,网桥其实是一种控制冲突域流量的设备。网桥如今基本上已经不多用到了,除了隔离冲突域之外,网桥还能够实现不一样O类型网络的链接(令牌环网和以太网之间的链接)和网络的扩展(IEEE的5.4.3链接规则)等等功能。
2、什么是交换
       交换一样工做在OSI网络参考模型的第二层数据链路层,也是一种以MAC地址来做为判断依据来将网络划分红两个不一样段的技术,不一样的是交换将物理网段划分到每个端口当中,简单的理解就是一种多端口的网桥,它其实是一种桥接技术的延伸。
       在前面的了解当中,咱们已经知道桥接是链接两个不一样的物理网段(冲突域)的技术,交换是链接多个物理网段技术,典型的交换机一般都有多个端口,每一个端口实际上就是一个网桥,当链接到交换机端口的计算机要发送数据包时,全部的端口都会判断这个数据包是不是发给本身的,若是不是就将其丢弃,这样就将冲突域的概念扩展到每一个交换机端口上。
       咱们仍是举例为你们说明,在下面的图中,咱们能够看到计算机A、B分别链接到交换机的不一样端口当中,当计算机A向B发送数据包时,假设这时A端口并无学习到B端口的MAC地址,这时,A端口便会使用广播将数据包发送到除A端口之外的全部端口(广播域),当其余计算机接收到数据包后会与本身的MAC地址进行对比,而后简单的丢弃数据包;当B接收到数据包后,经过对比后接收数据包,而且记录源地址。经过反复这样的学习,交换机会构建一个基于全部端口的转发数据库,存储在交换机的内容可寻址存储器当中(CAM)。
 
图1
 
       在交换机学习到全部端口的信息后,计算机A再次发送数据包给B时,就再也不广播地址,而是直接发送到转发数据库中所对应的B端口。经过这样的学习,在交换机上实现了微分段,每一个链接到交换机端口的计算机均可以独享带宽。
3、什么是路由
       路由工做在OSI参考模型的第三层网络层当中,它是基于第三层的IP地址信息来做为判断依据来将网络划分红不一样段(IP子网)的技术,与桥接和交换不一样,路由划分的是独立的逻辑网段,每一个所链接的网段都具备独立的网络IP地址信息,而不是以MAC地址做为判断路径的依据,这样路由便有隔离广播的能力;而交换和桥接是划分物理网段,它们仅仅是将物理传输介质进行分段处理。同时路由具有路径选择的功能,会根据不一样的目的IP地址来分析到达目的地最合适的路径。
       在下图中,咱们看到路由器所链接了三台交换机,这三台交换机分别被划分为三个不一样的子网地址段:192.168.0.0、192.168.1.0、192.168.3.0。当计算机A向B发送数据包时,在不知道到达B的路径时,交换机A会将数据包在本身所在的段上全网广播,当到达路由器中,路由器便不会再广播这个数据包,它根据路由协议的规则来判断到达B应该选择将其转发到那个段上,这时便会将数据包转发到对应的IP地址段当中,而不广播到不须要这个数据包的C网段当中。若是路由器中没有规则定义到达目的IP地址的路径时,它会直接丢弃这个数据包。
 
图3
       路由器主要有路径选择和数据转发两个基本功能,但在不少场景下,路由器通常都承担着网关的角色。在国内,咱们一般都是采用PPPOE拨号或者静态路由两种方式实现局域网共享上网。这时,路由器主要的功能是实现局域网和广域网之间的协议转换,这一样也是网关的主要用途。
4、三者之间的区别
一、位于参考模型的层数不一样
       在开放系统互联参考模型当中,网桥和交换机都是位于参考模型的第二层-数据链路层,而路由器则位于更高一层-网络层。
二、基于的路径判断条件不一样
       因为位于OSI参考模型的层数不一样,因此使交换机、网关这两种设备判断路径的条件也不相同,网桥和交换机是根据端口的MAC地址来判断数据包转发,而路由器则使用IP地址来进行判断。
三、控制广播的能力不一样
       网桥和交换机(三层交换机或支持VLAN功能的除外)这两种设备是没法控制网络的广播,若是有广播数据包,就会向全部的端口转发,因此在大的网络环境当中,必须得要有路由器来控制网络广播。
四、智能化程度不一样
       在判断数据的时候,网桥只能判断是否在同一个物理网段,交换机则能够判断数据包是属于那个端口,可是这两种设备都没有选择最优路径的能力,而路由器基于IP地址判断路径,因此会根据IP地址信息来判断到达目的地的最优路径。
 
5、三者的不一样应用场景及将来发展
       在现实的应用环境当中,网桥已经基本上不会被使用了,在中小型的局域网当中,最经常使用到的组网设备即是交换机,是否选择路由器会根据网络的规模和功能来决定,在大型网络中,路由器是必须的,用来控制广播,可是因为技术的不断延伸,交换机也被集成了基于IP地址判断路径及控制广播的功能,因此,路由器如今逐步在被可路由式交换机所取代。
       前面提到,路由器在不少场景下都是被用过网关,因此,随着宽带技术的迅速发展,在最末一千米,一种新兴的设备-宽带路由器将会逐步取代传统路由器来实现网络的接入功能。
       相信经过上面的介绍,你们对于网桥、交换、路由及网关的功能有了更清晰的了解!

3、   brctl 的使用方法

有五台主机。其中一台主机装有linux ,安装了网桥模块,并且有四块物理网卡,分别链接同一网段的其余主机。咱们但愿其成为一个网桥,为其余四台主机(IP 分别为192.168.1.2,192.168.1.3 ,192.168.1.4 ,192.168.1.5) 之间转发数据包。同时,为了方便管理,但愿网桥可以有一个IP (192.168.1.1 ),那样管理员就能够在192.168.1.0/24 网段内的主机 上telnet 到网桥,对其进行配置,实现远程管理。学习

前一节中提到,网桥在同一个逻辑网段转发数据包。针对上面的拓扑,这个逻辑网段就是192.168.1.0/24 网段。咱们为这个逻辑网段一个名称,br0 。首先须要配置这样一个逻辑网段。测试

# brctl addbr br0 ( 创建一个逻辑网段,名称为br0)spa

 

# brctl delbr br0计算机网络

实际上,咱们能够把逻辑网段192.168.1.0/24 看做使一个VLAN ,而br0 则是这个VLAN 的名称。3d

创建一个逻辑网段以后,咱们还须要为这个网段分配特定的端口。在Linux 中,一个端口实际上就是一个物理网卡。而每一个物理网卡的名称则分别为eth0 ,eth1 ,eth2 ,eth3 。咱们须要把每一个网卡一一和br0 这个网段联系起来,做为br0 中的一个端口。

 

# brctl addif br0 eth0      (让eth0 成为br0 的一个端口)

# brctl addif br0 eth1                ( 让eth1 成为br0 的一个端口)

# brctl addif br0 eth0                ( 让eth2 成为br0 的一个端口)

# brctl addif br0 eth3                ( 让eth3 成为br0 的一个端口)

 

# brctl delif br0 eth0

网桥的每一个物理网卡做为一个端口,运行于混杂模式,并且是在链路层工做,因此就不须要IP了。

 

 

# ifconfig eth0 0.0.0.0

# ifconfig eth1 0.0.0.0

# ifconfig eth2 0.0.0.0

# ifconfig eth3 0.0.0.0

# ip addr add 127.0.0.1/8 dev lo brd +

ip 是iproute2 软件包里面的一个强大的网络配置工具,它可以替代一些传统的网络管理工具。例如:ifconfig 、route 等。这个手册将分章节介绍ip 命令及其选项。) 

而后给br0 的虚拟网卡配置IP :192.168.1.1 。那样就能远程管理网桥。

 

# ifconfig br0 192.168.1.1

 

 

br0 配置了IP 以后,网桥就可以工做了。192.168.1.0/24 网段内的主机均可以telnet 到网桥上对其进行配置。

以上配置的是一个逻辑网段,实际上Linux 网桥也能配置成多个逻辑网段( 至关于交换机中划分多个VLAN) 。 

4、   brctl 命令详细分析

增长桥接过程

 ( 1 ) # brctl addbr br0 ( 2 ) # brctl addif br0 eth0   ( 3 ) #   ip addr add 172.16.12.43/8 dev br0 brd + ( 4 ) #   ifconfig br0 up

删除桥接过程

( 1 ) ip addr del 172.16.12.43/8 dev br0 brd +

( 2 ) ifconfig br0 down  

( 3 ) brctl delif br0 eth0

( 4 ) brctl delbr br0

相关文章
相关标签/搜索