配置QinQ终结子接口支持DHCP Relay示例
从典型的应用场景描述了QinQ终结子接口支持DHCP(Dynamic Host Configuration Protocol) Relay,如何保证部署了DHCP Relay的设备将客户端请求传送到DHCP服务器,从而保证DHCP Client动态获得IP地址。
组网需求
当DHCP客户端和服务器端处于不同子网时,需要通过部署了DHCP Relay的设备转发客户端DHCP请求报文,以实现不同子网的DHCP客户端能够从服务器端动态获取IP地址。
如果DHCP客户端通过终结子接口接入部署了DHCP Relay的设备,需要在部署了DHCP Relay的设备上配置终结子接口支持DHCP Relay。如果终结子接口不支持DHCP Relay,部署了DHCP Relay的设备会认为收到的带有VLAN Tag的用户报文是非法报文,从而导致DHCP客户端无法从服务器端动态获得IP地址。
如图8-24所示,DHCP客户端和服务器端不在同一个子网,DHCP Client通过CE接入DHCP-Relay,再通过DHCP-Relay接入DHCP-Server。CE1发往DHCP-Relay的报文带有两层VLAN Tag,为了保证DHCP客户端能够成功动态获取到IP地址,需要在DHCP-Relay上部署QinQ终结子接口支持DHCP Relay。
配置思路
采用以下思路配置QinQ终结子接口支持DHCP Relay:
分别在CE2、CE3上创建VLAN并配置二层转发功能,使得CE2、CE3发往CE1的报文带有一层VLAN Tag。
在CE1上配置QinQ功能和二层转发功能,使得CE1发往DHCP-Relay的报文带有两层VLAN Tag。
在DHCP-Relay上配置DHCP Relay功能和QinQ终结子接口支持DHCP Relay,实现DHCP客户端与服务器之间DHCP报文转发。
在DHCP-Server上配置DHCP Server功能,实现服务器端能够正确分配IP地址。
数据准备
为完成此配置例,需准备如下的数据:
- 用户所属的VLAN ID。
- CE与DHCP Client连接的接口名称。
- CE之间连接的接口名称。
- DHCP-Relay与CE1连接的接口名称、IP地址。
- DHCP-Relay与DHCP-Server连接的接口名称、IP地址。
- QinQ终结子接口终结的外层VLAN Tag值。
- DHCP-Server的地址池范围。
操作步骤
- 分别在CE2、CE3上创建VLAN并配置二层转发功能
# 配置CE2。
<HUAWEI> system-view
[~HUAWEI] sysname CE2
[*HUAWEI] commit
[~CE2] vlan 10
[*CE2-vlan10] quit
[*CE2] interface gigabitethernet 0/1/3
[*CE2-GigabitEthernet0/1/3] undo shutdown
[*CE2-GigabitEthernet0/1/3] portswitch
[*CE2-GigabitEthernet0/1/3] port link-type access
[*CE2-GigabitEthernet0/1/3] port default vlan 10
[*CE2-GigabitEthernet0/1/3] quit
[*CE2] interface gigabitethernet 0/1/1
[*CE2-GigabitEthernet0/1/1] undo shutdown
[*CE2-GigabitEthernet0/1/1] portswitch
[*CE2-GigabitEthernet0/1/1] port link-type trunk
[*CE2-GigabitEthernet0/1/1] port trunk allow-pass vlan 10
[*CE2-GigabitEthernet0/1/1] quit
[*CE2] commit
# 配置CE3。
<HUAWEI> system-view
[~HUAWEI] sysname CE3
[*HUAWEI] commit
[~CE3] vlan 20
[*CE3-vlan20] quit
[*CE3] interface gigabitethernet 0/1/3
[*CE3-GigabitEthernet0/1/3] undo shutdown
[*CE3-GigabitEthernet0/1/3] portswitch
[*CE3-GigabitEthernet0/1/3] port link-type access
[*CE3-GigabitEthernet0/1/3] port default vlan 20
[*CE3-GigabitEthernet0/1/3] quit
[*CE3] interface gigabitethernet 0/1/1
[*CE3-GigabitEthernet0/1/1] undo shutdown
[*CE3-GigabitEthernet0/1/1] portswitch
[*CE3-GigabitEthernet0/1/1] port link-type trunk
[*CE3-GigabitEthernet0/1/1] port trunk allow-pass vlan 20
[*CE3-GigabitEthernet0/1/1] quit
[*CE3] commit
- 在CE1上配置QinQ功能和二层转发功能
<HUAWEI> system-view
[~HUAWEI] sysname CE1
[*HUAWEI] commit
[~CE1] vlan 100
[*CE1-vlan100] quit
[*CE1] interface gigabitethernet 0/1/1
[*CE1-GigabitEthernet0/1/1] undo shutdown
[*CE1-GigabitEthernet0/1/1] portswitch
[*CE1-GigabitEthernet0/1/1] port vlan-stacking vlan 10 stack-vlan 100
[*CE1-GigabitEthernet0/1/1] quit
[*CE1] interface gigabitethernet 0/1/2
[*CE1-GigabitEthernet0/1/2] undo shutdown
[*CE1-GigabitEthernet0/1/2] portswitch
[*CE1-GigabitEthernet0/1/2] port vlan-stacking vlan 20 stack-vlan 100
[*CE1-GigabitEthernet0/1/2] quit
[*CE1] interface gigabitethernet 0/1/3
[*CE1-GigabitEthernet0/1/3] undo shutdown
[*CE1-GigabitEthernet0/1/3] portswitch
[*CE1-GigabitEthernet0/1/3] port link-type trunk
[*CE1-GigabitEthernet0/1/3] port trunk allow-pass vlan 100
[*CE1-GigabitEthernet0/1/3] quit
[*CE1] commit
- 在DHCP-Relay上配置DHCP Relay功能和QinQ终结子接口支持DHCP Relay
# 使能DHCP功能。
<HUAWEI> system-view
[~HUAWEI] sysname DHCP-Relay
[*HUAWEI] commit
[~DHCP-Relay] dhcp enable
[*DHCP-Relay] commit
# 配置DHCP-Relay网络侧接口GE0/1/2接口地址。
[~DHCP-Relay] interface gigabitethernet 0/1/2
[*DHCP-Relay-GigabitEthernet0/1/2] undo shutdown
[*DHCP-Relay-GigabitEthernet0/1/2] ip address 192.168.2.1 24
[*DHCP-Relay-GigabitEthernet0/1/2] quit
[*DHCP-Relay] commit
# 配置DHCP-Relay用户侧接口GE0/1/1.1接口地址,此地址必须和DHCP Client属于同一个网段。
[~DHCP-Relay] interface gigabitethernet 0/1/1
[*DHCP-Relay-GigabitEthernet0/1/1] undo shutdown
[*DHCP-Relay-GigabitEthernet0/1/1] quit
[*DHCP-Relay] interface gigabitethernet 0/1/1.1
[*DHCP-Relay-GigabitEthernet0/1/1.1] ip address 192.168.1.1 24
[*DHCP-Relay-GigabitEthernet0/1/1.1] ip relay address 192.168.3.1
[*DHCP-Relay-GigabitEthernet0/1/1.1] dhcp select relay
[*DHCP-Relay-GigabitEthernet0/1/1.1] commit
# 配置QinQ终结子接口支持DHCP Relay。
[*DHCP-Relay] interface gigabitethernet 0/1/1.1
[*DHCP-Relay-GigabitEthernet0/1/1.1] control-vid 1 qinq-termination
[*DHCP-Relay-GigabitEthernet0/1/1.1] qinq termination pe-vid 100 ce-vid 10
[*DHCP-Relay-GigabitEthernet0/1/1.1] qinq termination pe-vid 100 ce-vid 20
[*DHCP-Relay-GigabitEthernet0/1/1.1] dhcp option82 rebuild enable
[*DHCP-Relay-GigabitEthernet0/1/1.1] arp broadcast enable
[*DHCP-Relay-GigabitEthernet0/1/1.1] quit
[*DHCP-Relay] commit
同一主接口不同子接口使用qinq termination命令时,当两个不同的子接口的pe-vid取值相同时,ce-vid的取值范围不能有重叠。
对于DHCP Relay,需要在QinQ终结子接口使用dhcp option82 insert enable或者dhcp option82 rebuild enable命令使能对DHCP报文插入Option82功能。
如果QinQ终结子接口不使能对DHCP报文插入Option82功能,QinQ终结子接口接入DHCP Relay业务,QinQ终结子接口向用户侧发送DHCP报文时,系统对DHCP报文只封装该终结子接口下配置的最小VLAN值,而对其他VLAN不做处理。
对于DHCP Server,必须支持Option82带回功能,即,从DHCP Server返回的Offer或者ACK报文需要含有Option82信息。
- 配置DHCP服务器
具体配置过程略。DHCP服务器需要满足以下条件:
- 在DHCP服务器上配置地址池,以便服务器端分配正确的IP地址给客户端。
- 建议配置地址池租期,提高IP地址的使用效率。
- 验证配置结果
上述配置完成后,在DHCP-Relay上执行命令display dhcp relay address,可查看到使能了DHCP Relay功能的接口的DHCP配置情况。
[~DHCP-Relay] display dhcp relay address all
** GigabitEthernet0/1/1.1 DHCP Relay Address ** Dhcp Option Relay Agent IP Server IP * - 192.168.3.1
DHCP Client可以通过DHCP-Relay从DHCP-Server正常获取IP地址。
配置文件
DHCP-Relay配置文件
# sysname DHCP-Relay # dhcp enable # interface GigabitEthernet0/1/1 undo shutdown # interface GigabitEthernet0/1/1.1 encapsulation qinq-termination qinq termination pe-vid 100 ce-vid 10 qinq termination pe-vid 100 ce-vid 20 ip address 192.168.1.1 255.255.255.0 ip relay address 192.168.3.1 dhcp select relay dhcp option82 rebuild enable arp broadcast enable # interface GigabitEthernet0/1/2 undo shutdown ip address 192.168.2.1 255.255.255.0 # return
CE1的配置文件
# sysname CE1 # vlan batch 100 # interface GigabitEthernet0/1/3 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 100 # interface GigabitEthernet0/1/1 portswitch undo shutdown port vlan-stacking vlan 10 stack-vlan 100 # interface GigabitEthernet0/1/2 portswitch undo shutdown port vlan-stacking vlan 20 stack-vlan 100 # return
CE2的配置文件
# sysname CE2 # vlan batch 10 # interface GigabitEthernet0/1/3 portswitch undo shutdown port link-type access port default vlan 10 # interface GigabitEthernet0/1/1 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 10 # return
CE3的配置文件
# sysname CE3 # vlan batch 10 # interface GigabitEthernet0/1/3 portswitch undo shutdown port link-type access port default vlan 10 # interface GigabitEthernet0/1/1 portswitch undo shutdown port link-type trunk port trunk allow-pass vlan 10 # return