VLAN间通信 单臂路由
目标:通过路由器进行多个VLAN互联
环境:1. 交换机为二层交换机,支持VLAN划分;2. 路由器只有1个Ethernet接口
实施:采用单臂路由,即在路由器上设置多个逻辑子接口,每个子接口对应于一个VLAN。由于物理路由接口只有一个,各子接口的数据在物理链路上传递要进行标记封装。Cisco设备支持ISL和协议。华为设备只支持。
单臂路由的配置实例(略)
---------------------------------------------------------------------
在学习单臂路由的配置之前,建议大家先学好VLAN,起码要知道VLAN是怎么配置的,这样学单臂路由就轻松多了。
先来了解一下什么是单臂路由,为什么要用到单臂路由。VLAN(虚拟局域网)技术是路由交换中非常基础的技术。在网络管理实践中,通过在交换机上划分适当数目的vlan,不仅能有效隔离广播风暴,还能提高网络安全系数及网络带宽的利用效率。划分vlan之后,vlan与vlan之间是不能通信的,只能通过路由或三层交换来实现。我们知道路由器实现路由功能通常是数据报从一个接口进来然后另一个接口出来,现在路由器与交换机之间通过一条主干现实通信或数据转发,也就是说路由器仅用一个接口实现数据的进与出,因为我们形象地称它为单臂路由。单臂路由是解决vlan间通信的一种廉价而实用的解决方案。
下面请看图,PC-A和PC-B分别属于vlan10和vlan20,Switch2950是一个cisco的二层交换机,型号2950,欲实现vlan10和vlan20的通信,我们要增加一个路由器来转发vlan之间的数据包,路由器与交换机之间使用单条链路相连(图中画红线),这条链路也叫主干,所有数据包的进出都要通过路由器2600的f0/0端口来现实数据转发。
接下来,结合以上网络拓扑探讨一下单臂路由的配置。图中路由器是cisco的2600系列,交换机采用cisco的2950.
一、配置交换机
二、配置路由器
三、验证
最后配置PC-A和PC-B的IP地址和子网掩码,具体请看图。下面试试PC-A 主机 ping PC-B主机。实验结果能Ping通,配置成功。
验结果能Ping通,配置成功。
-----------------------------------------------------------------------
单臂路由(Vlan间路由)
众多中小企业内部网络结构都很简单,仅仅是用一台交换机将所有员工机以及服务器连接到一起,然后通过光纤访问internet而已。当然为了保证部分主机的安全性以及分割内部广播包提高网络传输速度,采取诸如划分VLAN,分配不同子网的方法来实现。通过划分VLAN可以让在同一台交换机不同端口的客户机不能互相访问,有效的隔离了网络。
通过VLAN划分网络固然可以解决安全和广播风暴的频繁出现,但是对于那些既希望隔离又希望对某些客户机进行互通的公司来说,划分VLAN的同时为不同VLAN建立互相访问的通道也是必要的。
众所周知可以使用三层交换机来实现,但是大多数情况企业网络搭建初期购买的仅仅是二层可管理型交换机,如果要购买三层交换机实现VLAN互通功能的话,以前的二层设备将被丢弃。这样就造成了极大的浪费。那么有没有什么办法在仍然使用二层设备的基础上,实现三层交换机的功能呢 一、三层交换机的原理:
在告诉各位读者解决方法前我们需要首先了解三层交换机的工作原理。理论上讲一台三层交换机可以看做是一个二层交换机+一个路由模块,实际使用中各个厂商也是通过将路由模块内置于交换机中实现三层功能的。在传输数据包时先发向这个路由模块,由其提供路由路径然后再由交换机转发相应的数据包。 二、单臂路由原理:
既然仍然要使用以前的二层设备,那么我们可以通过添加一台路由器解决上面提到的企业网络升级问题。这台路由器就相当于三层交换机的路由模块,只是我们将其放到了交换机的外部。具体原理拓扑
大家可以看出在router路由器与交换机之间是通过外部线路连接的,这个外部线路只有一条,但是他在逻辑上是分开的,需要路由的数据包会通过这个线路到达路由器,经过路由后再通过此线路返回交换机进行转发。所以大家给这种拓扑方式起了一个形象的名字——单臂路由。说白了,单臂路由就是包从哪个口进去,又从哪个口出来,而不象传统网络拓扑中数据包从某个接口进入路由器又从另一个接口离开路由器。
那么什么时候要用到单臂路由呢在企业内部网络中划分了VLAN,当VLAN 之间有部分主机需要通信,但交换机不支持三层交换,这时候可以采用一台支持的路由器实现VLAN的互通。我们只需要在以太口上建立子接口,并分配IP地址作为该VLAN的网关,同时启动协议即可。 小提示:
一个物理接口当成多个逻辑接口来使用时,往往需要在该接口上启用子接口。通过一个个的逻辑子接口实现物理端口以一当多的功能。 三、实战单臂路由:
笔者所在公司恰恰遇到了上面说的问题,原来使用交换机连接内部网,划分了VLAN。但是现在需要让这些VLAN实现互通,笔者购买了一台华为2621路由器来实施单臂路由解决此问题。具体拓扑图如图1所示。
交换机连接了多个网段,有, 。每个网段都处在不同的VLAN中。所有数据包都通过光
纤连接到核心设备。由于交换机上的光纤接口只对于有效,所以其他网段的计算机在没有路由器的前提下都无法正常上网。这时我们就需要通过华为2621路由器为他们指明路由下一跳的地址,完成数据包的传输。 (1)交换机上配置:
交换机上划分VLAN以及将不同接口和网段加入不同VLAN的操作这里就不详细说明了J导是榭鲋对应VLAN302,对应VLAN303,对应 VLAN304,对应VLAN305。下一条的路由地址为,对应的VLAN号是307。
自己注:一定记着配置trunk端口 (2)路由器上的配置:
本实战路由器上的配置是关键,需要将连接交换机设备的那个接口设置为多个子接口。 第一步:用console线连接路由器,进入ethernet 0端口,并启用该接口。 int ethernet 0 undo shut(如图2)
图2:进入E0端口并启用
第二步:不要对ethernet 0直接操作,为其添加多个子接口。 int ethernet int ethernet int ethernet int ethernet int ethernet
第三步:为每个子接口设置trunk模式,并添加到对应的VLAN中。我们以为例子,其他几个子接口设置命令类似。 int
vlan dot1q vid 302(如图3)
图3:为子接口设置trunk模式 (自己注:在CISCO中,interface f0/
F0/ 然后配置:encapsulation doq1 1 (vlan 1)
2 3 ) 小提示:
在设置trunk模式时需要我们定义trunk所使用的协议,一般来说有 ISL和dot1q两种协议提供给我们选择,如果你的设备都是CISCO的话使用哪个都可以,但是如果你的设备有CISCO还有别的公司的产品的话就必须使用协议了,笔者这样的网络环境,由于路由器是华为2621,所以必须使用协议进行trunk通讯。笔者开始就盲目的设置为 ISL结果网络始终不通,后来才想到这个问题。
第四步:接下来我们还需要使用ip address命令为每个子接口设置好IP地址。 第五步:为路由器添加一个缺省路由,指向光纤通往核心设备的IP地址。 ip route-static 0.0.0.0
第六步:保存所有设置后使用dis cur命令查看当前配置列表。(如图4)
四、常见问题:
在配置单臂路由过程中要特别注意以下几个问题:
(1)不要对ethernet0进行任何配置,我们只需要对其子接口进行划分和设置即可。 (2)不要忘记将ethernet0开启,使用命令undo shut,这样所有子接口会同时开启。 (3)如果有防病毒ACL等列表的话不要忘记在最后添加到ethernet0上。
(4)由于单臂路由数据包进出都使用同一个接口必然对该路由器的硬件要求比较高,所
以在实际使用中不要随便找一台低端路由器充数,稳定和较大内存是担当单臂路由器的设备所必须的。
(5)在设置TRUNK类型时候要根据实际情况选择是ISL还是协议。
(6)所有配置命令都需要在路由器没有连接交换机的状态下进行,当所有设置信息输入完毕并保存后才可以使用网线将路由器和交换机连接。为什么呢因为单臂路由很消耗路由器的资源,所以如果在配置过程中已经将该路由器连接到了单臂拓扑中那么输入命令,显示命令会变得非常缓慢。笔者刚开始就是这样边连接边设置的,发现路由器跟死机一样,执行一个dis cur显示配置信息命令居然要等待十分钟以上,也可能是内网中已经有的病毒在发送大量数据包造成的。总之还是设置完毕再连接网络比较保险。 五、单臂路由的缺点:
单臂路由的缺点也是显而易见的,一方面他非常消耗路由器CPU与内存的资源,在一定程度上影响了网络数据包传输的效率,另一方面将本来可以由三层交换机内部完成的工作交给了额外的设备完成,对于连接线路要求也是非常高的。另外通过单臂路由将本来划分得好好的VLAN彻底打破,原有的提高安全性与减少广播数据包等措施起到的效果也大大降低了。当然不管怎么说单臂路由仍然是企业网络升级,经费紧张时一个不错的选择。 总结:
单臂路由方式仅仅是对现有网络升级时采取的一种策略,在企业内部网络中划分了 VLAN,当VLAN之间有部分主机需要通信,但交换机不支持三层交换,这时我们使用该方法来解决实际问题。由于单臂路由存在着很多这样或那样的缺点,所以不建议大家在网络搭建初期就使用这种方式建立拓扑。
再给个cisco的命令以参考 实验设备:
一台2620路由器 一台2950交换机 两台PC
实验目的:
学习VLAN间的单臂路由配置实现!
实验步骤:
Router>en Router#conf t
Router(config)#int f0/0 Router(config-if)#no sh Router(config-if)#int f0/
Router(config-subif)#encapsulation dot1q 10 Router(config-subif)#ip add sh Router(config-subif)#int f0/
Router(config-subif)#encapsulation dot1q 20 Router(config-subif)#ip add sh Switch>en
Switch#vlan database
Switch(vlan)#vlan 10 name text10 Switch(vlan)#vlan 20 name text20 Switch(vlan)#apply Switch(config-if)#int f0/1
Switch(config-if)#switchport access vlan 10 Switch(config-if)#int f0/2
Switch(config-if)#switchport access vlan 20 Switch(config-if)#int f0/12
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk encapsulation dot1q pc1
c:/ip /ip /dg /ip /dg 实验测试: PC1可以和PC2通信!
实验总结:
注意以下命令:
Router(config-subif)#encapsulation dot1q 10 路由器的封状方式 为DOT1Q 后面的10为 F0/
Switch(config-if)#switchport trunk encapsulation dot1q 交换机的F0/12为 TRUNK 封装方式为 DOT1Q
单臂路由实验是一个基本的路由实验,现在把我个人的配置方法写出来,和大家一起探讨。以下是拓扑图!(本实验在BOSON模拟实验中完成)
首先对SW进行VLAN配置 >enable
#(config)hostname sw
#(config)vlan database进入vlan配置模式 #(config)vlan 10 name test1划分vlan并命名 #(config)vlan 20 name test2 #(config)exit退出vlan配置模式 #(config)int f0/1进入端口f0/1 将相应端口划分到相应的vlan中 #(config)switchport access vlan 10 #(config)int f0/2
#(config)switchport access vlan 20
我们知道,如果没有路由支持的情况下,vlan10与vlan 20 是不能进行通信的。这里,我们就用到单臂路由来作为各vlan 间的桥梁。在这个实验里,我们要用到dot1q封装协议。同时,在交换机上配置trunk,并进行封装。 #(config)int f0/12
#(config)switchport mode trunk
#(config)switchport trunk encapsulation dot1q 在交换机上配置trunk,并进行封装。
由于本节只探讨单臂路由,所以交换机就配置到这里 下面进行router配置
>enable
#(config)int e0进入e0并激活 #(config)no shut
#(config)int 建立子接口,并分配IP地址,这里的IP将成 为后面加入各vlan电脑的网关 #(config)encapsulation dot1q 10 #(config)ip add #(config)no shut #(config)exit #(config)int
#(config)encapsulation dot1q 20 #(config)ip add #(config)no shut
现在我们对pc 进行配置,这里介绍两种方法,一种图形界面,一种命令界面。首先用图形#winipcfg 当输入些命后有一个图形界面弹出,把相应的IP与网关填上。以PC1为例,我们就应填入。 网关:一.
1.实验器材:
2811路由器一台,2690交换器一台,二台pc机 2.先在交换机上配置二个vlan vlan 2:
网关: 网络id: pc0: vlan 3: 网关: 网络id: pc1: 二.配置: 1.配置路由器: Router>enable
Router#configure terminal
Router(config)#interface fastEthernet 0/0 Router(config-if)#no ip address Router(config-if)#no shutdown Router(config-if)#exit
Router(config)#interface fastEthernet 0/ Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip address Router(config-subif)#no shutdown Router(config-subif)#exit
Router(config)#interface fastEthernet 0/ Router(config-subif)#encapsulation dot1Q 3
Router(config-subif)#ip address Router(config-subif)#no shutdown Router(config-subif)#end
Router#show running-config 2.配置交换机: Switch>enable
Switch#configure terminal
Switch(config)#interface fastEthernet 0/3 Switch(config-if)#switchport mode trunk Switch(config-if)#exit Switch(config)#vlan 2
Switch(config-vlan)#name wangchao2 Switch(config-vlan)#vlan 3
Switch(config-vlan)#name wangchao3 Switch(config-vlan)#exit
Switch(config)#interface fastEthernet 0/1 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 2 Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 3 Switch(config-if)#end
Switch#show running-config 3.配置pc机: pc0: 网关:
ip: 子网掩码:(/27) pc1:
网关: ip: 子网掩码:(/27)
路由模拟PC进行单臂路由实验
实验环境说明:
1.利用路由器R1、R2模拟PC,关闭其路由功能;
2.将路由器R1的Fa0/0端口的ip设为:,默认网关设为:; 3.将路由器R2的Fa0/0端口的ip设为:,默认网关设为:;
4.将交换机SW1关闭路由功能,作为二层交换机使用,并划分VLAN14、VLAN15两个VLAN;
5.将交换机SW1的Fa1/14端口加入到VLAN14中,将Fa1/15端口加入到VLAN15中; 6.在路由器R3的Fa0/0接口启用子接口Fa0/(ip设为:)、Fa0/(ip设为:)并封装相应的VLAN号;
实验结果要求R1、R2能够互相ping通对方。
实验配置过程: 交换机SW1的配置清单: 1.划分VLAN: SW1#vlan data SW1(vlan)#vlan 14 SW1(vlan)#vlan 15 SW1(vlan)#exit
2.将端口加入到相应的VLAN: SW1(config)#int fa1/14 SW1(config-if)#speed 100 SW1(config-if)#duplex full SW1(config-if)#switchport mod acc SW1(config-if)#switchport acc vlan 14 SW1(config-if)#exit SW1(config)#int fa1/15 SW1(config-if)#speed 100 SW1(config-if)#duplex full SW1(config-if)#switchport mod acc SW1(config-if)#switchport acc vlan 15 SW1(config-if)#exit 3.为Fa1/13端口配置干道: SW1(config)#int fa1/13
SW1(config-if)#switchport mod trunk
SW1(config-if)#switchport trunk encapsulation dot1q SW1(config-if)#no shut SW1(config-if)#exit 4.关闭交换机的路由功能: SW1(config)#no ip routing 路由器R3的配置清单: 1.开启路由器R3的路由功能: R3(config)#ip routing
2.启用子接口、封装VLAN并设置ip: R3(config)#int fa0/
R3(config-subif)#encapsulation dot1q 14 R3(config-subif)#ip add R3(config-subif)#no shut R3(config-subif)#exit R3(config)#int fa0/
R3(config-subif)#encapsulation dot1q 15 R3(config-subif)#ip add R3(config-subif)#no shut R3(config-subif)#exit
3.配置Fa0/0端口并启动该端口: R3(config)#int fa0/0 R3(config-if)#speed 100 R3(config-if)#duplex full R3(config-if)#no shut 路由器R2的配置清单: R2(config)#no ip routing R2(config)#ip default-gateway R2(config)#int fa0/0
R2(config-if)#speed 100 R2(config-if)#duplex full R2(config-if)#ip add R2(config-if)#no shut 路由器R1的配置清单: R1(config)#no ip routing R1(config)#ip default-gateway R1(config)#int fa0/0 R1(config-if)#speed 100 R1(config-if)#duplex full R1(config-if)#ip add R1(config-if)#no shut R1(config-if)#exit