05-VLAN配置
本章节下载: 05-VLAN配置 (272.47 KB)
目 录
以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,带冲突检测的载波侦听多路访问)技术的共享通讯介质。采用以太网技术构建的局域网,既是一个冲突域,又是一个广播域。当网络中主机数目较多时会导致冲突严重、广播泛滥、性能显著下降,甚至网络不可用等问题。通过在以太网中部署网桥或二层交换机,可以解决冲突严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个物理LAN划分成多个逻辑的LAN——VLAN。处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通。这样,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域。如图1-1所示,VLAN 2内的主机可以互通,但与VLAN 5内的主机不能互通。
图1-1 VLAN示意图
VLAN的划分不受物理位置的限制:物理位置不在同一范围的主机可以属于同一个VLAN;一个VLAN包含的主机可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。
VLAN根据划分方式不同可以分为不同类型。基于端口划分VLAN是其中最简单、最有效的VLAN划分方式。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。本章将介绍基于端口的VLAN。
VLAN的优点如下:
· 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
· 增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的主机不能和其他VLAN内的主机直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。
· 灵活构建虚拟工作组。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。
要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息。
图1-2 VLAN Tag的组成字段
如图1-2所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
· TPID:协议规定TPID取值为0x8100时表示报文带有VLAN Tag,但各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。配置TPID值的相关命令请参见“二层技术-以太网交换命令参考”中的“VLAN终结”和“QinQ”。
· Priority:用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导/QoS”中的“附录”。
· CFI:用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI取值为0。
· VLAN ID:用来表示该报文所属VLAN的编号,长度为12比特。由于0、4094和4095为协议保留取值,所以VLAN ID的取值范围为1~4093。
网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。详细的处理方式请参见“1.4.1 基于端口的VLAN简介”。
· 以太网支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式,本文以Ethernet II型封装为例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式添加VLAN Tag字段的方式请参见相关协议规范。
· 对于带有多层VLAN Tag的报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。
与VLAN相关的协议规范有:
· IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks
表1-1 配置VLAN基本属性
(可选)创建一个VLAN并进入VLAN视图,或批量创建VLAN |
缺省情况下,系统只有一个缺省VLAN(VLAN 1) |
|
进入VLAN视图 |
批量创建VLAN时,为必选;否则,无需执行本命令 |
|
指定当前VLAN的名称 |
缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的名称为“VLAN 0100” |
|
配置当前VLAN的描述信息 |
缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的描述信息为“VLAN 0100” |
· VLAN 1为系统缺省VLAN,用户不能手工创建和删除。
· 动态学习到的VLAN,以及被其他应用锁定不让删除的VLAN,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。
不同VLAN间的主机不能直接通信,通过在设备上配置VLAN接口,可以实现VLAN间的三层互通。
VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,对需要跨网段的报文进行基于IP地址的三层转发。
配置VLAN接口基本属性时,需要注意:
· 在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。
· 不能对Sub VLAN创建对应的VLAN接口。有关Sub VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Super VLAN”。
表1-2 配置VLAN接口基本属性
创建VLAN接口并进入VLAN接口视图 |
如果该VLAN接口已经存在,则直接进入该VLAN接口视图 |
|
配置VLAN接口的IP地址 |
缺省情况下,未配置VLAN接口的IP地址 |
|
配置当前VLAN接口的描述信息 |
缺省情况下,VLAN接口的描述信息为该VLAN接口的接口名,如“Vlan-interface1 Interface” |
|
配置VLAN接口的MTU值 |
缺省情况下,VLAN接口的MTU值为1500字节 需要注意的是,对于CSPEX-1204单板上MIC子卡的接口,其所属VLAN对应的VLAN接口的MTU配置值不能超过2980;否则会导致流量不通,需要用undo mtu命令恢复缺省情况,再重新配置MTU值 |
|
(可选)恢复当前VLAN接口的缺省配置 |
||
(可选)取消手工关闭VLAN接口 |
缺省情况下, VLAN接口为打开状态 |
基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。
根据端口在转发报文时对VLAN Tag的不同处理方式,可将端口的链路类型分为三种:
· Access:端口只能发送一个VLAN的报文,发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的用户终端设备相连,或者不需要区分不同VLAN成员时使用。
· Trunk:端口能发送多个VLAN的报文,发出去的端口缺省VLAN的报文不带VLAN Tag,其他VLAN的报文都必须带VLAN Tag。通常用于网络传输设备之间的互连。
· Hybrid:端口能发送多个VLAN的报文,端口发出去的报文可根据需要配置某些VLAN的报文带VLAN Tag,某些VLAN的报文不带VLAN Tag。
除了可以设置端口允许通过的VLAN外,还可以配置端口的缺省VLAN,即端口VLAN ID(Port VLAN ID,PVID)。
· Access端口的缺省VLAN就是它所在的VLAN。
· Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置端口缺省VLAN。
· 当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN 1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为端口缺省VLAN。
· 建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。
· 建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。
在配置了端口链路类型和端口缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-3。
Access端口 |
为报文添加端口缺省VLAN的Tag |
· 当报文的VLAN ID与端口的缺省VLAN ID相同时,接收该报文 · 当报文的VLAN ID与端口的缺省VLAN ID不同时,丢弃该报文 |
去掉Tag,发送该报文 |
Trunk端口 |
· 当端口的缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加端口缺省VLAN的Tag · 当端口的缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
· 当报文的VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文 · 当报文的VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
· 当报文的VLAN ID与端口的缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文 · 当报文的VLAN ID与端口的缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文 |
Hybrid端口 |
当报文的VLAN ID是端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN的报文时是否携带Tag |
配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在接口视图下进行配置。
表1-4 配置基于Access端口的VLAN(在VLAN视图下)
进入VLAN视图 |
||
向当前VLAN中添加一个或一组Access端口 |
表1-5 配置基于Access端口的VLAN(在接口视图下)
将当前Access端口加入到指定VLAN |
缺省情况下,所有Access端口都属于VLAN 1 在将Access端口加入到指定VLAN之前,该VLAN必须已经存在 |
Trunk端口可以允许多个VLAN通过,只能在接口视图下进行配置。
配置基于Trunk端口的VLAN时,需要注意:
· Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。
· 配置端口缺省VLAN后,必须使用port trunk permit vlan命令配置允许端口缺省VLAN的报文通过,出接口才能转发端口缺省VLAN的报文。
表1-6 配置基于Trunk端口的VLAN
允许指定的VLAN通过当前Trunk端口 |
缺省情况下,Trunk端口只允许VLAN 1的报文通过 |
||
(可选)设置Trunk端口的缺省VLAN |
port trunk pvid vlan vlan-id |
缺省情况下,Trunk端口的缺省VLAN为VLAN 1 |
Hybrid端口可以允许多个VLAN通过,只能在接口视图下进行配置。
配置基于Hybrid端口的VLAN时,需要注意:
· Hybrid端口和Trunk端口之间不能直接切换,只能先设为Access端口,再设置为其他类型端口。
· 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
· 配置端口缺省VLAN后,必须使用port hybrid vlan命令配置允许端口缺省VLAN的报文通过,出接口才能转发端口缺省VLAN的报文。
表1-7 配置基于Hybrid端口的VLAN
允许指定的VLAN通过当前Hybrid端口 |
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过 |
||
(可选)配置Hybrid端口的缺省VLAN |
port hybrid pvid vlan vlan-id |
缺省情况下,Hybrid端口的缺省VLAN为该端口在链路类型为Access时的所属VLAN |
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除VLAN接口统计信息。
表1-8 VLAN显示和维护
· Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。
· 为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。
· 现要求不管是否使用相同的设备接入公司网络,同一VLAN内的主机能够互通,即Host A和Host C能够互通,Host B和Host D能够互通。
# 创建VLAN 100,并将GigabitEthernet1/0/1加入VLAN 100。
[DeviceA] vlan 100
[DeviceA-vlan100] port gigabitethernet 1/0/1
[DeviceA-vlan100] quit
# 创建VLAN 200,并将GigabitEthernet1/0/2加入VLAN 200。
[DeviceA-vlan200] port gigabitethernet 1/0/2
[DeviceA-vlan200] quit
# 为了使Device A上VLAN 100和VLAN 200的报文能发送给Device B,将GigabitEthernet1/0/3的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。
[DeviceA] interface gigabitethernet 1/0/3
[DeviceA-GigabitEthernet1/0/3] port link-type trunk
[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 100 200
(2) Device B上的配置与Device A上的配置相同,不再赘述。
(3) 将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。
(1) Host A和Host C能够互相ping通,但是均不能ping通Host B。Host B和Host D能够互相ping通,但是均不能ping通Host A。
# 查看Device A上VLAN 100和VLAN 200的配置信息,验证以上配置是否生效。
[DeviceA-GigabitEthernet1/0/3] display vlan 100
VLAN ID: 100
VLAN type: Static
Route interface: Not configured
Description: VLAN 0100
Name: VLAN 0100
Tagged ports:
GigabitEthernet1/0/3
Untagged ports:
GigabitEthernet1/0/1
[DeviceA-GigabitEthernet1/0/3] display vlan 200
VLAN ID: 200
VLAN type: Static
Route interface: Not configured
Description: VLAN 0200
Name: VLAN 0200
Tagged ports:
GigabitEthernet1/0/3
Untagged ports:
GigabitEthernet1/0/2
在交换局域网中,VLAN技术以其对广播域的灵活控制、部署方便而得到了广泛的应用。但是在一般的交换设备中,通常是采用一个VLAN对应一个VLAN接口的方式来实现广播域之间的互通,这在某些情况下导致了对IP地址的较大浪费。
Super VLAN可以对VLAN进行聚合,从而大幅缩减实际需要的VLAN接口数量,解决IP地址紧张的问题。其原理是一个Super VLAN和多个Sub VLAN关联,关联的Sub VLAN公用Super VLAN对应的VLAN接口(即Super VLAN interface)的IP地址作为三层通信的网关地址,此时Sub VLAN间的三层通信以及Sub VLAN与外部的三层通信均借用Super VLAN interface来实现,从而节省了IP地址资源。
· Super VLAN:支持创建VLAN接口,并配置接口IP地址,不能加入物理接口。
· Sub VLAN:不支持创建VLAN接口,可以加入物理端口,不同Sub VLAN之间二层相互隔离。
为了实现Sub VLAN之间的三层互通,在创建好Super VLAN及其Super VLAN interface之后,用户需要开启设备的本地代理功能:
· 对于IPv4网络环境,用户需要在Super VLAN interface上开启本地代理ARP功能,Super VLAN利用本地代理ARP,可以对Sub VLAN内用户发出的ARP请求和响应报文进行处理,从而实现Sub VLAN之间的三层互通。
· 对于IPv6网络环境,用户需要在Super VLAN interface上开启本地代理ND功能,Super VLAN利用本地代理ND,可以对Sub VLAN内用户发出的NS请求和NA响应报文进行处理,从而实现Sub VLAN之间的三层互通。
Super VLAN配置包括三个必选步骤:
(2) 创建Super VLAN,并将Super VLAN和Sub VLAN关联起来。
(3) 配置Super VLAN interface。
创建VLAN用作Sub VLAN |
缺省情况下,系统只有一个缺省VLAN(VLAN 1) |
配置Super VLAN功能时,需要注意:
· 如果某个VLAN被指定为Super VLAN,则该VLAN不建议被指定为某个端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN;同样,如果某个VLAN被指定为某个端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN,则该VLAN不建议被指定为Super VLAN。Guest VLAN/Auth-Fail VLAN/Critical VLAN的相关内容请参见“安全配置指导”中的“802.1X”。
· 一个VLAN不能同时配置为Super VLAN和Sub VLAN。
· 在Super VLAN下可以配置二层组播功能,但是该配置将不会生效。
进入VLAN视图 |
如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
|
设置VLAN类型为Super VLAN |
缺省情况下,VLAN类型不为Super VLAN |
|
建立Super VLAN和Sub VLAN的映射关系 |
缺省情况下,未建立Super VLAN和Sub VLAN的映射关系 建立Super VLAN和Sub VLAN的映射关系前,指定的Sub VLAN必须已经创建 |
需要注意的是,在Super VLAN interface下配置VRRP功能后,会对网络性能造成影响,建议不要这样配置。VRRP的详细描述请参见“可靠性配置指导”中的“VRRP”。
创建VLAN接口,并进入VLAN接口视图 |
vlan-interface-id的值必须等于Super VLAN ID |
|
配置VLAN接口的IP地址 |
缺省情况下,没有配置VLAN接口的IP地址 |
|
ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length } |
||
开启本地代理ARP功能(IPv4环境) |
缺省情况下,本地代理ARP功能和本地代理ND功能均处于关闭状态 · 本地代理ARP功能的相关介绍请参见“三层技术-IP业务配置指导”中的“代理ARP”;local-proxy-arp enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“代理ARP” · 本地代理ND功能的相关介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”;local-proxy-nd enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“IPv6基础” |
|
开启本地代理ND功能(IPv6环境) |
在完成上述配置后,在任意视图下执行display命令可以显示配置后Super VLAN的运行情况,通过查看显示信息验证配置的效果。
表2-4 Super VLAN显示和维护
显示Super VLAN及其关联的Sub VLAN的信息 |
Device A连接不同VLAN用户,其中,端口GigabitEthernet1/0/1和端口GigabitEthernet1/0/2属于VLAN 2,端口GigabitEthernet1/0/3和端口GigabitEthernet1/0/4属于VLAN 3,端口GigabitEthernet1/0/5和端口GigabitEthernet1/0/6属于VLAN 5。
为实现Device A连接的各VLAN用户(均在10.1.1.0/24网段)之间能够满足二层隔离和三层互通的同时,节省IP资源,创建Super VLAN,其关联的Sub VLAN公用Super VLAN interface的IP地址10.1.1.1/24作为三层通信的网关地址。
# 创建VLAN 10,配置VLAN接口的IP地址为10.1.1.1/24。
[DeviceA] vlan 10
[DeviceA-vlan10] quit
[DeviceA] interface vlan-interface 10
[DeviceA-Vlan-interface10] ip address 10.1.1.1 255.255.255.0
# 开启设备的本地ARP代理功能。
[DeviceA-Vlan-interface10] local-proxy-arp enable
[DeviceA-Vlan-interface10] quit
# 创建VLAN 2,并向VLAN 2中添加端口GigabitEthernet1/0/1和端口GigabitEthernet1/0/2。
[DeviceA-vlan2] port gigabitethernet 1/0/1 gigabitethernet 1/0/2
[DeviceA-vlan2] quit
# 创建VLAN 3,并向VLAN 3中添加端口GigabitEthernet1/0/3和端口GigabitEthernet1/0/4。
[DeviceA-vlan3] port gigabitethernet 1/0/3 gigabitethernet 1/0/4
[DeviceA-vlan3] quit
# 创建VLAN 5,并向VLAN 5中添加端口GigabitEthernet1/0/5和端口GigabitEthernet1/0/6。
[DeviceA-vlan5] port gigabitethernet 1/0/5 gigabitethernet 1/0/6
[DeviceA-vlan5] quit
# 配置VLAN 10为Super VLAN,其关联的Sub VLAN为VLAN 2、VLAN 3和VLAN 5。
[DeviceA-vlan10] supervlan
[DeviceA-vlan10] subvlan 2 3 5
[DeviceA-vlan10] quit
[DeviceA] quit
# 查看Super VLAN的相关信息,验证以上配置是否生效。
Super VLAN ID: 10
Sub-VLAN ID: 2-3 5
VLAN ID: 10
VLAN type: Static
It is a super VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0010
Name: VLAN 0010
Tagged ports: none
Untagged ports: none
VLAN ID: 2
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0002
Name: VLAN 0002
Tagged ports: none
Untagged ports:
GigabitEthernet1/0/1 GigabitEthernet1/0/2
VLAN ID: 3
VLAN type: Static
It is a sub-VLAN.
Route interface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0003
Name: VLAN 0003
Tagged ports: none
Untagged ports:
GigabitEthernet1/0/3 GigabitEthernet1/0/4
VLAN ID: 5
VLAN type: static
It is a sub-VLAN.
Route unterface: Configured
Ipv4 address: 10.1.1.1
Ipv4 subnet mask: 255.255.255.0
Description: VLAN 0005
Name: VLAN 0005
Tagged ports: none
Untagged ports:
GigabitEthernet1/0/5 GigabitEthernet1/0/6
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!