实验目标:

实现部署 DHCP Relay 让终端动态获取 IP 地址
实现 DHCP 静态地址绑定配置
分析 DHCP Relay debug 信息

实验拓扑:

实验背景:

你是公司的网络管理员,由于公司网络主机数量较多,使用静态地址分配难以管理,因此需要
架设 DHCP Server
核心交换机 S1 DHCP ServerS4 DHCP ClientS3 作为各个网段的网关,由于 DHCP
Discover 是广播报文不能穿越路由器,因此部署 DHCP Relay 将请求报文从 S3 发送到 S1
同时针对特殊的 Client,如服务器、打印机等,要求 DHCP 分配固定的 IP 地址

实验思路

1. 在每台交换机上创建 VLAN,配置接口为对应的模式,放通相应的 VLAN
2. 配置 DHCP Server,创建地址池为终端分配地址,同时创建静态分配地址。
3. 配置 DHCP Relay 设备,在接口下配置 DHCP Relay 所代理的 DHCP Server IP 地址。
4. DHCP Client 上开启通过 DHCP 获取地址。
5. 通过 debug 观察 DHCP Relay 设备中继 DHCP 报文的过程

实验步骤:

步骤 1 基础配置

在三台交换机上创建相应的 VLANVLANIF,配置接口放通对应的 VLANVLANIF 地址为
10.0.x.y/24,其中 x VLAN IDy 为设备编号,S4 上的 VLANIF 暂不需要配置地址。

#创建 VLAN

[S1]vlan 40
[S3]vlan batch 10 20 30 40
[S4]vlan batch 10 20 30

#配置接口放通相应的 VLAN

