单臂路由
一、单臂路由概述
1. 相关概念
单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
- 对于 VLAN 的链路类型:
交换机连接主机的端口为access链路
交换机连接路由器的端口为Trunk链路
路由器的三层接口不能配置为交换机的链路类型trunk - 在路由器上划分子接口:
路由器的物理接口可以被划分成多个逻辑接口
每个子接口对应一个VLAN网段的网关
二、单臂路由原理
单臂路由实现不同VLAN间通信的原理
代码如下(示例):
路由器重新封装MAC地址、转换VLAN标签
以上图为例,PC0 需要发送数据给 PC1,发现 PC1 和自己不是同一个网段,这时将数据交给自己的网关,网关为路由器0的F0/0.1子接口,通过ARP协议获取自己网关的MAC地址,数据会通过交换机进行转发,到了交换机之后,会为收到的数据打上vlan标签10,将数据穿到路由器0,路由器0收到数据,集合路由器的工作原理,查看目的IP地址,找到对应接口,再进行标签转换,再发送到交换机,这时交换机收到的就是打上vlan20标签数据,根据交换的mac地址表的对应关系直接转发。
三、单臂路由的配置
1. 配置链路类型
交换机与路由器之间的链路为trunk,在交换机上配置接口为trunk
Switch(config-if)#switchport mode trunk
2. 配置vlan标签的封装结构
为路由器子接口进行封装
Router(config)#interface fastethernet f0/0.1
Router(config-subif)#encapsulation dot1Q 10
3. 配置子接口
为路由器子接口配置IP地址,作为vlan的网关
Router(config-subif)#ip address 192.168.10.254 255.255.255.0
4. 开启物理接口
子接口基于物理接口,物理接口down,则子接口也为down状态
四、单臂路由配置案例
实验要求
- PC0 和 PC1 是属于不同 vlan 主机,在路由器上配置单臂路由实现 PC0 和 PC1 互通
- 在路由器0上配置 DHCP 使两台主机可以通过自动获取 IP 地址
实验步骤
- 在交换机上创建对应 vlan
- 将交换机 F0/3 接口加入 vlan 10,将交换机 F0/2 接口加入 vlan 20,将交换机 F0/1 接口进行 trunk
- 在路由器0上对 F0/1 接口进行子接口划分并进行封装,并配置 IP 地址,作为不同 vlan 的网关,几个 vlan 就划分几个子接口
- 在路由器上配置 DHCP 地址池,一个 vlan 配置一个地址池
交换机0:
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#vlan 20
Switch(config-vlan)#exit
Switch(config)#int f0/3
Switch(config-if)#sw acc vlan 10
Switch(config)#int f0/2
Switch(config-if)#sw acc vlan 20
Switch(config)#int f0/1
Switch(config-if)#sw mo trunk
路由器0:
Router>en
Router#conf t
Router(config)#int g0/0
Router(config-if)#no shut
Router(config-if)#exit
Router(config)#int g0/0.1
Router(config-subif)#en dot1q 10
Router(config-subif)#ip add 192.168.10.254 255.255.255.0
Router(config-subif)#exit
Router(config)#int g0/0.2
Router(config-subif)#encapsulation dot1q 20
Router(config-subif)#ip address 192.168.20.254 255.255.255.0
现在配置DHCP:
路由器0:
Router(config)#ip dhcp pool vlan10
Router(dhcp-config)#network 192.168.10.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.10.254
Router(dhcp-config)#exit
Router(config)#ip dhcp pool vlan20
Router(dhcp-config)#net 192.168.20.0 255.255.255.0
Router(dhcp-config)#default-router 192.168.20.254