1.问题的提出
如下图二层网络,PC1 和 PC2 所属 VLAN100 ,PC3 和PC4 所属 VLAN200,VLAN100 或 VLAN200 内的主机可以彼此通信,但VLAN100 和 VLAN200 之间的主机无法直接通信,如果要实现访问,就需要中间加一个网关。
2.双臂路由
如下图,可以通过添加一台路由器来实现不同 VLAN 间路由功能而使不同 VLAN 间主机互相访问。
2.1拓扑图
PC配置信息如下:
2.2配置网络互联互通
# 路由器AR1配置
[AR1]int GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.100.254 24
[AR1-GigabitEthernet0/0/1]quit
[AR1]int GigabitEthernet 0/0/2
[AR1-GigabitEthernet0/0/2]ip address 192.168.200.254 24
[AR1-GigabitEthernet0/0/2]quit
[AR1]
# 交换机SW1配置
[SW1]vlan batch 100 200
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]
[SW1]int Eth0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1]port default vlan 100
[SW1-Ethernet0/0/1]quit
[SW1]int Ethernet0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 100
[SW1-Ethernet0/0/2]quit
[SW1]int Ethernet0/0/3
[SW1-Ethernet0/0/3]port link-type access
[SW1-Ethernet0/0/3]port default vlan 200
[SW1-Ethernet0/0/3]quit
[SW1]int Ethernet0/0/4
[SW1-Ethernet0/0/4]port link-type access
[SW1-Ethernet0/0/4]port default vlan 200
[SW1-Ethernet0/0/4]quit
[SW1]
# SW1与路由器AR1对接的接口配成access口
[SW1]int GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access
[SW1-GigabitEthernet0/0/1]port default vlan 100
[SW1-GigabitEthernet0/0/1]quit
[SW1]int GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2]port link-type access
[SW1-GigabitEthernet0/0/2]port default vlan 200
[SW1-GigabitEthernet0/0/2]quit
[SW1]
2.3不同VLAN间互访验证
在PC1上 ping 另一VLAN主机PC4:
由于 VLAN100 和 VLAN200 内的主机分别处于不同的网段,PC1 发送报文给 PC4 的时候,报文先交给 AR1 ,AR1 的接口 GE 0/0/1 的IP地址是 192.168.100.254 ,是主机A的网关。SW1 发给报文给 AR1 之前要剥离VLAN标签,AR1的GE 0/0/1 接口收到的是Untagged报文。
AR1根据报文的目标IP地址查路由表,由于 Ge 0/0/1 和 Ge 0/0/2 是AR1的直连路由,因此AR1的路由表如下:
全面查询的信息如下:
[AR1]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.100.0/24 Direct 0 0 D 192.168.100.254 GigabitEthernet0/0/1
192.168.100.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
192.168.100.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
192.168.200.0/24 Direct 0 0 D 192.168.200.254 GigabitEthernet0/0/2
192.168.200.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
192.168.200.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[AR1]
查表后,将报文从Ge 0/0/2的接口转发出去,交换机SW1收到该报文的时候添加VLAN200,最后到达主机PC4。
3.单臂路由
在上面的例子中,双臂路由消耗了2个路由器物理接口,为了节省路由器的物理接口,可以采用单臂路由来实现不同 VLAN 间路由的功能。
3.1 拓扑图
将前面的图进行简化:SW1与AR1之间只有一条物理链路,SW1的接口用Trunk模式,让多个不同VLAN的报文通过,AR1的接口使用子接口处理携带不同VLAN的报文,Ge 0/0/1.1子接口绑定VLAN100,Ge 0/0/1.2子接口绑定VLAN200,此时VLAN标签的剥离和添加由AR1的子接口来完成。
3.2配置网络互联互通
# 配置交换机SW1
[SW1]vlan batch 100 200
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1-GigabitEthernet0/0/1]port link-type trunk
[SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 100 200
[SW1-GigabitEthernet0/0/1]quit
[SW1]
[SW1]int Ethernet0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1]port default vlan 100
[SW1-Ethernet0/0/1]quit
[SW1]
[SW1]int Ethernet0/0/4
[SW1-Ethernet0/0/4]port link-type access
[SW1-Ethernet0/0/4]port default vlan 200
[SW1-Ethernet0/0/4]quit
[SW1]
# 配置路由器AR1
[AR1]interface GigabitEthernet 0/0/1.1
[AR1-GigabitEthernet0/0/1.1]dot1q termination vid 100
[AR1-GigabitEthernet0/0/1.1]ip address 192.168.100.254 24
[AR1-GigabitEthernet0/0/1.1]arp broadcast enable # 启用arp广播功能
[AR1-GigabitEthernet0/0/1.1]quit
[AR1]
[AR1]interface GigabitEthernet 0/0/1.2
[AR1-GigabitEthernet0/0/1.2]dot1q termination vid 200
[AR1-GigabitEthernet0/0/1.2]ip address 192.168.200.254 24
[AR1-GigabitEthernet0/0/1.2]arp broadcast enable # 启用arp广播功能
[AR1-GigabitEthernet0/0/1.2]quit
[AR1]
3.3不同VLAN间互访验证
同样,在PC1上 ping 另一VLAN主机PC4:
这里主机 PC1 发报文给主机 PC4 的时候,报文先到达 SW1,SW1 再通过 trunk 口发给 AR1,由于这个报文带 VLAN100 的标签,因此子接口 Ge 0/0/1.1 会接收这个报文,并剥离 VLAN 标签,然后查路由表进行转发。报文从 Ge 0/0/1.2 子接口发出去之前,还会添加VLAN200,然后回到 SW1 ,最终到达主机 PC4 。
dot1q termination vid 100
这条命令表示给子接口绑定 VLAN 100,该子接口会接收带 VLAN 100 的报文,同时发出去之前也会添加VLAN100 标签。
路由器默认丢弃子接口的广播报文,因此需要启用arp广播功能,否则就造成业务不通。
查看路由表,可以看到两个子接口的目的路由:
[AR1]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
192.168.100.0/24 Direct 0 0 D 192.168.100.254 GigabitEthernet0/0/1.1
192.168.100.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1.1
192.168.100.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1.1
192.168.200.0/24 Direct 0 0 D 192.168.200.254 GigabitEthernet0/0/1.2
192.168.200.254/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1.2
192.168.200.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1.2
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
[AR1]