[S4]interface GigabitEthernet0/0/3
[S4-GigabitEthernet0/0/3] port link-type trunk
[S4-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20 30
[S4-GigabitEthernet0/0/3] quit
[S3]interface GigabitEthernet0/0/1
[S3-GigabitEthernet0/0/1] port link-type access
[S3-GigabitEthernet0/0/1] port default vlan 40
[S3-GigabitEthernet0/0/1] quit
[S3]interface GigabitEthernet0/0/3
[S3-GigabitEthernet0/0/3] port link-type trunk
[S3-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 20 30
[S3-GigabitEthernet0/0/3] quit
[S1]interface GigabitEthernet0/0/12
[S1-GigabitEthernet0/0/12] port link-type access
[S1-GigabitEthernet0/0/12] port default vlan 40
[S1-GigabitEthernet0/0/12] quit

#VLANIF 配置

[S4]interface Vlanif 10
[S4-Vlanif10] quit
[S4]interface Vlanif 20
[S4-Vlanif20] quit
[S4]interface Vlanif 30
[S4-Vlanif30] quit
[S3]interface Vlanif 10
[S3-Vlanif10] ip address 10.0.10.3 24
[S3-Vlanif10] quit
[S3]interface Vlanif 20
[S3-Vlanif20] ip address 10.0.20.3 24
[S3-Vlanif20] quit
[S3]interface Vlanif 30
[S3-Vlanif30] ip address 10.0.30.3 24
[S3-Vlanif30] quit
[S3]interface Vlanif 40
[S3-Vlanif40] ip address 10.0.40.3 24
[S3-Vlanif40] quit
[S1]interface Vlanif 40
[S1-Vlanif40] ip address 10.0.40.1 24
[S1-Vlanif40] quit

#检查 S1S3 之间的 VLANIF40 接口连通性

DHCP Server DHCP Relay 之间能够正常通信

步骤 2 DHCP Server 配置

开启 DHCP 服务,配置全局地址池,同时为 S4 上的 VLANIF30 分配静态 IP 地址。

#开启 DHCP 服务

[S1]dhcp enable

#创建地址池 VLAN10,用于给 S4 VLANIF10 分配地址

[S1]ip pool vlan10
[S1-ip-pool-vlan10] gateway-list 10.0.10.3
[S1-ip-pool-vlan10] network 10.0.10.0 mask 255.255.255.0
[S1-ip-pool-vlan10] dns-list 10.0.10.3
[S1-ip-pool-vlan10] quit

#创建地址池 VLAN20,用于给 S4 VLANIF20 分配地址

[S1]ip pool vlan20
[S1-ip-pool-vlan20] gateway-list 10.0.20.3
[S1-ip-pool-vlan20] network 10.0.20.0 mask 255.255.255.0
[S1-ip-pool-vlan20] dns-list 10.0.20.3
[S1-ip-pool-vlan20] quit

#创建地址池 VLAN30,用于给 S4 VLANIF30 分配地址

[S1]ip pool vlan30
[S1-ip-pool-vlan30] gateway-list 10.0.30.3
[S1-ip-pool-vlan30] network 10.0.30.0 mask 255.255.255.0
[S1-ip-pool-vlan30] dns-list 10.0.30.3
[S1-ip-pool-vlan30] quit

#查看 S4 VLANIF30 的接口 MAC 地址

实际 MAC 地址以实验环境设备为准

#S1 上为 S4 VLANIF30 配置静态地址分配

[S1]ip pool vlan30
[S1-ip-pool-vlan30] static-bind ip-address 10.0.30.2 mac-address 4c1f-cc72-438e
为其分配固定 IP 地址 10.0.30.2

#VLANIF40 接口下使能 DHCP Server

[S1]interface Vlanif 40
[S1-Vlanif40] dhcp select global

#查看 IP 地址池配置情况

地址池 vlan30 已经存在一个“Used”地址,该地址为静态分配的地址

#配置前往用户网段的路由

[S1]ip route-static 10.0.10.0 24 10.0.40.3
[S1]ip route-static 10.0.20.0 24 10.0.40.3
[S1]ip route-static 10.0.30.0 24 10.0.40.3
DHCP Relay 设备接收到 DHCP Client DHCP 报文之后,使用接口 IP 地址中继客户端的
DHCP 报文,因此需要保证接口 IP DHCP Server 之间的连通性。

#检查 DHCP Server DHCP Relay 接口之间的连通性

步骤 3 DHCP Relay 配置

S3 上完成 DHCP Relay 相关配置

#开启 DHCP 服务

[S3]dhcp enable

#在接口上配置 DHCP Relay,指定 DHCP Server

[S3]interface Vlanif10
[S3-Vlanif10] dhcp select relay
[S3-Vlanif10] dhcp relay server-ip 10.0.40.1
[S3-Vlanif10] quit
[S3]interface Vlanif20
[S3-Vlanif20] dhcp select relay
[S3-Vlanif20] dhcp relay server-ip 10.0.40.1
[S3-Vlanif20] quit
[S3]interface Vlanif30
[S3-Vlanif30] dhcp select relay
[S3-Vlanif30] dhcp relay server-ip 10.0.40.1
[S3-Vlanif30] quit

#检查 DHCP Relay 配置结果

步骤 4 DHCP Client 配置

S4 上配置 VLANIF102030 接口通过 DHCP 获取 IP 地址

#开启 DHCP 服务

[S4]dhcp enable

#开启接口通过 DHCP 获取地址

[S4]interface Vlanif10
[S4-Vlanif10] ip address dhcp-alloc
[S4-Vlanif10] quit
[S4]interface Vlanif20
[S4-Vlanif20] ip address 10.0.20.1 24
[S4-Vlanif20] quit
[S4]interface Vlanif30
[S4-Vlanif30] ip address 10.0.30.1 24
[S4-Vlanif30] quit

#查看各个接口 IP 地址获取情况

接口已经通过 DHCP 获取到 IP 地址,并且 VLANIF30 的地址为静态分配的地址:10.0.30.1

步骤 5 观察 DHCP Relay 过程

S3 上开启 debugging dhcp relay infodebugging dhcp relay packet,删除 S4
VLANIF10 DHCP 获取地址的配置,之后重新配置,观察 debug 输出信息

#S3 上开启 debug

<S3>debugging dhcp relay info
<S3>debugging dhcp relay packet
<S3>terminal debugging
Info: Current terminal debugging is on.
<S3>terminal monitor
Info: Current terminal monitor is on

#删除 S4 VLANIF10 接口下配置

[S4]interface Vlanif 10
[S4-Vlanif10] undo ip address dhcp-alloc

#S3 debug 输出信息

S3 VLANIF10 收到了 DHCP Release 报文,其源 IP 10.0.10.254,目的 IP 10.0.40.1,其
giaddr 字段值为 0.0.0.0S3 将该字段填充为 10.0.10.3 之后(VLANIF10 接口 IP)发送给
DHCP Server

#重新配置 S4 VLANIF10 接口下配置

[S4]interface Vlanif 10
[S4-Vlanif10] ip address dhcp-alloc

# S3 debug 输出信息

S3 收到来自 Client DHCP Discover,源 IP 0.0.0.0,目的 IP 255.255.255.255S3
giaddr 字段值为 10.0.10.3 之后,将报文单播转发给了 DHCP Server 10.0.40.1,此时报文
IP 10.0.10.3
S3 收到来自 DHCP Server DHCP Offer,源 IP 10.0.40.1,目的 IP 10.0.10.3,其中携
带携带了 DHCP Server IDDHCP Option 54),S3 之后将报文单播发送给 Client
S3 收到来自 Client DHCP Request,该 Request 为广播报文,S3 随后将报文转成单播发送
DHCP Server
S3 收到来自 DHCP Server DHCP ACK,源 IP 10.0.40.1,目的 IP 10.0.10.3S3 之后
将报文单播发送给 Client,至此整个 DHCP 新获取地址过程结束
至此实验结束   通过 debug 观察 到了DHCP Relay 设备中继 DHCP 报文的过程
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