大家好,又见面了,我是你们的朋友全栈君。
使用原因
以太网中使用VLAN技术隔离二层广播域,其导致不同VLAN之间不能直接通信。在现实中,通常会有跨VLAN通信的情况,单臂路由技术就是解决VLAN间通信的一种方法。缺点:容易成为网络单点故障,配置稍有复杂,现实意义不大。
单臂路由原理
单臂路由的原理是通过一台路由器,使VLAN间通过路由器的三层转发能够互通数据,在路由器的一个物理接口通过配置子接口(即逻辑接口)的方式来实现以一当多的功能、路由器同一物理接口的不同子接口作为不同VLAN的默认网关,当不同VLAN间的用户主机需要通信时,只需将数据包发送给网关,网关处理后再发送至目的主机所在VLAN,从而实现VLAN间通信。
实验内容
本实验模拟公司网络场景。公司内部网络通过划分不同的VLAN隔离了不同部门之间的二层通信,保证各部门间的信息安全,但是由于业务需要,VLAN间需要互相通信。
实验拓扑
实验步骤
1.创建VLAN并配置Access、Trunk接口
在S2上创建VLAN10和VLAN20,把e0/0/1和e0/0/2接口配置为Access接口类型,并划分到响应的VLAN中。
代码语言:javascript复制[Huawei]vlan 10
[Huawei-vlan10]vlan 20
[Huawei-vlan20]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]por de vlan 10
[Huawei-Ethernet0/0/1]int e0/0/2
[Huawei-Ethernet0/0/2]port link-type access
[Huawei-Ethernet0/0/2]por de vlan 20
在S3上创建VLAN30,把e0/0/1接口配置为Access类型并划分到VLAN30中。
代码语言:javascript复制[Huawei]vlan 30
[Huawei-vlan30]int e0/0/1
[Huawei-Ethernet0/0/1]port link-type access
[Huawei-Ethernet0/0/1]port default vlan 30
交换机之间,路由器和交换机之间的接口需要传递多个VLAN信息,需要配置成Trunk接口。 将S2和S3的g0/0/2接口配置成Trunk类型,并允许所有VLAN通过。
代码语言:javascript复制[Huawei-Ethernet0/0/2]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type trunk
[Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all
在S1上创建VLAN10,20,30,并配置交换机与路由器的接口类型是Trunk,允许所有VLAN通过。 [Huawei]vlan batch 10 20 30 [Huawei]int g0/0/2 [Huawei-GigabitEthernet0/0/2]port link-type trunk [Huawei-GigabitEthernet0/0/2]port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/2]int g0/0/3 [Huawei-GigabitEthernet0/0/3]port link-type trunk [Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan all [Huawei-GigabitEthernet0/0/3]int g0/0/1 [Huawei-GigabitEthernet0/0/1]port link-type trunk [Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan all
[Huawei-GigabitEthernet0/0/1]dis port vlan Port Link Type PVID Trunk VLAN List ——————————————————————————- GigabitEthernet0/0/1 trunk 1 1-4094 GigabitEthernet0/0/2 trunk 1 1-4094 GigabitEthernet0/0/3 trunk 1 1-4094 GigabitEthernet0/0/4 hybrid 1 – GigabitEthernet0/0/5 hybrid 1 – GigabitEthernet0/0/6 hybrid 1 – GigabitEthernet0/0/7 hybrid 1 – GigabitEthernet0/0/8 hybrid 1 – GigabitEthernet0/0/9 hybrid 1 – GigabitEthernet0/0/10 hybrid 1 – GigabitEthernet0/0/11 hybrid 1 – GigabitEthernet0/0/12 hybrid 1 – GigabitEthernet0/0/13 hybrid 1 – GigabitEthernet0/0/14 hybrid 1 – GigabitEthernet0/0/15 hybrid 1 – GigabitEthernet0/0/16 hybrid 1 – GigabitEthernet0/0/17 hybrid 1 – GigabitEthernet0/0/18 hybrid 1 – GigabitEthernet0/0/19 hybrid 1 – GigabitEthernet0/0/20 hybrid 1 – GigabitEthernet0/0/21 hybrid 1 – GigabitEthernet0/0/22 hybrid 1 – GigabitEthernet0/0/23 hybrid 1 – GigabitEthernet0/0/24 hybrid 1 –
2.配置路由器子接口和IP地址 在R1上创建子接口G0/0/1.1,配置IP地址192.168.1.254/24,作为VLAN1的网关。 创建子接口G0/0/1.2,配置IP地址192.168.2.254/24,作为VLAN2的网关。 创建子接口G0/0/1.3,配置IP地址192.168.3.254/24,作为VLAN3的网关。
代码语言:javascript复制[Huawei]int g0/0/1.1
[Huawei-GigabitEthernet0/0/1.1]ip add 192.168.1.254 24
[Huawei-GigabitEthernet0/0/1.1]int g0/0/1.2
[Huawei-GigabitEthernet0/0/1.2]ip add 192.168.2.254 24
[Huawei-GigabitEthernet0/0/1.2]int g0/0/1.3
[Huawei-GigabitEthernet0/0/1.3]ip add 192.168.3.254 24
PC机上配置IP和网关地址后,在PC1测试与PC2和PC3z之间的连通性。
代码语言:javascript复制PC>ping 192.168.2.1
Ping 192.168.2.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
---
PC>ping 192.168.3.1
Ping 192.168.3.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
---
可以观察到,通信仍然无法建立。
3.配置路由器子接口封装VLAN 由S1发送到R1的数据都加上了VLAN标签,而路由器作为三层设备,默认无法处理带了VLAN标签的数据包。因此需要在路由器上的子接口下配置对应VLAN的封装,使路由器能够识别和处理VLAN标签,包括剥离和封装VLAN标签。在R1的子接口E0/0/1.1上封装VLAN10并开启子接口的ARP广播功能。 使用dot1q termination vid命令配置子接口对一层tag报文的终结功能。即配置该命令后,路由器子接口在接收带有VLAN tag的报文时,将剥掉tag进行三层转发。在发送报文时,会将与该子接口对应VLAN的tag添加到报文中。 使用arp broadcast enable命令开启子接口的ARP广播功能。如果不配置该命令,将会导致该子接口无法主动发送ARP广播报文,以及向外转发IP报文。
[Huawei-GigabitEthernet0/0/1.3]int g0/0/1.1 [Huawei-GigabitEthernet0/0/1.1]dot1q termination vid 10 [Huawei-GigabitEthernet0/0/1.1]arp broadcast enable [Huawei-GigabitEthernet0/0/1.1]int g0/0/1.2 [Huawei-GigabitEthernet0/0/1.2]dot1q termination vid 20 [Huawei-GigabitEthernet0/0/1.2]arp broadcast enable [Huawei-GigabitEthernet0/0/1.2]int g0/0/1.3 [Huawei-GigabitEthernet0/0/1.3]dot1q termination vid 30 [Huawei-GigabitEthernet0/0/1.3]arp broadcast enable
4.测试结果 在PC1上分别测试网关地址192.168.1.254和PC2,3之间的连通性。
代码语言:javascript复制PC>ping 192.168.1.254
Ping 192.168.1.254: 32 data bytes, Press Ctrl_C to break
From 192.168.1.254: bytes=32 seq=1 ttl=255 time=62 ms
From 192.168.1.254: bytes=32 seq=2 ttl=255 time=63 ms
From 192.168.1.254: bytes=32 seq=3 ttl=255 time=47 ms
From 192.168.1.254: bytes=32 seq=4 ttl=255 time=46 ms
From 192.168.1.254: bytes=32 seq=5 ttl=255 time=47 ms
---
PC>ping 192.168.2.1
Ping 192.168.2.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.2.1: bytes=32 seq=2 ttl=127 time=110 ms
From 192.168.2.1: bytes=32 seq=3 ttl=127 time=110 ms
From 192.168.2.1: bytes=32 seq=4 ttl=127 time=125 ms
From 192.168.2.1: bytes=32 seq=5 ttl=127 time=109 ms
---
PC>ping 192.168.3.1
Ping 192.168.3.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 192.168.3.1: bytes=32 seq=2 ttl=127 time=140 ms
From 192.168.3.1: bytes=32 seq=3 ttl=127 time=110 ms
From 192.168.3.1: bytes=32 seq=4 ttl=127 time=110 ms
From 192.168.3.1: bytes=32 seq=5 ttl=127 time=125 ms
---
可以观察到,通信正常。在PC1上tracertPC2
代码语言:javascript复制PC>tracert 192.168.2.1
traceroute to 192.168.2.1, 8 hops max
(ICMP), press Ctrl C to stop
1 192.168.1.254 79 ms 62 ms 63 ms
2 192.168.2.1 125 ms 125 ms 125 ms
可以观察到PC1先把ping包发送给自身的网关192.168.1.254,然后再由网关发送到PC2。
PC1pingPC2的过程
两台PC由于处于不同的网络中,这是PC1会将数据发往自己的网关,即路由器R1的子结构GE0/0/1.1地址192.168.1.254。 数据包到达路由器R1后,由于路由器的子接口已经配置了VLAN封装,当接收到PC1发送的VLAN10的数据帧时,发现数据帧的VLAN10跟自身的VLAN ID一样,便会剥离掉数据帧的VLAN标签后通过三层路由转发。 通过查找路由表后,发现数据包中的目的地址192.168.2.1所属的192.168.2.0/24网段的路由条目,已经是路由器的直连路由,且出接口是GE0/0/1.2,便将该数据包发送至GE0/0/1.2接口。当GE0/0/1.2接口接收到一个没有带VLAN标签的数据帧时,便会加上自身借口所配置的VLAN ID 20后再进行转发,然后通过交换机将数据帧顺利转发给PC2。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234190.html原文链接:https://javaforall.cn