路由器设置桥接

路由器设置桥接

一、   网络桥接的使用方法

连接两个局域网的方法除了路由外,比较简单的一个方法就是网络桥接了。这里将列出linux 下创建网络桥接的一般步骤。

如下图的所示的网络环境中,中间的桥接计算机具有无线和有线网卡各一块,连接了两个局域网。在这个网络环境中两个局域网处于同一个网段,它可能是由 桥接计算机上的DHCP 自动分配的地址。这样做,最终产生的情况将是无线终端连接到了桥接计算机的无线网卡ath0(ath0 工作在AP 模式) ,有线网局 域网通过交换机连接到了桥接计算机的eth0( 有线网卡) ,连接在不同的两个物理网络上,通过桥接,使他们工作在同一个局域网中,同时,可以隔离两个物理网络,这是网络隔离中比较常见的手段。

linux 下使用桥接功能必须确保已经安装了bridge-utils ,桥接方法如下:

1. 创建br0: brctl addbr br0

2. 添加物理网口:brctl addif br0 eth0; brctl addif br0 ath0

3. 配置br0 IP: ifconfig br0 192.168.1.100 netmask 255.255.255.0 up

4. 启用物理网络:ifconfig ath0 up; ifconfig eth0 up

5. 修改DHCP 配置,使之在br0 网口上分配地址。

如需要,可以用iptables 来隔离两个物理网络。

 

二、   桥接、交换和路由的区别

 

在我刚接触网络知识的时候,有时候总是会被一个问题所困扰,那就是桥接、交换和路由之间的区别,相信大部分初学计算机网络知识的网友朋友都会有这样的情 况。前几天就遇到了一位网友朋友提出这样的疑问,今天我就带大家来了解什么是桥接、交换和路由,并且对于三者之间的区别及应用场景做个详细的介绍。

 

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 地址,网桥便会在两个网段 上的发送数据包,同时会将计算机AMAC 地址记录在自己的表当中。

       经过多次这样的记录,网桥会将所有的MAC 地址记录,并划分为两个段。这时计算机A 再次发送数据包给B 的时候,因为这两台计算机同处在一个物理段位上,数 据包到达网桥时,网桥会将目的MAC 地址和自己的表进行对比,并且判断计算机A 和计算机B 在同一个段位上,便不会转发到区域B 当中,而如果不在同一个物理 段当中,网桥便会允许数据包通过网桥。

       通过以上的例子我们了解到,网桥实际上是一种控制冲突域流量的设备。网桥现在基本上已经很少用到了,除了隔离冲突域以外,网桥还可以实现不同O 类型网络的连接(令牌环网和以太网之间的连接)和网络的扩展(IEEE5.4.3 连接规则)等等功能。

2 、什么是交换

       交换同样工作在OSI 网络参考模型的第二层数据链路层,也是一种以MAC 地址来作为判断依据来将网络划分成两个不同段的技术,不同的是交换将物理网段划分到每一个端口当中,简单的理解就是一种多端口的网桥,它实际上是一种桥接技术的延伸。

       在前面的了解当中,我们已经知道桥接是连接两个不同的物理网段(冲突域)的技术,交换是连接多个物理网段技术,典型的交换机通常都有多个端口,每个端口实 际上就是一个网桥,当连接到交换机端口的计算机要发送数据包时,所有的端口都会判断这个数据包是否是发给自己的,如果不是就将其丢弃,这样就将冲突域的概念扩展到每个交换机端口上。

       我们还是举例为大家说明,在下面的图中,我们可以看到计算机AB 分别连接到交换机的不同端口当中,当计算机AB 发送数据包时,假设这时A 端口并没有学习到B 端口的MAC 地址,这时,A 端口便会使用广播将数据包发送到除A 端口以外的所有端口(广播域),当其他计算机接收到数据包后会与自己的MAC 地址进 行对比,然后简单的丢弃数据包;当B 接收到数据包后,通过对比后接收数据包,并且记录源地址。通过反复这样的学习,交换机会构建一个基于所有端口的转发数据库,存储在交换机的内容可寻址存储器当中(CAM )。

 

1

 

       在交换机学习到所有端口的信息后,计算机A 再次发送数据包给B 时,就不再广播地址,而是直接发送到转发数据库中所对应的B 端口。通过这样的学习,在交换机上实现了微分段,每个连接到交换机端口的计算机都可以独享带宽。

