分享

网工涨姿势:两种方式可以实现VLAN间的互访!

 郎中骑 2021-12-25

1通过子接口实现 VLAN 间的互访

在二层交换环境下,一个VLAN就是一个广播域,相同VLAN内的节点如果配置相同网段的IP地址即可直接通信,我们将这种通信称为二层通信。不同VLAN是不同的广播域,一般也是不同的逻辑子网,而且相互隔离,无法直接互访,这样能起到隔绝广播的作用,如上图所示。

但是实际网络中往往VLAN之间有互访的需求,例如同一公司不同的部门划分在不同的VLAN,那么如果这些部门之间有数据往来的需求呢,此时二层交换机就无法实现了,需要借助三层设备(路由设备)。一个最简单的方法,就是使用路由器:

在上图中,交换机将GE0/0/1及GE0/0/23口都配置为access类型并都加入VLAN10;将GE0/0/2及GE0/0/24都配置为access类型并都加入VLAN20。然后将路由器Router的GE0/0/1口作为VLAN10用户的网关,GE0/0/2作为VLAN20用户的网关,从而利用路由器的路由功能实现两个VLAN之间的互访,这么做看似可行,但是一个VLAN就需要路由器拿出一个接口,那么如果内网有10个VLAN呢?路由器表示鸭梨很大。所以另一种稍微改进点的方法是,在路由器的一个物理接口上,配置逻辑的子接口(Sub-interface)来实现同样的需求,这种解决方案叫单臂路由

在上图中,交换机与路由器之间仅需一根物理链路即可,这段链路由于要承载多VLAN的数据,因此在交换机上就要将与路由器对接的接口(GE0/0/24)设置为Trunk类型。路由器这边呢虽然只有一个物理接口(GE0/0/1)与交换机相连,但是我们可以基于这个物理接口创建多个子接口,子接口GE0/0/1.10对应VLAN10,它能够识别VLAN10的标记,并且能够处理带VLAN10标记的数据帧,同理GE0/0/1.20对应VLAN20。如此一来,在路由器上仅使用一个物理接口,即可支持多个VLAN的数据。

子接口是一个软件的、逻辑的接口,是基于物理接口创建的。路由器会把子接口当成是一个普通接口来对待。通过子接口的方式我们可以大大的节省硬件成本。具体的配置如下:

完成如上配置后,交换机连接PC的接口添加到相应的VLAN则PC即可互通。从上面这个碉堡的图可以更加形象地理解子接口的概念,其实就是相当于在一个大管道里套着两个小管道。值得注意的是一旦我们在物理接口上创建了子接口,那么后续的配置将不会再在物理接口上做,而是在子接口上进行,我们只要保证物理接口没有被shutdown即可。

以太网子接口技术可部署在路由器上,也可以部署在防火墙上,我们来看一个例子。

上面是一个非常简单的组网场景,站点内网有两个VLAN,VLAN10及VLAN20。现在的需求是,要求VLAN10及VLAN20能够实现互访,而且互访流量必须经过防火墙做安全检查。VLAN10内的网元非常重要,属于高安全级别的网络,而VLAN20内的网络则安全级别更低。

解决的办法:

上图中的交换机工作在二层模式,连接终端的接口配置为access类型并且分别加入到相应的VLAN。同时交换机连接防火墙的接口GE0/0/24配置为Trunk类型并且放通VLAN10及VLAN20。

随后在防火墙的GE0/0/1口上创建两个子接口:GE0/0/1.10及GE0/0/1.20,子接口的配置如图所示,这两个子接口分别对应VLAN10及VLAN20。最后别忘了要将子接口添加到相应的安全域中,例如VLAN10这个网络如果比较重要,则可将防火墙的GE0/0/1.10接口添加到高安全级别的区域,如Trust,而VLAN20可能需要接受来自外部的访问,因此规划在DMZ域,故将子接口GE0/0/1.20添加到DMZ区域。接下去就可以部署域间包过滤规则了。

2通过 vlan-interface 实现 VLAN 间的互访

在理解了子接口之后,再来看看三层交换机是如何实现VLAN间的数据互访的,从这里切入,开始理解并部署三层交换。我们知道二层交换机是可以实现二层交换的,它关心的是数据帧,对帧头的二层信息进行读取并且根据自己的MAC地址表进行转发。而三层交换机相当于在二层交换机的基础上,多了个路由模块,于是乎它就能支持路由功能了:支持路由选择协议、支持三层数据转发、支持IP路由查找、支持三层接口等等。

