在现实网络中,经常会遇到需要跨VLAN相互访问的情况。
很多网工通常会选择一些方法,来实现不同VLAN间主机的相互访问,例如单臂路由。
但是,单臂路由技术中由于存在一些局限性,比如带宽、转发效率等,使得这项技术应用较少。
三层交换机在原有二层交换机的基础之上增加了路由功能,同时由于数据没有像单臂路由那样经过物理线路进行路由,很好地解决了带宽瓶颈的问题,为网络设计提供了一个灵活的解决方案。
今天这篇文章,我们会来盘点一下实现VLAN间路由的几种方法,希望可以帮到你。
今日文章阅读福利:《TCP-IP路由技术(第1卷)(第2版)》
需要深入学习路由技术的小友,可以私信我,备注“路由技术”,前20名私信的小友送出该经典网工书籍资源。
第一步,PC设置IP地址和网关
192.168.2.2/24 网关是192.168.2.1
192.168.3.2/24 网关是192.168.3.1
第二步,交换机创建VLAN,划分VLAN
[sw]vlan batch 2 3
[sw]int e0/0/1
[sw-Ethe.NET0/0/1]port lin ac
[sw-Ethernet0/0/1]port def vlan 2
[sw-Ethernet0/0/1]int e0/0/2
[sw-Ethernet0/0/2]port lin ac
[sw-Ethernet0/0/2]port def vlan 2
[sw-Ethernet0/0/2]int e0/0/3
[sw-Ethernet0/0/3]port lin ac
[sw-Ethernet0/0/3]port def vlan 3
[sw-Ethernet0/0/3]int e0/0/4
[sw-Ethernet0/0/4]port lin ac
[sw-Ethernet0/0/4]port def vlan 3
第三步,路由器配置接口地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.2.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.3.1 24
第一步,PC设置IP地址和网关
192.168.2.2/24 网关是192.168.2.1
192.168.3.2/24 网关是192.168.3.1
第二步,交换机创建VLAN,划分VLAN
[sw]vlan batch 2 3
[sw-Ethernet0/0/1]int e0/0/2
[sw-Ethernet0/0/2]port lin ac
[sw-Ethernet0/0/2]port def vlan 2
[sw-Ethernet0/0/2]int e0/0/3
[sw-Ethernet0/0/3]port lin ac
[sw-Ethernet0/0/3]port def vlan 3
第三步,交换机连接路由器的端口设置为trunk模式
[sw]int e0/0/1
[sw-Ethernet0/0/1]port lin tr
[sw-Ethernet0/0/1]port tr al vlan all
第四步,路由器配置子接口
[Huawei]int g0/0/0.20 这个编号是随意的
[Huawei-GigabitEthernet0/0/0.20]dot1q termination vid 2 封装的VLAN,你为VLAN服务,就封装VLAN
[Huawei-GigabitEthernet0/0/0.20]ip add 192.168.2.1 24 这个地址就是网关地址
[Huawei-GigabitEthernet0/0/0.20]arp broadcast enable 允许ARP广播
[Huawei-GigabitEthernet0/0/0.20]int g0/0/0.30
[Huawei-GigabitEthernet0/0/0.30]d t v 3
[Huawei-GigabitEthernet0/0/0.30]ip add 192.168.3.1 24
[Huawei-GigabitEthernet0/0/0.30]arp be
简单来说,你可以分三步走:
第一步,PC设置地址和网关
第二步,交换机创建VLAN,把端口加入VLAN
[Huawei]sys sw
[sw]vlan b 2 3
[sw]int g0/0/1
[sw-GigabitEthernet0/0/1]port lin ac
[sw-GigabitEthernet0/0/1]port def vlan 2
[sw-GigabitEthernet0/0/1]int g0/0/2
[sw-GigabitEthernet0/0/2]port lin ac
[sw-GigabitEthernet0/0/2]port def vlan 3
第三步,在交换机上创建SVI接口(交换虚拟接口)有几个VLAN就创建几个,这个接口就是VLAN的网关地址。
[sw-GigabitEthernet0/0/2]int vlan 2
[sw-Vlanif2]ip add 192.168.2.1 24
[sw-Vlanif2]int vlan 3
[sw-Vlanif3]ip add 192.168.3.1 24
接下来,以三层交换机为基础,模拟企业网络场景,来看下整个具体的实现过程。
公司有两个部门,销售部和客服部,分别规划使用VLAN 10 和VLAN 20。
其中销售部下有两台终端PC-1和PC-2,客服部下有一-台终端PC-3,所有终端都通过核心三层交换机S1相连。
现需要让该公司所有三台主机都能实现互相访问,网络管理员将通过配置三层交换机来实现。
01 实验拓扑
利用三层交换机实现VLAN间路由的拓扑如图3-6所示。
02 实验步骤
1. 基本配置
根据实验编址表在PC上进行相应的基本IP地址配置,三层交换机S1上暂先不做配置。
配置完成后,测试销售部两台终端PC-1与PC-2间的连通性。
可以观察到,通信正常。
测试销售部PC-1与客服部PC-3间的连通性。
PC-1与PC-3间无法正常通信,下面简要分析主机PC-1.发出数据包,直至反馈目的无法到达的整个过程:
主机发出数据包前,将会查看数据包中的目的IP地址。
如果目的IP地址和本机IP地址在同-一个网段上,主机会直接发出一个ARP请求数据包来请求对方主机的mac地址,封装数据包,继而发送该数据包。
但如果目的IP地址与本机IP地址不在同一个网段,那么主机也会发出一个ARP数据包请求网关的MAC地址,收到网关ARP回复后,继而封装数据包后发送。
所以,销售部主机PC-1在访问192.168.2.1 这个IP地址时发现这个目的IP地址与本机IP地址不在同一个IP 地址段上,PC-1 便会发出ARP数据包请求网关192.168.1.254的MAC地址。
但由于交换机没有做任何IP配置,因此没有设备应答该ARP请求,导致销售部主机PC-1无法正常封装数据包,因此无法与客服部PC-3正常通信。
2. 配置三层交换机实现VLAN间通信
通过在交换机上设置不同的VLAN使得主机实现相互隔离。在三层交换机S1上创建VLAN 10和VLAN 20,把销售部的主机全部划入VLAN 10中,客服部的主机划入VLAN20中。
现在需要通过VLAN间路由来实现通信,在三层交换机上配置VLANIF接口。
在S1上使用interface VLANif命令创建VLANIF接口,指定VLANIF接口所对应的VLAN ID为10,并进入VLANIF接口视图,在接口视图下配置IP地址192.168.1.254/24.再创建对应VLAN 20的VLANIF 接口,地址配置为192.168.2.254/24。
配置完成后,查看接口状态。
可以观察到,两个VLANIF接口已经生效。再次测试PC-1与PC-3间的连通性。
可见通信正常,实现了销售部终端与客服部终端间的通信。PC-2上的测试省略。
在PC-1上查看ARP信息。
可以观察到,目前PC上ARP解析到的地址只有交换机的VLANIF 10 的地址,而没有对端的地址,PC-1 先将数据包发送至网关,即对应的VLANIF 10 接口,再由网关转发到对端。
整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部