05-VLAN终结配置
本章节下载: 05-VLAN终结配置 (406.11 KB)
VLAN终结是指对接收到的报文,按照报文携带的VLAN Tag信息匹配对应的接口后,去除报文VLAN Tag,再将报文进行三层转发或交由其他业务处理。转发出去的报文是否带有VLAN Tag由出接口决定,对从配置了VLAN终结的接口发送的报文,按照该接口上的终结配置,将相应的VLAN Tag添加到报文中后发送该报文。
根据对所终结的报文的不同处理方式,VLAN终结分为:
· Dot1q终结:用来终结带有一层及以上VLAN Tag的报文(要求最外层VLAN ID必须匹配配置值),从配置了Dot1q终结的接口发送的报文,都添加一层VLAN Tag。
· QinQ终结:用来终结带有两层及以上VLAN Tag的报文(要求最外两层VLAN ID必须匹配配置值),从配置了QinQ终结的接口发送的报文,都添加两层VLAN Tag。
· Untagged终结:用来终结收到的不带VLAN Tag的报文,从配置了Untagged终结的接口发送的报文,都不添加VLAN Tag。
· Default终结:用来终结同一主接口上其他子接口上无法处理的报文,从配置了Default终结的接口发送的报文,都不添加VLAN Tag。
为便于描述,本特性部分内容对带有两层及以上VLAN Tag的报文,将其最外两层VLAN Tag按从外层到内层的方向,分别用第一层VLAN Tag、第二层VLAN Tag表示,对VLAN ID的描述类似。
子接口(例如三层以太网子接口/三层聚合子接口)、VLAN接口可以终结匹配最外层VLAN ID的报文或匹配最外两层VLAN ID的报文。其中,VLAN接口只能终结最外层VLAN ID与接口编号相同的VLAN报文,例如Vlan-interface10只能终结最外层VLAN ID为10的报文。
主接口(例如三层以太网接口/三层聚合接口)本身不能对VLAN报文做终结处理,在主接口创建子接口后,由子接口来处理。
配置VLAN终结后,设备对收到的报文按如下优先级顺序匹配接口:
· 配置了QinQ终结的子接口
· 配置了带loose属性的QinQ终结的子接口
· 配置了Dot1q终结或者缺省支持Dot1q终结的子接口
· 配置了带loose属性的Dot1q终结的子接口
· 配置了Untagged终结的子接口
· 配置了Default终结的子接口
· 主接口
当主接口的某个子接口配置了Untagged终结时,不带VLAN Tag的报文只能由主接口下的子接口处理,而不会匹配到主接口。
当主接口的某个子接口配置了Default终结时,报文只能由主接口下的子接口处理,而不会匹配到主接口。
与VLAN接口绑定的主接口在收到VLAN报文后,根据VLAN接口的配置对报文进行处理。
划分VLAN后,不同VLAN间的主机不能直接通信,使用三层路由技术可以实现所有VLAN间报文的互通。此时如果要对互通的VLAN范围做限制,即要求只有指定的部分VLAN间可以互通,可以借助VLAN终结功能来实现。目前可以通过子接口或VLAN接口实现指定VLAN间的互通。
图1-1 VLAN终结用于不同VLAN之间互通(通过三层以太网子接口)
如图1-1所示,Host A属于VLAN 2,Host B属于VLAN 3。将Host A的网关地址指定为1.1.1.1/24,Host B的网关地址指定为1.1.2.1/24,在Device上创建三层以太网子接口Subinterface A.2和Subinterface A.3并配置Dot1q终结,可实现Host A和Host B之间的互通。
图1-2 VLAN终结用于不同VLAN之间互通(通过VLAN接口)
如图1-2所示,Host A属于VLAN 2,Host B属于VLAN 3,Host C属于VLAN 4。将Host A的网关地址指定为1.1.1.1/24,Host B的网关地址指定为1.1.2.1/24,然后在Device上创建Vlan-interface2和Vlan-interface3并分别配置IP地址为Host A和Host B的网关地址,可实现Host A和Host B的三层报文互通:当Vlan-interface2收到Host A的VLAN 2报文时,去除VLAN Tag,再转发给Vlan-interface3,Vlan-interface3在发送该报文时添加该接口VLAN的 Tag(VLAN 3),使该报文能发送到VLAN 3内的Host B;反之亦然。
而Host C由于没有对应的VLAN接口终结VLAN 4的报文,不能与Host A或Host B互通。
VLAN接口缺省支持终结VLAN ID等于该接口编号的最外层VLAN Tag。
局域网内的报文大多数都带有VLAN Tag,但一些广域网协议(例如PPP)并不能识别VLAN报文。这种情况下,如果局域网的VLAN报文要转发到广域网,需要在本地记录并去掉报文的VLAN信息后再转发,可以借助VLAN终结功能来实现。目前可以通过子接口或VLAN接口实现局域网和广域网的互联。
如下图所示,用户网络的私网VLAN为Customer VLAN,运营商为用户网络分配的公网VLAN为Service VLAN。当用户网内Customer VLAN的报文进入运营商网络时,报文外面就会被封装上Service VLAN的VLAN Tag,在运营商网络基于Service VLAN进行转发。如果报文要发往外部广域网,则需要在出口网关上对该报文进行QinQ终结处理,去掉两层VLAN Tag,再发送到广域网。
图1-3 VLAN终结用于LAN和WAN互联
如果要在开启了Portal认证功能的接口上更改VLAN终结方式(例如从Dot1q终结更改为QinQ终结),必须先把该接口的在线Portal用户全部下线,否则会导致这些在线Portal用户无法正常下线也无法重新认证上线。有关Portal的介绍,请参见“安全配置指导”中的“Portal”。
在子接口视图下修改已有的VLAN终结配置后,该子接口会down/up一次,设备ARP表中与该子接口相关的动态表项也会被全部删除。
VLAN终结配置任务如下:
(1) 配置VLAN终结
请根据实际组网情况选择以下一种方式:
(2) (可选)配置VLAN终结支持广播/组播
执行该任务后,配置了VLAN终结功能的接口才能发送广播/组播报文。
(3) (可选)配置VLAN Tag的TPID值
模糊的Dot1q终结只允许接口接收最外层VLAN ID在指定范围内的VLAN报文,不属于该范围的VLAN报文则不允许通过该接口。接口收到报文后,将报文最外层VLAN Tag剥离。发送报文时,会给报文添加一层VLAN Tag,VLAN ID字段取值为:
· 对于PPPoE报文,通过查找PPPoE会话表项获取相应的VLAN ID。
· 对于DHCP Relay转发的DHCP Server端报文,通过查找DHCP会话表项获取相应的VLAN ID。
· 对于MPLS和其他IPv4报文,通过查找ARP表项获取相应的VLAN ID。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的Dot1q终结功能,并指定子接口能够终结的VLAN报文的最外层VLAN ID范围。
vlan-type dot1q vid vlan-id-list [ loose ]
缺省情况下,子接口的Dot1q终结功能处于关闭状态。
明确的Dot1q终结只允许接口接收最外层VLAN ID为指定值的VLAN报文,其他VLAN报文则不允许通过该接口。接口收到报文后,将报文最外层VLAN Tag剥离。发送报文时,给报文添加一层VLAN Tag,VLAN ID为指定值。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的Dot1q终结功能,并指定子接口能够终结的VLAN报文最外层VLAN ID。
vlan-type dot1q vid vlan-id [ loose ]
缺省情况下,子接口的Dot1q终结功能处于关闭状态。
模糊的QinQ终结只允许接口接收最外两层VLAN ID均在指定范围内的报文,不属于该范围的VLAN报文则不允许通过该接口。接口收到报文后,将报文最外两层VLAN Tag剥离。发送报文时,会给报文添加两层VLAN Tag。添加VLAN Tag后,报文的最外两层VLAN ID取值为:
· 对于PPPoE报文,通过查找PPPoE会话表项获取相应的VLAN ID。
· 对于DHCP Relay转发的DHCP Server端报文,通过查找DHCP中继用户地址表项获取相应的VLAN ID。
· 对于MPLS和其他IPv4报文,通过查找ARP表项获取相应的VLAN ID。
· 在同一主接口的不同子接口下配置QinQ终结功能时,如果指定的第一层VLAN ID相同,则第二层VLAN ID必须不同;如果指定的第一层VLAN ID不同,则第二层VLAN ID可以相同。
· 不同主接口下的子接口可以终结的VLAN报文可以相同也可以不同。
· 在同一子接口下多次执行vlan-type dot1q vid second-dot1q命令时,最终生效的第一层VLAN ID和第二层VLAN ID是多次配置的集合。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的QinQ终结功能,并指定子接口可以终结的VLAN报文的最外两层VLAN ID。
vlan-type dot1q vid vlan-id-list second-dot1q { vlan-id-list | any } [ loose ]
缺省情况下,子接口的QinQ终结功能处于关闭状态。
明确的QinQ终结只允许接口接收最外两层VLAN ID均为指定值的报文,其他VLAN报文则不允许通过该接口。接口收到报文后,将报文最外两层VLAN Tag剥离。发送报文时,会给报文添加两层VLAN Tag,两层VLAN ID均为指定值。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的QinQ终结功能,并指定子接口可以终结的VLAN报文的最外两层VLAN ID。
vlan-type dot1q vid vlan-id second-dot1q vlan-id [ loose ]
缺省情况下,子接口的QinQ终结功能处于关闭状态。
在VLAN接口上配置QinQ终结后,与该VLAN接口绑定的二层以太网接口只处理该VLAN接口匹配的报文,当收到发往该VLAN接口的其他报文时,都会直接丢弃。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入VLAN接口视图。
interface vlan-interface interface-number
(3) 开启接口的QinQ终结功能,并指定接口可以终结的VLAN报文的第二层VLAN ID。
second-dot1q vlan-id [ loose ]
缺省情况下,接口的QinQ终结功能未开启。
终结的第一层VLAN ID等于当前接口的编号,不能配置。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的Untagged终结功能。
vlan-type dot1q untagged
缺省情况下,子接口的Untagged终结功能处于关闭状态。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
(3) 开启子接口的Default终结功能。
vlan-type dot1q default
缺省情况下,子接口的Default终结功能处于关闭状态。
当接口下配置了模糊的Dot1q终结或者模糊的QinQ终结功能后,缺省情况下不允许发送广播/组播报文。只有配置了VLAN终结支持广播/组播功能,该接口才能发送广播/组播报文。
本功能允许接口遍历模糊终结范围内的VLAN ID,给报文分别添加这些VLAN ID对应的VLAN Tag后,再发送报文。例如,对于配置了模糊的QinQ终结的接口,报文添加VLAN Tag时,最外两层VLAN ID分别对应各自模糊终结范围内的VLAN ID。
IPv6网络中,当接口下配置了模糊的Dot1q终结或者模糊的QinQ终结功能后,建议配置vlan-termination broadcast ra命令,以允许接口遍历模糊终结的范围发送RA(Router Advertisement,路由器通告消息)组播报文,其他类型的广播/组播报文则不允许发送。该命令与vlan-termination broadcast enable命令相比,能有效减少设备CPU负担。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网子接口视图。
interface interface-type interface-number.subnumber
¡ 进入三层聚合子接口视图。
interface route-aggregation interface-number.subnumber
¡ 进入三层虚拟以太网子接口视图。
interface virtual-ethernet interface-number.subnumber
¡ 进入VLAN接口视图。
interface vlan-interface interface-number
(3) 配置允许接口发送广播/组播报文。请选择其中一项进行配置。
¡ 允许接口发送广播和组播报文。
vlan-termination broadcast enable
¡ 允许接口发送RA组播报文(IPv6环境)。
vlan-termination broadcast ra
缺省情况下,接口配置了模糊的Dot1q终结或者模糊的QinQ终结功能后,不允许发送广播/组播报文。
在子接口/VLAN接口上使用VLAN终结功能时,可以通过以下配置指定接口接收和发送报文的最外层VLAN Tag的TPID值。在配置TPID值后,当接收报文时,只有报文最外层VLAN Tag的TPID值为0x8100或者指定值的报文才会作为VLAN报文来处理;发送报文时,会给报文最外层VLAN Tag的TPID值填入指定值,如果报文带有两层及以上VLAN Tag,则给报文其他层VLAN Tag的TPID值都填入0x8100。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
¡ 进入三层以太网接口视图。
interface interface-type interface-number
¡ 进入三层聚合接口视图。
interface route-aggregation interface-number
¡ 进入三层虚拟以太网接口视图。
interface virtual-ethernet interface-number
¡ 进入VLAN接口视图。
interface vlan-interface interface-number
在VLAN接口视图下配置,会对该VLAN接口生效;在其他接口视图下配置,会对相应接口的所有子接口生效。
(3) 配置接口接收和发送的报文最外层VLAN Tag的TPID值。
dot1q ethernet-type hex-value
缺省情况下,接口接收和发送的报文最外层VLAN Tag的TPID值均为0x8100。
如下图所示,Host A、Host B、Host C和Switch A相连,Server group和Switch B相连。Host A、Host B、Host C分别属于VLAN 11、VLAN 12、VLAN 13;这些Host需要与Server group互相通信。
图1-4 模糊的Dot1q终结配置组网图
(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中加入端口GigabitEthernet1/0/1。
<L2_SwitchA> system-view
[L2_SwitchA] vlan 11
[L2_SwitchA-vlan11] port gigabitethernet 1/0/1
[L2_SwitchA-vlan11] quit
# 向VLAN 12中加入端口GigabitEthernet1/0/2。
[L2_SwitchA] vlan 12
[L2_SwitchA-vlan12] port gigabitethernet 1/0/2
[L2_SwitchA-vlan12] quit
# 向VLAN 13中加入端口GigabitEthernet1/0/3。
[L2_SwitchA] vlan 13
[L2_SwitchA-vlan13] port gigabitethernet 1/0/3
[L2_SwitchA-vlan13] quit
# 配置端口GigabitEthernet1/0/4的链路类型为Trunk类型,并允许VLAN 11~13通过。
[L2_SwitchA] interface gigabitethernet 1/0/4
[L2_SwitchA-GigabitEthernet1/0/4] port link-type trunk
[L2_SwitchA-GigabitEthernet1/0/4] port trunk permit vlan 11 to 13
(3) Device的配置
# 创建以太网子接口GigabitEthernet1/0/1.10,为其配置IP地址,开启Dot1q终结功能,指定终结最外层VLAN ID在范围11~13内的报文,并允许该子接口发送广播、组播报文。
<Device> system-view
[Device] interface gigabitethernet 1/0/1.10
[Device-GigabitEthernet1/0/1.10] ip address 1.1.1.11 255.255.255.0
[Device-GigabitEthernet1/0/1.10] vlan-type dot1q vid 11 to 13
[Device-GigabitEthernet1/0/1.10] vlan-termination broadcast enable
[Device-GigabitEthernet1/0/1.10] quit
# 配置以太网接口GigabitEthernet1/0/2的 IP地址。
[Device] interface gigabitethernet 1/0/2
[Device-GigabitEthernet1/0/2] ip address 1.1.2.11 255.255.255.0
(4) L2 Switch B的配置
L2 Switch B采用出厂配置即可。
(5) Server group的配置
将Server group里所有设备的IP地址配置在1.1.2.0/24网段,网关地址指定为1.1.2.11/24即可。
配置完成后, Host A、Host B、Host C可以与Server group相互ping通。
如下图所示,Host A、Host B和Switch A相连,Host C、Host D和Switch B相连。Host A和Host C属于VLAN 10,Host B和Host D属于VLAN 20。Device子接口GigabitEthernet1/0/1.10、GigabitEthernet1/0/1.20、GigabitEthernet1/0/2.10、GigabitEthernet1/0/2.20的IP地址分别为1.0.0.1/8、2.0.0.1/8、3.0.0.1/8和4.0.0.1/8。要求实现:
· Host A和Host B之间、Host C和Host D之间能够互相通信,即同一交换机、不同VLAN之间能够互相通信;
· Host A和Host C之间、Host B和Host D之间能够互相通信,即不同交换机、同一VLAN之间能够互相通信;
· Host A和Host D之间、Host B和Host C之间能够互相通信,即不同交换机、不同VLAN之间能够互相通信。
图1-5 明确的Dot1q终结配置组网图
(1) Host A、Host B、Host C、Host D的配置
将Host A的IP地址指定为1.1.1.1/8,网关地址指定为1.0.0.1/8。
将Host B的IP地址指定为2.2.2.2/8,网关地址指定为2.0.0.1/8。
将Host C的IP地址指定为3.3.3.3/8,网关地址指定为3.0.0.1/8。
将Host D的IP地址指定为4.4.4.4/8,网关地址指定为4.0.0.1/8。
(2) L2 Switch A、L2 Switch B的配置
下面以L2 Switch A的配置步骤为例,L2 Switch B的配置与L2 Switch A的配置相同,不再赘述。
# 向VLAN 10中加入端口GigabitEthernet1/0/2。
<L2_SwitchA> system-view
[L2_SwitchA] vlan 10
[L2_SwitchA-vlan10] port gigabitethernet 1/0/2
[L2_SwitchA-vlan10] quit
# 向VLAN 20中加入端口GigabitEthernet1/0/3。
[L2_SwitchA] vlan 20
[L2_SwitchA-vlan20] port gigabitethernet 1/0/3
[L2_SwitchA-vlan20] quit
# 配置端口GigabitEthernet1/0/1的链路类型为Trunk类型,并允许VLAN 10和VLAN 20通过。
[L2_SwitchA] interface gigabitethernet 1/0/1
[L2_SwitchA-GigabitEthernet1/0/1] port link-type trunk
[L2_SwitchA-GigabitEthernet1/0/1] port trunk permit vlan 10 20
(3) Device的配置
# 创建以太网子接口GigabitEthernet1/0/1.10、GigabitEthernet1/0/1.20、GigabitEthernet1/0/2.10和GigabitEthernet1/0/2.20,分别为其配置IP地址,配置GigabitEthernet1/0/1.10和GigabitEthernet1/0/2.10用来终结VLAN 10的报文,配置GigabitEthernet1/0/1.20和GigabitEthernet1/0/2.20用来终结VLAN 20的报文。
<Device> system-view
[Device] interface gigabitethernet 1/0/1.10
[Device-GigabitEthernet1/0/1.10] ip address 1.0.0.1 255.0.0.0
[Device-GigabitEthernet1/0/1.10] vlan-type dot1q vid 10
[Device-GigabitEthernet1/0/1.10] quit
[Device] interface gigabitethernet 1/0/1.20
[Device-GigabitEthernet1/0/1.20] ip address 2.0.0.1 255.0.0.0
[Device-GigabitEthernet1/0/1.20] vlan-type dot1q vid 20
[Device-GigabitEthernet1/0/1.20] quit
[Device] interface gigabitethernet 1/0/2.10
[Device-GigabitEthernet1/0/2.10] ip address 3.0.0.1 255.0.0.0
[Device-GigabitEthernet1/0/2.10] vlan-type dot1q vid 10
[Device-GigabitEthernet1/0/2.10] quit
[Device] interface gigabitethernet 1/0/2.20
[Device-GigabitEthernet1/0/2.20] ip address 4.0.0.1 255.0.0.0
[Device-GigabitEthernet1/0/2.20] vlan-type dot1q vid 20
[Device-GigabitEthernet1/0/2.20] quit
配置完成后,Host A、Host B、Host C、Host D可以相互ping通。
如下图所示,Host A、Host B、Host C和Switch 相连,分别属于VLAN 11、VLAN 12、VLAN 13,这些Host需要使用拨号方式访问Internet。
图1-6 Dot1q终结支持PPPoE Server配置组网图
关于VLAN和Dot1q终结的配置步骤请参见“1.12.1 模糊的Dot1q终结配置举例”,另外Router作为网络中的PPPoE server,需要在GigabitEthernet1/0/1.10上进行PPPoE相关参数的配置,详情请参见“二层技术-广域网接入配置指导”中的“PPPoE”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!