先来认识一下vlan-interface(简称vlanif),这是一个逻辑接口,也就是说这并不是一个真实的物理接口,当我们在交换机上创建了一个VLAN之后,紧接着就可以创建一个与这个VLAN对应的vlanif,例如我们创建了VLAN10,那么VLAN10对应的vlanif就是interface vlanif 10,这个vlanif10是一个三层接口,你可以为这个vlanif10配置IP地址,与VLAN10内的PC用户的IP地址同一网段,这样一来,VLAN10内的用户就能够将网关指向这个vlanif,当VLAN10的PC需要访问本网段以外的网络时,它们将数据交给网关,也就是vlanif10,再由三层交换机去做路由查找及数据转发。实际上,在这个理解过程中,我们可以拿单臂路由那个模型对类比。

所以看上面这图,在三层交换机上创建了两个VLAN:10和20,同时为两个VLAN的vlanif分配了地址作为各自VLAN的用户网关,这样一来,这台交换机的路由表里就有了两个VLAN网段的路由。那么当两VLAN之间要互访时,VLAN10的用户将数据丢给自己的网关,也就是vlanif10,数据到了vlanif10之后,三层交换机查看数据包的目的地址IP并在路由表中进行匹配,发现目的地是VLAN20的所在网段,因此将数据从VLAN20扔出去,最终抵达目的地的VLAN20的PC。

Vlanif的基础配置:

实验拓扑如上图所示。PC1及PC2分别位于VLAN10及VLAN20,现在要求完成三层交换机SW的配置,使得两个VLAN的用户能够相互通信。

SW的配置如下:

#创建VLAN10及20,将GE0/0/1划分到vlan10,GE0/0/2划分到vlan20:
[SW] vlan batch 10 20
[SW] interface GigabitEthernet 0/0/1
[SW-GigabitEthernet0/0/1] port link-type access
[SW-GigabitEthernet0/0/1] port default vlan 10
[SW] interface GigabitEthernet 0/0/2
[SW-GigabitEthernet0/0/2] port link-type access
[SW-GigabitEthernet0/0/2] port default vlan 20
#为vlanif10及vlanif20配置IP地址,作为vlan10及vlan20用户的网关
[SW] interface vlanif 10
[SW-vlanif10] ip address 192.168.10.254 24
[SW] interface vlanif 20
[SW-vlanif10] ip address 192.168.20.254 24

完成上述配置后,PC1将自己的IP地址设置在192.168.10.0/24网段,同时将网关配置为192.168.10.254;PC2的IP地址则配置在192.168.20.0/24,网关设置为192.168.20.254,两者就能够互相通信了。

二、三层交换机、路由器简单组网:

实验拓扑如上图所示。PC1及PC2分别处于VLAN10及VLAN20,它们的缺省网关都设置在三层交换机SW2上。SW1是接入层交换机,只具备二层交换功能。SW2与路由器Router实现三层对接,用于两者对接的VLAN是VLAN99。上述拓扑,我们可以画一个逻辑图来帮助理解:

SW1的配置如下:

[SW1] vlan batch 10 20
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20
#连接SW2的接口,配置为Trunk类型
[SW1] interface GigabitEthernet 0/0/22  
[SW1-GigabitEthernet0/0/22] port link-type trunk
[SW1-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20

SW2的配置如下:

[SW2] vlan batch 10 20 99
[SW2] interface GigabitEthernet 0/0/22  #连接SW2的接口
[SW2-GigabitEthernet0/0/22] port link-type trunk
[SW2-GigabitEthernet0/0/22] port trunk allow-pass vlan 10 20
[SW2] interface GigabitEthernet 0/0/24  #连接路由器的接口
[SW2-GigabitEthernet0/0/24] port link-type access
[SW2-GigabitEthernet0/0/24] port default vlan 99
#
[SW2] interface vlanif 10
[SW2-vlanif10] ip address 192.168.10.254 24
[SW2] interface vlanif 20
[SW2-vlanif20] ip address 192.168.20.254 24
[SW2] interface vlanif 99
[SW2-vlanif99] ip address 192.168.99.1 24
#为SW2配置默认路由,下一跳是路由器
[SW2] ip route-static 0.0.0.0 0.0.0.0 192.168.99.2

Router的配置如下:

[Router] interface GigabitEthernet 0/0/0
[Router-GigabitEthernet0/0/0] ip address 192.168.99.2 24
#记得为路由器配置静态路由指向vlan10及vlan20对应的网段,否则回程数据就会有问题:
[Router] ip route-static 192.168.10.0 24 192.168.99.1
[Router] ip route-static 192.168.20.0 24 192.168.99.1
技术交流群有不少同学问瑞哥,是否有相关技术交流群可以加入,这里向大家说明一下,有qq群和微信群,qq群群号是371874174。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多