在eNSP中模拟实现 VLAN 间通信之双臂路由与单臂路由

科技   2024-12-20 14:00   河北  

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]

Python运维实践
Python运维实践,专注于互联网技术的总结与交流,内容涉及Python自动化运维、Django框架、园区网络技术、linux云计算、系统架构及网络空间安全等知识的实践与分享。
 最新文章