09-VLAN终结配置
本章节下载: 09-VLAN终结配置 (314.29 KB)
目 录
l 本文中的“SPC单板”指的是单板丝印以“SPC”开头(如SPC-GT48L)的单板,“SPE单板”指的是单板丝印以“SPE”开头(如SPE-1020-E-II)的单板。
l 仅SPE单板支持VLAN终结功能。
VLAN终结是指对接收到的报文,按照报文携带的VLAN Tag信息匹配对应的接口后,去除报文VLAN Tag,再将报文进行三层转发或交由其它业务处理。转发出去的报文是否带有VLAN Tag由出接口决定,对从配置了VLAN终结的接口发送的报文,按照该接口上的终结配置,将相应的VLAN Tag添加到报文中后发送该报文。
根据对所终结的报文的不同处理方式,VLAN终结分为以下两种:
l Dot1q终结:用来终结带有一层及以上VLAN Tag的报文(要求最外层VLAN ID必须匹配配置值),从配置了Dot1q终结的接口发送的报文,都添加一层VLAN Tag。
l QinQ终结:用来终结带有两层及以上VLAN Tag的报文(要求最外两层VLAN ID必须匹配配置值),从配置了QinQ终结的接口发送的报文,都添加两层VLAN Tag。
l 为便于描述,本特性部分内容对带有两层及以上VLAN Tag的报文,将其最外两层VLAN Tag按从外层到内层的方向,分别用第一层VLAN Tag、第二层VLAN Tag表示,对VLAN ID的描述类似。
l 当前设备只支持QinQ终结这种VLAN终结方式。
l 主接口本身不能处理VLAN报文,当它收到VLAN报文时,会转给相应的子接口处理,如果找不到相应的子接口,就会丢弃VLAN报文。
l 子接口只能接收VLAN报文,发送的也都是带VLAN Tag的报文。
划分VLAN后,不同VLAN间的主机不能直接通信,使用三层路由技术可以实现所有VLAN间报文的互通。此时如果要对互通的VLAN范围做限制,即要求只有指定的部分VLAN间可以互通,可以借助VLAN终结功能来实现。目前可以通过VLAN接口/三层以太网子接口实现指定VLAN间的互通。
下图中,Host A属于VLAN 2,Host B属于VLAN 3,将Host A的网关地址指定为1.1.1.1/24,Host B的网关地址指定为1.1.2.1/24,就可以通过VLAN接口或者三层以太网子接口来实现Host A和Host B的三层报文互通了。
图1-1 VLAN终结用于不同VLAN之间互通(VLAN接口)
图1-2 VLAN终结用于不同VLAN之间互通(三层以太网子接口)
局域网内的报文大多数都带有VLAN Tag,但一些广域网协议并不能识别VLAN报文,比如ATM、FR和PPP等,这种情况下,如果局域网的VLAN报文要转发到广域网,需要在本地记录并去掉报文的VLAN信息后再转发,可以借助VLAN终结功能来实现。目前可以通过VLAN接口/子接口实现局域网和广域网的互联。
如图1-3所示,用户网络的私网VLAN为Customer VLAN。运营商为用户网络分配的公网VLAN为Service VLAN。当用户网内Customer VLAN的报文进入运营商网络时,报文外面就会被封装上Service VLAN的VLAN Tag。在运营商网基于Service VLAN进行转发。如果报文要发往外部WAN,则需要在出口网关(Device)上对该报文进行VLAN终结处理,去掉两层VLAN Tag,再发送到WAN。
图1-3 VLAN终结用于LAN和WAN的互联
表1-1 VLAN终结配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置QinQ终结 |
配置明确的QinQ终结 |
|
|
配置模糊的QinQ终结 |
|||
配置VLAN终结支持广播/组播 |
可选 |
||
配置VLAN Tag的TPID值 |
可选 |
l 主接口本身不能对VLAN报文做终结处理,在主接口创建子接口后,由子接口来处理。
l 子接口只能接收和发送携带VLAN Tag的报文。
l VLAN接口和三层以太网子接口都可以终结最外层VLAN ID匹配和最外两层VLAN ID匹配的报文,并且都只能终结最外层VLAN ID与接口编号相同的VLAN报文,不能通过命令行修改。
根据每个接口所能终结的VLAN报文的最外两层VLAN ID范围的不同,QinQ终结分为:
l 明确的QinQ终结:只允许接收最外两层VLAN ID均为指定值的报文,其它VLAN报文则不允许通过该接口。收到报文后,将报文最外两层VLAN Tag剥离。发送报文时,会给报文添加两层VLAN Tag,两层VLAN ID均为指定值。
l 模糊的QinQ终结:只允许接收第一层VLAN ID为指定值,第二层VLAN ID在指定的范围内的报文,不属于该范围的VLAN报文则不允许通过该接口。收到报文后,将报文最外两层VLAN Tag剥离。发送报文时,会给报文添加两层VLAN Tag。添加VLAN Tag后,报文的第一层VLAN ID为指定值,第二层VLAN ID取值为:对于PPPoE报文,通过查找PPPoE会话表项获取相应的VLAN ID;对于DHCP Relay转发的DHCP Server端报文,通过查找DHCP会话表项获取相应的VLAN ID;对于MPLS和其它IPv4报文,通过查找ARP表项获取相应的VLAN ID。
表1-2 配置明确的QinQ终结
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
三者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
使能当前接口的QinQ终结功能,并指定当前接口可以终结的VLAN报文的第二层VLAN ID |
second-dot1q vlan-id |
必选 缺省情况下,子接口/VLAN接口只终结第一层VLAN Tag 终结的第一层VLAN ID等于当前接口的编号,不能配置 |
在VLAN接口上配置明确的QinQ终结后,与该VLAN接口绑定的二层以太网接口只处理该VLAN接口匹配的报文,当收到发给该VLAN接口的其它报文时,都会直接丢弃。
表1-3 配置模糊的QinQ终结(方式二)
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
三者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
使能当前接口的QinQ终结功能,并指定当前接口可以终结的VLAN报文的第二层VLAN ID |
second-dot1q { vlan-list | any } |
必选 缺省情况下,子接口/VLAN接口只终结第一层VLAN Tag 第一层VLAN ID等于当前接口的编号,不能配置 |
在VLAN接口上配置模糊的QinQ终结后,与该VLAN接口绑定的二层以太网接口只处理该VLAN接口匹配的报文,当收到发往该VLAN接口的其它报文时,都会直接丢弃。
当接口下配置了模糊的Dot1q终结或者模糊的QinQ终结功能后,不允许发送广播、组播报文。只有配置了VLAN终结支持广播/组播功能,这些接口才能发送广播/组播报文。
表1-4 配置VLAN终结支持广播/组播
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网子接口视图 |
interface interface-type interface-number.subnumber |
三者必选其一 |
三层聚合子接口视图 |
interface route-aggregation interface-number.subnumber |
||
VLAN接口视图 |
interface vlan-interface interface-number |
||
配置允许当前接口发送广播和组播报文 |
vlan-termination broadcast enable |
必选 缺省情况下,当前接口配置了模糊的QinQ终结功能后,不允许发送广播、组播报文 |
如果要在三层以太网子接口/三层聚合子接口上使用VLAN终结功能,可以通过以下配置指定接口接收和发送报文的最外层VLAN Tag的TPID值。在配置TPID值后,当接收报文时,只有报文最外层VLAN Tag的TPID值为0x8100或者指定值的报文才会作为VLAN报文来处理;发送报文时,会给报文最外层VLAN Tag的TPID值填入指定值,如果报文带有两层及以上VLAN Tag,则给报文其它层VLAN Tag的TPID值都填入0x8100。
表1-5 配置VLAN Tag的TPID值
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入接口视图 |
三层以太网接口视图 |
interface interface-type interface-number |
二者必选其一 在接口视图下配置,命令会对该接口的所有子接口生效 |
三层聚合接口视图 |
interface route-aggregation interface-number |
||
配置当前接口接收和发送的报文最外层VLAN Tag的TPID值 |
dot1q ethernet-type hex-value |
可选 缺省情况下,当前接口接收和发送的报文最外层VLAN Tag的TPID值均为0x8100 |
如果要在VLAN接口上使用VLAN终结功能,可以指定VLAN接口绑定的二层物理接口接收和发送报文的VLAN Tag的TPID值。如果不指定的话,将使用缺省值0x8100。二层物理接口TPID值配置的相关内容请参见“二层技术-以太网交换配置指导”中的“QinQ”。
仅SPE单板支持VLAN终结功能。
如下图所示,Host A和L2 Switch A相连,属于VLAN 11;Host B和L2 Switch D相连,L2 Switch D只支持一层VLAN标签;L2 Switch B上使能了QinQ功能,它会给收到的内层VLAN ID为11的报文外面添加一层VLAN ID为100的VLAN Tag后再转发出去。现需要实现Host A与Host B之间能够互相通信。
图1-4 明确的QinQ终结配置组网图
(1) Host A、Host B的配置
将Host A的IP地址指定为1.1.1.1/24,网关地址指定为1.1.1.11/24;Host B的IP地址为1.1.2.1/24,网关地址指定为1.1.2.11/24。
(2) L2 Switch A的配置
# 向VLAN 11中加入端口GigabitEthernet3/0/2。
<L2_SwitchA> system-view
[L2_SwitchA] vlan 11
[L2_SwitchA-vlan11] port GigabitEthernet 3/0/2
[L2_SwitchA-vlan11] quit
# 配置端口GigabitEthernet3/0/1的链路类型为Hybrid类型,且允许VLAN 11的报文带Tag通过,VLAN 100的报文不带Tag通过。
[L2_SwitchA] interface GigabitEthernet 3/0/1
[L2_SwitchA-GigabitEthernet3/0/1] port link-type hybrid
[L2_SwitchA-GigabitEthernet3/0/1] port hybrid vlan 11 tagged
[L2_SwitchA-GigabitEthernet3/0/1] port hybrid vlan 100 untagged
(3) L2 Switch B的配置
# 配置端口GigabitEthernet4/0/1的链路类型为Trunk类型,并允许VLAN 100通过。
<L2_SwitchB> system-view
[L2_SwitchB] interface GigabitEthernet 4/0/2
[L2_SwitchB-GigabitEthernet4/0/2] port link-type trunk
[L2 SwitchB-GigabitEthernet4/0/2] port trunk permit vlan 100
# 配置端口GigabitEthernet4/0/2的缺省VLAN为VLAN 100,并使能基本QinQ功能。
[L2_SwitchB-GigabitEthernet4/0/2] port trunk pvid vlan 100
[L2_SwitchB-GigabitEthernet4/0/2] qinq enable
[L2_SwitchB-GigabitEthernet4/0/2] quit
# 配置端口GigabitEthernet4/0/1的链路类型为Trunk类型,并允许VLAN 100通过。
[L2_SwitchB] interface GigabitEthernet 4/0/1
[L2_SwitchB-GigabitEthernet4/0/1] port link-type trunk
[L2_SwitchB-GigabitEthernet4/0/1] port trunk permit vlan 100
(4) Router的配置
# 创建并进入VLAN接口Vlan-interface 100,为其配置IP地址,使能QinQ终结,并指定所能终结的VLAN报文的第二层VLAN ID为11。
<Router> system-view
[Router] vlan 100
[Router-vlan100] quit
[Router] interface vlan-interface 100
[Router-Vlan-interface100] ip address 1.1.1.11 255.255.255.0
[Router-Vlan-interface100] second-dot1q 11
[Router-Vlan-interface100] quit
# 配置端口GigabitEthernet3/1/1的链路类型为Trunk类型,并允许VLAN 100通过。
[Router] interface GigabitEthernet 3/1/1
[Router-GigabitEthernet3/1/1] port link-type trunk
[Router-GigabitEthernet3/1/1] port trunk permit vlan 100
[Router-GigabitEthernet3/1/1] quit
# 创建并进入VLAN接口Vlan-interface 2,为其配置IP地址。
[Router] vlan 2
[Router-vlan2] quit
[Router] interface vlan-interface 2
[Router-Vlan-interface2] ip address 1.1.2.11 255.255.255.0
[Router-Vlan-interface2] quit
# 配置端口GigabitEthernet3/1/2加入VLAN 2。
[Router] interface GigabitEthernet 3/1/2
[Router-GigabitEthernet3/1/2] port access vlan 2
(5) L2 Switch D的配置
L2 Switch D用出厂配置即可。
如下图所示,Host A、Host B、Host C和Switch A相连,分别属于VLAN 11、VLAN 12和VLAN 13;Server群和Switch C相连;Switch B上使能了QinQ功能。Host A、Host B、Host C需要与Server群互相通信。
图1-5 模糊的QinQ终结配置组网图
(1) Host A、Host B、Host C的配置
将Host A的IP地址指定为1.1.1.1/24, Host B的IP地址为1.1.1.2/24,Host C的IP地址为1.1.1.3/24,网关地址均指定为1.1.1.11/24。
(2) L2 Switch A的配置
# 向VLAN 11中加入端口GigabitEthernet3/0/1。
<L2_SwitchA> system-view
[L2_SwitchA] vlan 11
[L2_SwitchA-vlan11] port GigabitEthernet 3/0/1
[L2_SwitchA-vlan11] quit
# 向VLAN 12中加入端口GigabitEthernet3/0/2。
[L2_SwitchA] vlan 12
[L2_SwitchA-vlan12] port GigabitEthernet 3/0/2
[L2_SwitchA-vlan12] quit
# 向VLAN 13中加入端口GigabitEthernet3/0/3。
[L2_SwitchA] vlan 13
[L2_SwitchA-vlan13] port GigabitEthernet 3/0/3
[L2_SwitchA-vlan13] quit
# 配置端口GigabitEthernet3/0/7的链路类型为Hybrid类型,且允许VLAN 11~13的报文带Tag通过,VLAN 100的报文不带Tag通过。
[L2_SwitchA] interface GigabitEthernet 3/0/7
[L2_SwitchA-GigabitEthernet3/0/7] port link-type hybrid
[L2_SwitchA-GigabitEthernet3/0/7] port hybrid vlan 11 to 13 tagged
[L2_SwitchA-GigabitEthernet3/0/7] port hybrid vlan 100 untagged
(3) L2 Switch B的配置
# 配置端口GigabitEthernet4/0/2的链路类型为Trunk类型,并允许VLAN 11~13、100通过。
<L2_SwitchB> system-view
[L2_SwitchB] interface GigabitEthernet 4/0/2
[L2_SwitchB-GigabitEthernet4/0/2] port link-type trunk
[L2_SwitchB-GigabitEthernet4/0/2] port trunk permit vlan 11 to 13 100
# 在端口GigabitEthernet4/0/2上使能基本QinQ功能,并配置VLAN 11~13的报文添加VLAN ID为100的外层VLAN Tag。
[L2_SwitchB-GigabitEthernet4/0/2] qinq enable
[L2_SwitchB-GigabitEthernet4/0/2] qinq vid 100
[L2_SwitchB-GigabitEthernet4/0/2-vid-100] raw-vlan-id inbound 11 to 13
[L2_SwitchB-GigabitEthernet4/0/2-vid-100] quit
[L2_SwitchB-GigabitEthernet4/0/2] quit
# 配置端口GigabitEthernet4/0/1的链路类型为Trunk类型,并允许VLAN 100通过。
[L2_SwitchB] interface GigabitEthernet 4/0/1
[L2_SwitchB-GigabitEthernet4/0/1] port link-type trunk
[L2_SwitchB-GigabitEthernet4/0/1] port trunk permit vlan 100
(4) Router的配置
# 创建VLAN接口Vlan-interface100,为其配置IP地址,当收到第一层VLAN ID为100,第二层VLAN ID为11、12或13的VLAN报文时,对该报文进行VLAN终结处理。
<Router> system-view
[Router] vlan 100
[Router-vlan100] quit
[Router] interface vlan-interface 100
[Router-Vlan-interface100] ip address 1.1.1.11 255.255.255.0
[Router-Vlan-interface100] second-dot1q 11 to 13
[Router-Vlan-interface100] quit
# 配置端口GigabitEthernet3/1/1的链路类型为Trunk类型,并允许VLAN 100通过。
[Router] interface GigabitEthernet 3/1/1
[Router-GigabitEthernet3/1/1] port link-type trunk
[Router-GigabitEthernet3/1/1] port trunk permit vlan 100
[Router-GigabitEthernet3/1/1] quit
# 创建VLAN接口Vlan-interface2,为其配置IP地址。
[Router] vlan 2
[Router-vlan2] quit
[Router] interface vlan-interface 2
[Router-Vlan-interface2] ip address 1.1.2.11 255.255.255.0
[Router-Vlan-interface2] quit
# 配置端口GigabitEthernet3/1/2加入VLAN 2。
[Router] interface GigabitEthernet 3/1/2
[Router-GigabitEthernet3/1/2] port access vlan 2
(5) L2 Switch D的配置
L2 Switch D采用出厂配置即可。
(6) Server group的配置
将Server group里所有设备的IP地址配置在1.1.2.0/24网段,网关地址指定为1.1.2.11/24即可。
l Provider A、Provider B作为运营商网络设备。
l DHCP client A和DHCP client B作为用户网络设备。
l Provider A作为DHCP中继,Provider B作为DHCP server。
l Provider A和Provider B之间通过三层接口连接。
希望配置完成后达到下列要求:
l DHCP中继接收到的客户端发送的报文包括两层Tag,在DHCP中继上实现QinQ终结,即去掉报文中的两层Tag后,通过运营商网络将报文转发给DHCP server。
l DHCP client A和DHCP client B可以经过运营商网络从DHCP server申请到IP地址和网络配置参数。
图1-6 QinQ终结支持DHCP中继配置组网图
(1) DHCP中继Provider A的配置
# 使能DHCP 服务。
<ProviderA> system-view
[ProviderA] dhcp enable
# 创建DHCP服务器组。
[ProviderA] dhcp relay server-group 1 ip 10.2.1.1
# 创建路由子接口。
[ProviderA] interface GigabitEthernet 3/1/1.100
# 配置子接口GigabitEthernet3/1/1.100能够终结的VLAN报文的第二层VLAN ID范围为10和20。
[ProviderA-GigabitEthernet3/1/1.100] second-dot1q 10 20
# 配置允许子接口发送广播、组播报文。
[ProviderA-GigabitEthernet3/1/1.100] vlan-termination broadcast enable
# 配置接口使能DHCP中继,并选择服务器组。
[ProviderA-GigabitEthernet3/1/1.100] dhcp select relay
[ProviderA-GigabitEthernet3/1/1.100] dhcp relay server-select 1
# 配置路由子接口的IP地址。
[ProviderA-GigabitEthernet3/1/1.100] ip address 192.168.1.1 24
[ProviderA-GigabitEthernet3/1/1.100] quit
# 配置与DHCP服务器连接接口的IP地址。
[ProviderA] interface serial 4/1/9:0
[ProviderA-Serial4/1/9:0] ip address 10.1.1.1 24
(2) DHCP服务器Provider B的配置
# 配置DHCP服务器的IP地址。
<ProviderB> system-view
[ProviderB] interface serial 4/1/9:0
[ProviderB-Serial4/1/9:0] ip address 10.2.1.1 24
[ProviderB-Serial4/1/9:0] quit
# 使能DHCP服务。
[ProviderB] dhcp enable
# 配置DHCP服务器地址池。
[ProviderB] dhcp server ip-pool 1
[ProviderB-dhcp-pool-1] network 192.168.1.0 24
[ProviderB-dhcp-pool-1] gateway-list 192.168.1.1
[ProviderB-dhcp-pool-1] quit
# 配置到DHCP中继路由子接口的静态路由。
[ProviderB] ip route static 192.168.1.1 24 10.1.1.1
(3) Switch A的配置
# 配置QinQ上行口。
<SwitchA> system-view
[SwitchA] interface GigabitEthernet 2/0/1
[SwitchA-GigabitEthernet2/0/1] port link-type trunk
# 配置Trunk口,允许VLAN 100的报文通过。
[SwitchA-GigabitEthernet2/0/1] port trunk permit vlan 100
[SwitchA-GigabitEthernet2/0/1] quit
# 配置QinQ下行口GigabitEthernet2/0/2,使能基本QinQ功能。
[SwitchA] interface GigabitEthernet 2/0/2
[SwitchA-GigabitEthernet2/0/2] qinq enable
[SwitchA-GigabitEthernet2/0/2] quit
# 配置QinQ下行口GigabitEthernet2/0/3,使能基本QinQ功能。
[SwitchA] interface GigabitEthernet 2/0/3
[SwitchA-GigabitEthernet2/0/3] qinq enable
[SwitchA-GigabitEthernet2/0/3] quit
# 下行端口GigabitEthernet2/0/2和GigabitEthernet2/0/3加入VLAN 100。
[SwitchA] vlan 100
[SwitchA-vlan100] port GigabitEthernet 2/0/2
[SwitchA-vlan100] port GigabitEthernet 2/0/3
(4) Switch B的配置
# 端口GigabitEthernet2/0/2加入VLAN 10。
<SwitchB> system-view
[SwitchB] vlan 10
[SwitchB-vlan10] port GigabitEthernet 2/0/2
[SwitchB-vlan10] quit
# 配置端口GigabitEthernet2/0/1为Trunk口,且允许VLAN 10的报文通过。
[SwitchB] interface GigabitEthernet 2/0/1
[SwitchB-GigabitEthernet2/0/1] port link-type trunk
[SwitchB-GigabitEthernet2/0/1] port trunk permit vlan 10
(5) Switch C的配置
# 端口GigabitEthernet2/0/2加入VLAN 20。
<SwitchC> system-view
[SwitchC] vlan 20
[SwitchC-vlan20] port GigabitEthernet 2/0/2
[SwitchC-vlan20] quit
# 配置端口GigabitEthernet2/0/1为Trunk口,且允许VLAN 20的报文通过。
[SwitchC] interface GigabitEthernet 2/0/1
[SwitchC-GigabitEthernet2/0/1] port link-type trunk
[SwitchC-GigabitEthernet2/0/1] port trunk permit vlan 20
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!