直接进入正题,这章我们要介绍的是vlan间路由,那么什么是vlan间路由呢?

我们部署了传统vlan的交换机在隔离二层广播域的同时,也间接地隔离了各个vlan之间的其他二层流量交换。

导致了处在不同vlan之间的主机不能进行二层通讯,想要实现不同vlan之间主机的通讯只能经过三层路由转发。

解决VLAN间通信问题的技术就叫做vlan间路由。

第一种方法:每个vlan一个物理连接



路由器怎么同步vlan 路由器配置vlan间路由_数据


我们来看这张图,pc1和pc2处在不同的vlan中,这是时候他们不能进行二层的数据互访。想要实现互相通讯的话,我们在路由器上为每一个VLAN都配置一个物理连接。将数据流分不同VLAN流到路由器上不同的端口中,再通过路由器进行路由的转发,以实现VLAN之间的通信。

但是这样的方法有着一种缺陷,随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,而路由器的接口数量是极其有限的。并且,某些VLAN之间的主机可能不需要频繁进行通信,如果这样配置的话,会导致路由器的接口利用率很低。因此,实际应用中一般不会采用这种方案来解决VLAN间的通信问题。

第二种方法:单臂路由


路由器怎么同步vlan 路由器配置vlan间路由_路由器怎么同步vlan_02


解决vlan的间互相通讯的第二种方法叫做单臂路由,在交换机和路由器之间仅使用一条物理链路连接。在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过,在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。

那么应该去怎么做呢?

配置思路:

①首先在交换机上创建vlan,将对应端口划分进入vlan中

②交换机连接路由器的接口配置成trunk链路(作用:保证不同vlan的流量都能发给路由器)

③路由器上创建子接口

>为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段

>在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通

>子接口上执行命令arp broadcast enable使能子接口的ARP广播功能

(路由器接收到pc1的数据包,之后要进行转发到pc2,但是这时候不知道pc2的mac地址,所以要开启子接口的arp广播功能,让它能发arp广播问pc2的mac地址)

port link-type trunk //修改上联链路为trunk
port trunk allow-pass vlan 10 20 //trunk链路允许vlan2,vlan3通过.
dot1q termination vid ? //配置子接口dot1q封装的单层VLAN ID,收到的时候去掉vlan2的标签 发出的时候加上vlan2的标签
arp broadcast enable //子接口开启arp广播功能

数据流程:

以pc2访问pc1为例,pc2将数据发给交换机,交换机打上标签之后从trunk链路发给路由器的子接口g0/0/0.2,子接口收到首先拆除vlan20的标签,然后查表从子接口g0/0/0.1发出去,发出去的时候因为配置了(dot1q termination vid 10)所以携带了vlan10的标签,交换机收到之后转发给vlan10中的pc1。

第三种方法:三层交换

三层交换就是带有路由功能的交换机,也就是说当一个交换机收到一个数据之后,它能够识别这个数据中的ip地址,然后可以进行路由转发。

在三层交换机上配置VLANIF接口来实现VLAN间路由。如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。


路由器怎么同步vlan 路由器配置vlan间路由_路由器怎么同步vlan_03


配置思路:

①交换机上创建vlan

②将对应接口划分进入vlan中去

③针对vlan创建vlanif,给vlanif配置ip地址(ip地址是下层主机的网关)

数据流程

这时候如果pc1想要去访问pc2的时候,将数据包交给网关(交换机),当交换机收到之后,发现是去往2.0网段的数据包,直接查找自己的路由表进行转发。