3 、什么是路由

       路由工作在OSI 参考模型的第三层网络层当中,它是基于第三层的IP 地址信息来作为判断依据来将网络划分成不同段(IP 子网)的技术,与桥接和交换不同, 路由划分的是独立的逻辑网段,每个所连接的网段都具有独立的网络IP 地址信息,而不是以MAC 地址作为判断路径的依据,这样路由便有隔离广播的能力;而交换和桥接是划分物理网段,它们仅仅是将物理传输介质进行分段处理。同时路由具备路径选择的功能,会根据不同的目的IP 地址来分析到达目的地最合适的路径。

       在下图中,我们看到路由器所连接了三台交换机,这三台交换机分别被划分为三个不同的子网地址段:192.168.0.0192.168.1.0 192.168.3.0 。当计算机AB 发送数据包时,在不知道到达B 的路径时,交换机A 会将数据包在自己所在的段上全网广播,当到达路由器中,路由器便 不会再广播这个数据包,它根据路由协议的规则来判断到达B 应该选择将其转发到那个段上,这时便会将数据包转发到对应的IP 地址段当中,而不广播到不需要这个数据包的C 网段当中。如果路由器中没有规则定义到达目的IP 地址的路径时,它会直接丢弃这个数据包。

 

3


      
路由器主要有路径选择和数据转发两个基本功能,但在很多场景下,路由器一般都承担着网关的角色。在国内,我们通常都是采用PPPOE 拨号或者静态路由两种 方式实现局域网共享上网。这时,路由器主要的功能是实现局域网和广域网之间的协议转换,这同样也是网关的主要用途。

4 、三者之间的区别

1 )位于参考模型的层数不同

       在开放系统互联参考模型当中,网桥和交换机都是位于参考模型的第二层- 数据链路层,而路由器则位于更高一层- 网络层。

2 )基于的路径判断条件不同

       由于位于OSI 参考模型的层数不同,所以使交换机、网关这两种设备判断路径的条件也不相同,网桥和交换机是根据端口的MAC 地址来判断数据包转发,而路由器则使用IP 地址来进行判断。

3 )控制广播的能力不同

       网桥和交换机(三层交换机或支持VLAN 功能的除外)这两种设备是无法控制网络的广播,如果有广播数据包,就会向所有的端口转发,所以在大的网络环境当中,必须得要有路由器来控制网络广播。

4 )智能化程度不同

       在判断数据的时候,网桥只能判断是否在同一个物理网段,交换机则可以判断数据包是属于那个端口,但是这两种设备都没有选择最优路径的能力,而路由器基于IP 地址判断路径,所以会根据IP 地址信息来判断到达目的地的最优路径。

 

5 、三者的不同应用场景及未来发展

       在现实的应用环境当中,网桥已经基本上不会被使用了,在中小型的局域网当中,最常用到的组网设备便是交换机,是否选择路由器会根据网络的规模和功能来决 定,在大型网络中,路由器是必须的,用来控制广播,但是由于技术的不断延伸,交换机也被集成了基于IP 地址判断路径及控制广播的功能,所以,路由器现在逐 步在被可路由式交换机所取代。

       前面提到,路由器在很多场景下都是被用过网关,所以,随着宽带技术的迅速发展,在最末一公里,一种新兴的设备- 宽带路由器将会逐步取代传统路由器来实现网络的接入功能。

       相信通过上面的介绍,大家对于网桥、交换、路由及网关的功能有了更清晰的了解!

 

三、   brctl 的使用方法

 

有五台主机。其中一台主机装有linux ,安装了网桥模块,而且有四块物理网卡,分别连接同一网段的其他主机。我们希望其成为一个网桥,为其他四台主机(IP 分别为192.168.1.2 192.168.1.3192.168.1.4192.168.1.5) 之间转发数据包。同时,为了方便管理,希望网桥能够有一个IP192.168.1.1 ),那样管理员就可以在192.168.1.0/24 网段内的主机 上telnet 到网桥,对其进行配置,实现远程管理。

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

 

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

 

# brctl delbr br0

实际上,我们可以把逻辑网段192.168.1.0/24 看作使一个VLAN ,而br0 则是这个VLAN 的名称。

建立一个逻辑网段之后,我们还需要为这个网段分配特定的端口。在Linux 中,一个端口实际上就是一个物理网卡。而每个物理网卡的名称则分别为eth0eth1eth2eth3 。我们需要把每个网卡一一和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 +




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



然后给br0 的虚拟网卡配置IP192.168.1.1 。那样就能远程管理网桥。

 

# ifconfig br0 192.168.1.1

 

 

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

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

四、   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

 

 

 

 

本文链接:https://my.lmcjl.com/post/5092.html

展开阅读全文

4 评论

留下您的评论.