32-VLAN-VPN操作
本章节下载 (395.83 KB)
VPN(Virtual Private Network,虚拟私有网络)是近年来随着Internet的广泛应用而迅速发展起来的一种新技术,用以实现在公用网络上构建私人专用网络。通过在客户端或运营商接入端对用户报文进行特殊处理,使公网设备可以为用户报文建立专用的传输隧道,保证数据的安全。
VLAN-VPN是一种简单、灵活的二层VPN隧道技术,它通过在运营商接入端为用户的私网报文封装外层VLAN Tag,使报文携带两层VLAN Tag穿越运营商的骨干网络(公网)。在公网中,报文只根据外层VLAN Tag(即公网VLAN Tag)进行传输,用户的私网VLAN Tag则当作报文中的数据部分来进行传输。
携带单层VLAN Tag的报文结构如图1-1所示:
图1-1 携带单层VLAN Tag的报文结构
携带双层VLAN Tag的报文结构如图1-2所示:
图1-2 携带双层VLAN Tag的报文结构
相对于基于MPLS的二层VPN,VLAN-VPN具有如下特点:
l 为用户提供了一种更为简单的二层VPN隧道。
l 不需要在公网上配置自动学习的信令协议,可以通过简单的手工配置实现。
VLAN-VPN主要可以解决以下问题:
l 缓解日益紧缺的公网VLAN ID资源问题。
l 用户可以规划自己的私网VLAN ID,不会导致和公网VLAN ID冲突。
l 为小型城域网或企业网提供一种较为简单的二层VPN解决方案。
在开启端口的VLAN-VPN功能后,当该端口接收报文时,无论报文是否带有VLAN Tag,交换机都会为该报文封装本端口缺省VLAN的VLAN Tag,并将源MAC地址学习到缺省VLAN的MAC地址表中。因此,在接收报文时:
l 如果原报文是已经带有VLAN Tag的报文,在进入交换机后将成为带有双层Tag的报文
l 如果原报文是不带VLAN Tag的报文,在进入交换机后将成为带有端口缺省VLAN Tag的报文
TPID(Tag Protocol Identifier,标签协议标识)是VLAN Tag中的一个字段,IEEE 802.1q协议规定该字段的取值为0x8100。
IEEE 802.1q协议定义的以太网帧的Tag报文结构如图1-3所示:
图1-3 以太网帧的Tag报文结构
S5100-SI/EI系列交换机缺省采用协议规定的TPID值(0x8100)。某些厂商将设备可识别的TPID值设置为0x9100或其他数值。
为了和这些设备兼容,S5100-SI/EI系列交换机提供了全局的VLAN-VPN报文TPID值可调功能,用户可以自行配置TPID值。VLAN-VPN Uplink端口在转发报文时会将报文外层VLAN Tag中的TPID值替换为用户设定值再进行发送,从而使发送到公网中的VLAN-VPN报文可以被其他厂商的设备识别。
由于TPID字段在以太网报文中所处位置与不带VLAN Tag的报文中协议类型字段所处位置相同,为避免网络中报文转发和接收造成混乱,用户在配置VLAN-VPN时,交换机将不允许用户配置TPID为表1-1中列举的常用协议类型值。
协议类型 |
对应取值 |
ARP |
0x0806 |
IP |
0x0800 |
MPLS |
0x8847/0x8848 |
IPX |
0x8137 |
IS-IS |
0x8000 |
LACP |
0x8809 |
802.1x |
0x888E |
表1-2 VLAN-VPN配置任务简介
配置任务 |
说明 |
详细配置 |
配置VLAN-VPN端口 |
必选 |
|
配置全局TPID |
可选 |
l 此端口不是VLAN-VPN Uplink端口
l 此端口不能作为远程镜像反射端口
表1-3 配置端口的VLAN-VPN功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启端口的VLAN-VPN功能 |
vlan-vpn enable |
必选 缺省情况下,端口VLAN-VPN功能处于关闭状态 |
如果需要将全局TPID值设为不同于0x8100的其它值,则需要指定设备上的某个端口作为VLAN-VPN Uplink端口,在配置前,请确认该端口没有开启VLAN-VPN功能。
为保证报文的正确传输,在配置TPID值之前,请确认对端公网设备的TPID值。
表1-4 配置VLAN-VPN报文的TPID值可调功能
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设置TPID值 |
vlan-vpn tpid value |
必选 请不要设置可能引起冲突的TPID值,例如表1-1中列出的协议类型值 缺省情况下,H3C系列交换机采用的TPID值为0x8100 |
进入以太网端口视图 |
interface interface-type interface-number |
- |
将端口设置为VLAN-VPN Uplink端口 |
vlan-vpn uplink enable |
可选 缺省情况下,端口的VLAN-VPN Uplink功能是关闭的 |
l 一个端口不能同时被配置为VLAN-VPN端口和VLAN-VPN Uplink端口。
l 当TPID为缺省值0x8100时,所有端口都可以做VLAN-VPN Uplink口使用;但是如果TPID不是缺省值时,则必须使用vlan-vpn uplink enable命令指定VLAN-VPN Uplink端口。
l VLAN-VPN Uplink端口在发送报文时,需要保留报文的外层Tag,因此需要配置为Trunk或Hybrid端口,且在发送外层VLAN的报文时保留外层VLAN Tag。
完成上述配置后,在任意视图下执行display命令,可以显示配置VLAN-VPN后的运行情况。通过查看显示信息,用户可以验证配置的效果。
表1-5 VLAN-VPN配置显示
操作 |
命令 |
说明 |
显示系统中所有端口的VLAN-VPN配置信息 |
display port vlan-vpn |
display命令可以在任意视图下执行 |
l 如图1-4所示,SwitchA和SwitchB为S5100-SI/EI交换机,通过公共网络将用户的工作站与服务器相连。
l 用户的PC工作站和服务器划分在私有VLAN100,终端工作站和服务器划分在私有VLAN200。用户通过公共网络中的VLAN1040进行VPN连接。
l 公共网络中使用其他厂商的设备,TPID值为0x9200。
l 要求配置SwitchA和SwitchB的VLAN-VPN功能,使用户的PC工作站/服务器和终端工作站/服务器能通过VPN连接,并进行正常通信。
图1-4 VLAN-VPN典型配置举例组网图
l 配置Switch A
# 配置Switch A的端口GigabitEthernet1/0/11为VLAN-VPN端口,为进入该端口的报文封装VLAN1040的外层VLAN Tag。
<SwitchA> system-view
[SwitchA] vlan 1040
[SwitchA-vlan1040] port GigabitEthernet 1/0/11
[SwitchA-vlan1040] quit
[SwitchA] interface GigabitEthernet 1/0/11
[SwitchA-GigabitEthernet1/0/11] vlan-vpn enable
# 为与公共网络中的设备进行互通,配置Switch A的全局TPID值为0x9200,并指定GigabitEthernet1/0/12为VLAN-VPN Uplink端口。
[SwitchA-GigabitEthernet1/0/11] quit
[SwitchA] vlan-vpn tpid 9200
[SwitchA] interface GigabitEthernet1/0/12
[SwitchA-GigabitEthernet1/0/12] port link-type trunk
[SwitchA-GigabitEthernet1/0/12] port trunk permit vlan 1040
[SwitchA-GigabitEthernet1/0/12] vlan-vpn uplink enable
l 配置Switch B
# 配置SwitchB的端口GigabitEthernet1/0/21为VLAN-VPN端口,为进入该端口的报文封装VLAN1040的外层VLAN Tag。
<SwitchB> system-view
[SwitchB] vlan 1040
[SwitchB-vlan1040] port GigabitEthernet 1/0/21
[SwitchB-vlan1040] quit
[SwitchB] interface GigabitEthernet 1/0/21
[SwitchB-GigabitEthernet1/0/21] vlan-vpn enable
# 为与公共网络中的设备进行互通,配置SwitcB的全局TPID值为0x9200,并指定GigabitEthernet1/0/22为VLAN-VPN Uplink端口。
[SwitchB-GigabitEthernet1/0/21] quit
[SwitchB] vlan-vpn tpid 9200
[SwitchB] interface GigabitEthernet1/0/22
[SwitchB-GigabitEthernet1/0/22] port link-type trunk
[SwitchB-GigabitEthernet1/0/22] port trunk permit vlan 1040
[SwitchB-GigabitEthernet1/0/22] vlan-vpn uplink enable
l 请不要配置VLAN1040为SwitchA的GigabitEthernet1/0/12端口和SwitchB的GigabitEthernet1/0/22端口的缺省VLAN,以免外层Tag在发送时被去除。
l 此例中介绍了在SwitchA的GigabitEthernet1/0/11端口和SwitchB的GigabitEthernet1/0/21端口均为Access端口时的配置。当两个端口为Trunk和Hybrid端口时,请通过命令配置这两个端口的缺省VLAN为1040,且在发送VLAN1040的报文时去除外层Tag,具体操作请参考“端口基本配置”部分。
l 配置公共网络设备
# 由于公共网络使用其他厂商的设备,这里只介绍基本原理。配置公共网络中与SwitchA的GigabitEthernet1/0/12和SwitchB的GigabitEthernet1/0/22端口连接的设备,使其相应的端口允许VLAN1040的报文携带VLAN Tag进行发送即可。
报文从SwitchA转发至SwitcB的过程如下:
l 来自用户私网侧的报文进入SwitchA的端口GigabitEthernet1/0/11后,由于此端口为VLAN-VPN端口,在用户私有VLAN100和VLAN200的报文外层封装上端口缺省的VLAN Tag(VLAN ID为1040)。
l 交换机将报文外层VLAN Tag中的TPID值改为用户设定值0x9200,然后通过VLAN-VPN Uplink端口(GigabitEthernet1/0/12)发送到公网网络。
l 公共网络中的设备将保持外层VLAN Tag,将报文发送到SwitchB的GigabitEthernet1/0/22端口。
l SwitchB接收报文后,转发至GigabitEthernet1/0/21端口,由于该端口是以Access端口的形式加入到VLAN1040,因此在转发时会去除外层VLAN1040的VLAN Tag,从而将报文恢复为带有用户私有VLAN Tag的报文转发到相应的用户网络。
l 反方向的转发过程相同。
在H3C S5100-SI/EI系列以太网交换机中,只有S5100-EI设备支持灵活QinQ功能。
灵活QinQ是VLAN-VPN功能的一种增强应用,使用灵活QinQ,用户可以配置内外层Tag映射规则,为具有不同内层Tag的报文按映射规则封装不同的外层Tag。
灵活QinQ功能使运营商的网络构架更为灵活,在连接接入层设备的端口上可以根据VLAN Tag对不同的终端用户进行分类,为各类用户封装不同的外层Tag,并在公网中按外层Tag配置QoS策略,灵活配置数据的传输优先级,使各类用户获得相应的服务。以图2-1为例。
图2-1 灵活QinQ典型应用
SwitchA为运营商的接入设备,接入用户分为普通用户(VLAN8~100)、大客户(VLAN101~200)及IP电话用户(VLAN201~300)。这三类用户的报文全部由Switch A转发到公共网络。
在SwitchA连接用户的端口上配置了灵活QinQ及相应的内外层标签映射规则后,该端口将根据内层VLAN Tag为报文封装外层Tag。例如,将IP电话用户(内层Tag为201~300)的数据外层封装VLAN1002的Tag,并传送到负责IP电话业务的VoIP设备进行处理。
为保证语音报文的传输质量,可以在公共网络配置QoS策略,对VLAN1002的报文采取保留带宽、优先发送的规则。
该方法可以对不同类型用户的数据配置转发策略,提高网络管理灵活性;而且能够节省了公网VLAN资源,又使同类用户之间因内层VLAN Tag的不同而保持隔离状态,保证了一定的安全性。
IEEE 802.1Q协议定义的以太网帧的Tag报文结构如图2-2所示:
图2-2 以太网帧的Tag报文结构
其中Priority即该标签的802.1p优先级,长度3bit,取值范围为0~7。在开启VLAN-VPN功能的端口上,可以通过配置内外层优先级映射关系,根据报文内层优先级的不同,为报文封装具有不同优先级的外层标签。
有关优先级的具体配置,请参见本手册“QoS-QoS Profile”部分的介绍。
表2-1 灵活QinQ配置任务简介
配置任务 |
说明 |
详细配置 |
配置端口的灵活QinQ功能 |
必选 |
|
配置VLAN-VPN内外层标签优先级映射功能 |
可选 |
l 开启端口的VLAN-VPN功能;
l 设置当前端口允许特定VLAN的报文通过,至少应包括添加的外层标签对应的VLAN
表2-2 灵活QinQ配置过程
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置需要封装的外层Tag,并进入QinQ视图 |
vlan-vpn vid vlan-id |
必选 |
配置对指定内层标签的报文添加外层VLAN Tag |
raw-vlan-id inbound vlan-id-list |
必选 缺省情况下,没有配置对指定内层标签的报文添加外层VLAN Tag |
建议用户不要在交换机上同时配置灵活QinQ功能和DHCP Snooping功能,否则可能导致DHCP-Snooping功能无法正常使用。
端口开启VLAN-VPN功能。
表2-3 配置VLAN-VPN内层标签优先级映射功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置内外层标签优先级映射功能 |
vlan-vpn priority old-priority remark new-priority |
必选 缺省情况下,没有配置内外层标签优先级映射关系 |
l SwitchA的端口GigabitEthernet1/0/3连接了PC用户和IP电话用户。其中PC用户位于VLAN100~VLAN108范围内,IP电话用户位于VLAN200~VLAN230范围内。SwitchA的端口GigabitEthernet1/0/5连接到公共网络,对端为SwitchB。
l SwitchB的GigabitEthernet1/0/11端口接入公共网络,GigabitEthernet1/0/12和GigabitEthernet1/0/13端口分别接入PC用户服务器所在VLAN100~VLAN108和IP电话用户语音网关所在VLAN200~VLAN230。
l 公共网络中允许VLAN1000和VLAN1200的报文通过,并配置了QoS策略,对VLAN1200的报文配置有带宽保留等优先传输策略,而VLAN1000的报文传输优先级较低。
l 在SwitchA和SwitchB上配置灵活QinQ功能,将PC用户和IP电话用户的流量分别在公网的VLAN1000和VLAN1200内传输,以利用QoS策略保证语音数据的传输优先级。
图2-3 灵活QinQ配置图
l 配置SwitchA
# 在SwitchA上创建VLAN1000、VLAN1200和GigabitEthernet1/0/3的缺省VLAN5。
<SwitchA> system-view
[SwitchA] vlan 1000
[SwitchA-vlan1000] quit
[SwitchA] vlan 1200
[SwitchA-vlan1200] quit
[SwitchA] vlan 5
[SwitchA-vlan5] quit
# 配置端口GigabitEthernet1/0/5为Hybrid端口,并在转发VLAN5、VLAN1000和VLAN1200的报文时保留VLAN Tag。
[SwitchA] interface GigabitEthernet 1/0/5
[SwitchA-GigabitEthernet1/0/5] port link-type hybrid
[SwitchA-GigabitEthernet1/0/5] port hybrid vlan 5 1000 1200 tagged
[SwitchA-GigabitEthernet1/0/5] quit
# 配置端口GigabitEthernet1/0/3为Hybrid端口,缺省VLAN为VLAN5,并在转发VLAN5、VLAN1000和VLAN1200的报文时去除VLAN Tag。
[SwitchA] interface GigabitEthernet 1/0/3
[SwitchA-GigabitEthernet1/0/3] port link-type hybrid
[SwitchA-GigabitEthernet1/0/3] port hybrid pvid vlan 5
[SwitchA-GigabitEthernet1/0/3] port hybrid vlan 5 1000 1200 untagged
# 开启端口GigabitEthernet1/0/3的VLAN-VPN功能。
[SwitchA-GigabitEthernet1/0/3] vlan-vpn enable
# 配置该端口的灵活QinQ功能,为内层VLAN是100至108的报文封装VLAN1000的外层Tag;为内层VLAN是200至230的报文封装VLAN1200的外层Tag。
[SwitchA-GigabitEthernet1/0/3] vlan-vpn vid 1000
[SwitchA-GigabitEthernet1/0/3-vid-1000] raw-vlan-id inbound 100 to 108
[SwitchA-GigabitEthernet1/0/3-vid-1000] quit
[SwitchA-GigabitEthernet1/0/3] vlan-vpn vid 1200
[SwitchA-GigabitEthernet1/0/3-vid-1200] raw-vlan-id inbound 200 to 230
经过上述配置,在SwitchA向公共网络转发报文时,会自动将VLAN100~VLAN108(PC用户)的报文封装外层Tag为VLAN1000,将VLAN200~VLAN230(IP电话用户)的报文封装外层Tag为VLAN1200。
l 配置SwitchB
# 创建VLAN1000、VLAN1200以及GigabitEthernet1/0/12和GigabitEthernet1/0/13端口的缺省VLAN12和VLAN13。
<SwitchB> system-view
[SwitchB] vlan 1000
[SwitchB-vlan1000] quit
[SwitchB] vlan 1200
[SwitchB-vlan1200] quit
[SwitchB] vlan 12 to 13
# 配置端口GigabitEthernet1/0/11为Hybrid端口,并在发送VLAN12、VLAN13、VLAN1000和VLAN1200的报文时保留VLAN Tag。
<SwitchB> system-view
[SwitchB] interface GigabitEthernet 1/0/11
[SwitchB-GigabitEthernet1/0/11] port link-type hybrid
[SwitchB-GigabitEthernet1/0/11] port hybrid vlan 12 13 1000 1200 tagged
# 配置端口GigabitEthernet1/0/12为Hybrid端口,缺省VLAN为VLAN12,在发送VLAN12和VLAN1000的报文时去掉VLAN Tag。
[SwitchB] interface GigabitEthernet 1/0/12
[SwitchB-GigabitEthernet1/0/12] port link-type hybrid
[SwitchB-GigabitEthernet1/0/12] port hybrid pvid vlan 12
[SwitchB-GigabitEthernet1/0/12] port hybrid vlan 12 1000 untagged
[SwitchB-GigabitEthernet1/0/12] quit
# 配置端口GigabitEthernet1/0/13为Hybrid端口,缺省VLAN为VLAN13,在发送VLAN13和VLAN1200的报文时去掉VLAN Tag。
[SwitchB] interface GigabitEthernet 1/0/13
[SwitchB-GigabitEthernet1/0/13] port link-type hybrid
[SwitchB-GigabitEthernet1/0/13] port hybrid pvid vlan 13
[SwitchB-GigabitEthernet1/0/13] port hybrid vlan 13 1200 untagged
经过上述配置,SwitchB可以将公网中VLAN1000和VLAN1200的数据分别通过GigabitEthernet1/0/12和GigabitEthernet1/0/13端口发送到相应的服务器。
为使服务器端返回的数据能够使用同样的传输方式返回客户端,需要在SwitchB的GigabitEthernet1/0/12和GigabitEthernet1/0/13端口也配置相应的灵活QinQ功能,配置方法与SwitchA类似,这里不再赘述。
l SwitchB上的端口配置只以达到组网需求的某一种方法为例,也可以配置为Access或Trunk端口,只要能够接收和转发相应VLAN的报文即可。具体操作请参见“端口基本配置”的介绍,这里不再赘述。
l 由于开启灵活QinQ的设备在封装外层Tag时忽略用户报文的VLAN Tag,因此不需要在设备上配置用户的VLAN。
l 在启动了灵活QinQ的端口必须允许本端口的缺省VLAN通过,同时,接入公网的端口也必须允许该VLAN通过。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!