想轻松实现VLAN间互访,给你两招

下午好啊,我的网工朋友。

实际网络中,经常会有VLAN之间互访的需求

很多网工通常会选择一些方法,来实现不同VLAN间主机的相互访问,比如说Vlanif、单臂路由

这些方法其实是最基础的,HCIA的课程里就有教你怎么实现VLAN间通信了,找出来给你瞅瞅。

想要看全部考纲的朋友找老杨总哈。

今天就围绕VLAN互访,重新再给你搞个系统的梳理和总结。

在这两大方法基础上,做一个优化,教你轻松实现VLAN间互访。

今日文章阅读福利:《VLAN讲解(重点难点详解)》

给你找了个学习文档,里面有VLAN相关经典案例和完整配置命令,一些重点难点都会做一个详解。

扫描二维码关注公众号,回复: 15721417 查看本文章

私信我,备注“VLAN”前30名私信的小友送出该学习笔记。

01 通过子接口实现 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区域。接下去就可以部署域间包过滤规则了。

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

在理解了子接口之后,再来看看三层交换机是如何实现VLAN间的数据互访的

01 从这里切入,开始理解并部署三层交换

我们知道二层交换机是可以实现二层交换的,它关心的是数据帧,对帧头的二层信息进行读取并且根据自己的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,两者就能够互相通信了。

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

实验拓扑如上图所示。

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

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

猜你喜欢

转载自blog.csdn.net/SPOTO2021/article/details/131637421