上一章节我们介绍了VLAN的原理,交换机是如何转发带有VLAN的数据帧的?一文带你搞懂VLAN技术原理。知道了VLAN可以隔离二层广播域,属于不同VLAN的用户之间不能进行二层通信。
但是在实际应用中往往要求实现不同VLAN之间的主机通信,那么如何实现vlan间的通信呢?
可以借助三层路由将报文从一个VLAN转发到另外一个VLAN。
VLAN路由可以通过二层交换机配合路由器来实现,也可以通过三层交换机来实现。
正文
下面我们介绍下3种方法实现vlan间的通信。
通过路由器为每个VLAN分配一个物理接口实现VLAN间通信
实现方法:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。
当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。
优点:配置维护简单;
缺点:
- 成本太高,每增加一个vlan就需要一个端口和一条物理链路,浪费资源;
- 可扩展性差,当vlan增加到一定数量后,路由器上可能没有那么多端口支撑;
- 某些VLAN之间的主机可能不需要频繁进行通信,每个vlan占用一个端口会导致路由器的接口利用率很低。
因此,实际应用中不会采用这种方案来解决VLAN间的通信问题。
2单臂路由实现VLAN间通信
实现方法:
- 在交换机和路由器之间仅使用一个端口+一条物理链路连接。
- 一个物理端口上设置多个逻辑子接口的方式实现不同vlan间通信。
配置思路:
- 在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。
- 在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。
配置子接口时,需要注意以下几点:
- 必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。
- 需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。
- 在子接口上执行命令arp broadcast enable使能子接口的ARP广播功能。
本例中,主机A发送数据给主机B时,RTA会通过G0/0/1.1子接口收到此数据,然后查找路由表,将数据从G0/0/1.2子接口发送给主机B,这样就实现了VLAN2和VLAN3之间的主机通信。
优点:节省端口和物理链路,成本低,可扩展性好,端口利用率高;
缺点:配置复杂;
Vlanif接口实现VLAN间互通
实现方法:
- 在三层交换机上配置VLANIF接口来实现VLAN间路由。
- 如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。
- 用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。