brctl配置网桥
先装好网卡,连上网线,这是废话,不用说了。
然后开始!
设置linux让网桥运行配置网桥
我们需要让linux知道网桥,首先告诉它,我们想要一个虚拟的以太网桥接口:(这将在主
机bridge上执行,不清楚的看看测试场景)
root@bridge:~>brctladdbrbr0
其次,我们不需要STP(生成树协议)等。因为我们只有一个路由器,是绝对不可能形成一个
环的。我们可以关闭这个功能。(这样也可以减少网络环境的数据包污染):
root@bridge:~>brctlstpbr0off
经过这些准备工作后,我们终于可以做一些立竿见影的事了。我们添加两个(或更多)以太
网物理接口,意思是:我们将他们附加到刚生成的逻辑(虚拟)网桥接口br0上。
root@bridge:~>brctladdifbr0eth0
root@bridge:~>brctladdifbr0eth1
现在,原来我们的两个以太网物理接口变成了网桥上的两个逻辑端口。那两个物理接口过去
存在,未来也不会消失。要不信的话,去看看好了。.现在他们成了逻辑网桥设备的一部分
了,所以不再需要IP地址。下面我们将这些IP地址释放掉
root@bridge:~>ifconfigeth0down
root@bridge:~>ifconfigeth1down
root@bridge:~>ifconfigeth00.0.0.0up
root@bridge:~>ifconfigeth10.0.0.0up
好了!我们现在有了一个任何IP地址都没有的boxw/o了。好了,这下如果你想通过TP
配置你的防火墙或路由器的话,你就只能通过本地的控制端口了。你不会告诉我你的机器上
连串行端口都没有吧?
注:上面红色部分其实是可选的,在试验中,我发现,就算不把原有的网卡地址释放掉,网
桥也能工作!但是,为了更规范,或者说为了避免有什幺莫名其妙的问题,最好还是按要求
做,执行这四步吧!
最后,启用网桥root@bridge:~>ifconfigbr0up
可选:我们给这个新的桥接口分配一个IP地址
root@bridge:~>ifconfigbr010.0.3.129
或者把最后这两步合成一步:
root@bridge:~>ifconfigbr010.0.3.129up
就是多一个up!
这下我们做完了。
关闭网桥命令
brctldelifenaeth1;
brctldelifenaeth0;
ifconfigenadown;
brctldelbrena;
ALinux网桥的实现分析与使用
/developerworks/cn/linux/kernel/l-netbr/
一、什么是桥接
桥接工作在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连接规则)等等功能。
二、什么是交换
交换同样工作在OSI网络参考模型的第二层数据链路层,也是一种以MAC地址来作为
判断依据来将网络划分成两个不同段的技术,不同的是交换将物理网段划分到每一个端口当
中,简单的理解就是一种多端口的网桥,它实际上是一种桥接技术的延伸。
在前面的了解当中,我们已经知道桥接是连接两个不同的物理网段(冲突域)的技术,
交换是连接多个物理网段技术,典型的交换机通常都有多个端口,每个端口实际上就是一个
网桥,当连接到交换机端口的计算机要发送数据包时,所有的端口都会判断这个数据包是否
是发给自己的,如果不是就将其丢弃,这样就将冲突域的概念扩展到每个交换机端口上。
我们还是举例为大家说明,在下面的图中,我们可以看到计算机A、B分别连接到交换
机的不同端口当中,当计算机A向B发送数据包时,假设这时A端口并没有学习到B端口
的MAC地址,这时,A端口便会使用广播将数据包发送到除A端口以外的所有端口(广播
域),当其他计算机接收到数据包后会与自己的MAC地址进行对比,然后简单的丢弃数据
包;当B接收到数据包后,通过对比后接收数据包,并且记录源地址。通过反复这样的学
习,交换机会构建一个基于所有端口的转发数据库,存储在交换机的内容可寻址存储器当中
(CAM)。
图1
在交换机学习到所有端口的信息后,计算机A再次发送数据包给B时,就不再广播地
址,而是直接发送到转发数据库中所对应的B端口。通过这样的学习,在交换机上实现了
微分段,每个连接到交换机端口的计算机都可以独享带宽。
三、什么是路由
路由工作在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拨号或者静态路由两种方式实现局域网
共享上网。这时,路由器主要的功能是实现局域网和广域网之间的协议转换,这同样也是网
关的主要用途。
四、三者之间的区别
1、位于参考模型的层数不同
在开放系统互联参考模型当中,网桥和交换机都是位于参考模型的第二层-数据链路层,
而路由器则位于更高一层-网络层。
2、基于的路径判断条件不同
由于位于OSI参考模型的层数不同,所以使交换机、网关这两种设备判断路径的条件也
不相同,网桥和交换机是根据端口的MAC地址来判断数据包转发,而路由器则使用IP地
址来进行判断。
3、控制广播的能力不同
网桥和交换机(三层交换机或支持VLAN功能的除外)这两种设备是无法控制网络的广
播,如果有广播数据包,就会向所有的端口转发,所以在大的网络环境当中,必须得要有路
由器来控制网络广播。
4、智能化程度不同
在判断数据的时候,网桥只能判断是否在同一个物理网段,交换机则可以判断数据包是
属于那个端口,但是这两种设备都没有选择最优路径的能力,而路由器基于IP地址判断路
径,所以会根据IP地址信息来判断到达目的地的最优路径。
五、三者的不同应用场景及未来发展
在现实的应用环境当中,网桥已经基本上不会被使用了,在中小型的局域网当中,最常
用到的组网设备便是交换机,是否选择路由器会根据网络的规模和功能来决定,在大型网络
中,路由器是必须的,用来控制广播,但是由于技术的不断延伸,交换机也被集成了基于
IP地址判断路径及控制广播的功能,所以,路由器现在逐步在被可路由式交换机所取代。
前面提到,路由器在很多场景下都是被用过网关,所以,随着宽带技术的迅速发展,在
最末一公里,一种新兴的设备-宽带路由器将会逐步取代传统路由器来实现网络的接入功能。
相信通过上面的介绍,大家对于网桥、交换、路由及网关的功能有了更清晰的了解!
三、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。首先需
要配置这样一个逻辑网段。
#brctladdbrbr0(建立一个逻辑网段,名称为br0)
#brctldelbrbr0
实际上,我们可以把逻辑网段192.168.1.0/24看作使一个VLAN,而br0则是
这个VLAN的名称。
建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux中,
一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为eth0,
eth1,eth2,eth3。我们需要把每个网卡一一和br0这个网段联系起来,作
为br0中的一个端口。
#brctladdifbr0eth0(让eth0成为br0的一个端口)
#brctladdifbr0eth1(让eth1成为br0的一个端口)
#brctladdifbr0eth0(让eth2成为br0的一个端口)
#brctladdifbr0eth3(让eth3成为br0的一个端口)
#brctldelifbr0eth0
网桥的每个物理网卡作为一个端口,运行于混杂模式,而且是在链路层工作,所
以就不需要IP了。
#ifconfigeth00.0.0.0
#ifconfigeth10.0.0.0
#ifconfigeth20.0.0.0
#ifconfigeth30.0.0.0
#ipaddradd127.0.0.1/8devlobrd+
(ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。
例如:ifconfig、route等。这个手册将分章节介绍ip命令及其选项。)
然后给br0的虚拟网卡配置IP:192.168.1.1。那样就能远程管理网桥。
#ifconfigbr0192.168.1.1
给br0配置了IP之后,网桥就能够工作了。192.168.1.0/24网段内的主机都
可以telnet到网桥上对其进行配置。
以上配置的是一个逻辑网段,实际上Linux网桥也能配置成多个逻辑网段(相
当于交换机中划分多个VLAN)。
四、brctl命令详细分析
增加桥接过程
(1)#brctladdbrbr0
(2)#brctladdifbr0eth0
(3)#ipaddradd172.16.12.43/8devbr0brd+
(4)#ifconfigbr0up
删除桥接过程
(1)#ipaddrdel172.16.12.43/8devbr0brd+
(2)#ifconfigbr0down
(3)#brctldelifbr0eth0
(4)#brctldelbrbr0
本文发布于:2022-11-25 07:10:45,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/17019.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |