新出!如何使用外部路由器实现 VLAN 间路由?
路由器实现VLAN路由的方式


如图,PC1 作为 VLAN 10 的成员,将通过外部路由器的子接口与 VLAN 20 中的 PC2 实现通信。以下是配置及验证的具体步骤。
第 1 步:在 R1 的 Ethernet 0/0 接口上,配置用于路由 VLAN 10 流量的子接口。
路由器只能通过子接口的方式实现 VLAN 间路由。必须为每个 VLAN 配置一个子接口。
R1(config)# interface ethernet 0/0.10
R1(config-subif)# encapsulation dot1q 10
R1(config-subif)# ip address 10.0.10.1 255.255.255.0
路由器的子接口上配置了 Trunk。一条物理链路上的所有子接口必须配置相同的 Trunk
封装协议。而且路由器侧配置的封装协议必须与对端交换机配置的封装类型一致。一般情况下使用的都是 802.1Q 封装。想要在子接口上配置 802.1Q 封装,可以在子接口模式下使用 encapsulation dot1qvlan-id 命令。子接口编号不必与封装的 VLAN 编号一致。不过,推荐将其配置成一样的值,因为可以使配置的管理工作更加简单。子接口上配置的 IP 地址用做 VLAN 中用户的默认网关 IP 地址。
第 2 步:在 R1 的 Ethernet 0/0 接口上,配置用于路由 VLAN 20 流量的子接口。
R1(config)# interface ethernet 0/0.20
R1(config-subif)# encapsulation dot1q 20
R1(config-subif)# ip address 10.0.20.1 255.255.255.0
第 3 步:在 R1 的 Ethernet 0/0 接口上,配置一个新的子接口,用于路由未打标签的流量。
配置一个用于 native VLAN 的子接口,默认为 VLAN 1。
R1(config)# interface ethernet 0/0.1
R1(config-subif)# encapsulation dot1q 1 native
R1(config-subif)# ip address 10.0.1.1 255.255.255.0
注释:针对未打标签流量的路由选择,还有另一种配置方法,就是在某个物理端口上配置 native
VLAN 的 IP 地址,使其专用于 native VLAN。这种方法的缺点是,当管理员不打算路由未打标签
流量时,会将物理接口关闭。但与此同时,此接口上的所有子接口也会被一并关闭掉。
第 4 步:在 R1 上,查看所有配置的子接口状态是否为 up。
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
Ethernet0/0 unassigned YES NVRAM up up
Ethernet0/0.1 10.0.1.1 YES manual up up
Ethernet0/0.10 10.0.10.1 YES manual up up
Ethernet0/0.20 10.0.20.1 YES manual up up
Ethernet0/1 unassigned YES NVRAM administratively down down
Ethernet0/2 unassigned YES NVRAM administratively down down
Ethernet0/3 unassigned YES NVRAM administratively down down
第 5 步:将 SW1 的 Ethernet 0/0 配置成 Trunk 端口,仅允许通过 VLAN 1、VLAN 10,及 VLAN 20 流量。SW1 和 R1 之间的链路必须配置成 Trunk 链路才能承载所有配置的 VLAN。当前 R1侧已经配置了 Trunk,此步骤配置 SW1 侧的 Trunk。推荐手动配置 Trunk(不协商建立),并只允许在用的 VLAN 通过
