VLAN知识储备
VLAN基础
VLAN(Virtual Local Area Network)虚拟局域网
三层VLAN互通就是不同的VLAN彼此之间形成互通,例如之前配置的单臂路由实验(在工作中用的不多,现在的交换机基本上都是三层交换机)
二层交换机的接口上不能配置ip地址,只能在vlan1上配置一个管理ip,vlan1是本征vlan(native vlan)
交换机上默认有的VLAN编号
show vlan brief
傻瓜交换机有默认vlan1,但是默认的vlan1时不打标签的,相当于没有vlan
VLAN1002-1005这些事特殊vlan(用在令牌环网),简单来说是用在以太网之外的网络类型(现在已经不用了)
标准VLAN范围:1-1005;扩展VLAN范围:1-4094(也就是说从1005之后到4094),标准vlan和扩展vlan是没有什么区别的
VLAN创建
现在的纯交换设备
//SW
en
conf ter
vlan 10
vlan 20
end
查看创建的vlan
show vlan brief
不管VLAN编号为多少,现在的设备的vlan文件都保存再startup-config文件里面
早期的交换设备
早期的3640路由器,是一台多业务集成设备,支持交换功能。从早期的3550系列,从3560之后就没有这个了
//Router
en
vlan database
vlan 10 //创建vlan10
name xiaoshou //给VLAN10命名,华为设备只能写description描述
vlan 20
exit //退出之后才会生成vlan
查看创建的vlan
show vlan-switch brief
查看配置文件
dir flash:
注意:早期的环境中,标准vlan(1-1005之间)是保存在设备的vlan.dat文件里面
dir nvram
扩展vlan都保存再startup-config文件里面
如果更新设备的话,需要把设备里面的bin文件+startup-config+vlan.dat文件备份
VLAN的VID和PVID
什么是VID
VID就是VLAN ID 也就是vlan编号
什么是PVID
PVID(port based vlan id)基于端口的vlan id
当数据通过access接口进入交换机之后,打上的这个vlan标签就相当于PVID
当数据打上标签之后进入trunk口出去,trunk口会检查这个接口
- 是不是允许该vlan通行
- 是不是本征vlan编号,如果PVID是1,发现本征vlan是vlan1,它会把这个vlan解标签(这就是不管是什么厂商的交换机连在一起都能用)
- 如果不和本征vlan相同,则会携带vlan编号发出去,这个携带的vlan编号也叫PVID
总而言之,VID就是vlan编号,PVID就是这个数据携带的vlan编号。就可以理解为PVID就是VID
理解打标签和解标签
典型案例:实现纯二层的环境下互通,SW1的e0/0-1属于VLAN 10;SW2的e0/0-1属于VLAN 20
当PC1pingPC2的时候,当PC1进入SW1的e0/1接口打上VLAN10标签,从e0/0出去解开VLAN10标签发送到SW2的e0/0打上VLAN20标签,从e0/1出去解开VLAN20标签
思科认为是离开trunk口的时候打上标签的,华为认为是进入到access口打上标签的,这只是官方的定义
典型案例:实现纯二层的环境下互通,SW的e0/1属于VLAN10,e0/0是turnk口;SW2的e0/1属于VLAN20,e0/0是trunk口
要实现二层的互通就修改SW1和SW2的本征vlan,来实现解标签
//SW1
en
conf ter
vlan 10
exit
int e0/1
sw ac vlan 10
exit
int e0/0
sw tr en do
sw mode tr
switchport trunk native vlan 10 //修改本征VLAN为10
//SW2
en
conf ter
vlan 20
exit
int e0/1
sw ac vlan 20
exit
int e0/0
sw tr en do
sw mode tr
switchport trunk native vlan 20 //修改本征VLAN为20
查看trunk口
show interface trunk
VLAN修剪
思科设备默认允许所有vlan,华为设备默认是拒绝所有vlan
//SW1
en
conf ter
int e0/0
switchport trunk allowed vlan 10,20,30 //允许vlan10,20,30通过
switchport trunk allowed vlan add 40 //在此基础上允许vlan40通过
注意:交换机相连不用手动设置为trunk也可以,它会自动协商为trunk,两台思科设备会自动协商为n-isl;一台思科和一台华为设备会自动协商为802.1q
VLAN间路由
通过单臂路由来实现
SVI(VLAN配置IP地址)
SVI(switch virtual interface)交换虚拟接口
案例1:使用trunk模式实现跨交换机的相同vlan互通
让两台交换机互通,给端口做成trunk配ip
如果要让两台交换机互通,那么必须要有互联地址才行,一种方法就是给VLAN配置ip地址
配置完成vlan划分之后我们开始配置
//SW1
en
conf ter
int vlan 10 //进入到vlan10接口下
ip add 10.1.1.1 255.255.255.0
no shutdown
end
//SW2
en
conf ter
int vlan 10
ip add 10.1.1.2 255.255.255.0
no shutdown
//SW1
show ip int br
测试
案例2:使用access模式实现跨交换机的相同vlan互通
让两台交换机互通,给端口划分vlan配置ip
//SW1
en
conf ter
vlan 10
exit
int ran e0/0-1
sw ac vlan 10
exit
int vlan 10
ip add 10.1.1.1 255.255.255.0
no shutdown
end
//SW2
en
conf ter
vlan 10
exit
int ran e0/0-1
sw ac vlan 10
exit
int vlan 10
ip add 10.1.1.2 255.255.255.0
no shutdown
end
VLAN SVI接口down掉的几种情况
没有创建vlan,就给VLAN配置IP地址
在此基础上我们接着扩展配置
//SW1
en
conf ter
int vlan 20
ip add 20.1.1.1 255.255.255.0
no shutdown //默认就是开启的
end
//SW1
show ip int br
此时我们会发现这个vlan20的口down掉了,原因是因为我们没有创建vlan20
没有trunk口,也没有任何接口属于该VLAN
在此基础上我们接着扩展配置,把e0/1口从vlan10中删除,关闭trunk口模拟
//SW1
en
conf ter
default interface e0/1 //把e0/1口恢复默认
int e0/0
shutdown
end
此时我们会发现VLAN10的protocol状态也是down状态
总结
- 如果交换机上没有trunk口,交换机上就必须有开启的access口在这个vlan当中,给vlan配置ip才会使up状态
- 如果没有开启的access口在这个vlan中,那么交换机就得有trunk口,vlan口才是up状态,前提时允许这个vlan
- 有没有创建vlan
运用场景
案例1运用场景
一般是用在汇聚层的环境下,实现跨交换机的相同vlan互通
通过trunk的形式,让下面所有vlan10的数据经过接入层的上联trunk口进行解标签,到达汇聚层的SVI网关上
案例2运用场景
直连交换机的接口配置access口,划分到VLAN中,给vlan配置ip地址当作网关使用,下面接入层交换机,当傻瓜交换机使用
这种情况下,接入层下面的接口不需要划分到vlan10,接入层设备当傻瓜交换机就可以用,下面的设备接入就可以用
交换机接口配置ip
交换机的接口默认是二层接口,是不能直接配置ip地址的,需要关闭接口的二层,打开三层
直接给trunk口配置ip
//SW1
en
conf ter
ip routing //开启路由功能,现在的交换机都是默认开启的
int e0/0
no switchport //关闭二层
ip add 10.1.1.1
no shutdown
注意:不是所有的三层交换机都可以在接口上配置ip,这种情况多发于ISR集成设备(集成版的路由器),它相当于是一台路由器,但是可以扩展交换机模块(4口,8口),它扩展的模板是LAN模块(base LAN)是基于二层的,虽然是三层设备,但是不能配置ip地址
当接口为三层接口是不能够划分vlan的
但是这种方法是用的不多的,原因是因为
- 没有办法做冗余(假设两个交换机连接两根线,但是同一台设备的三层接口时不能配置相同网段的ip地址的)