1.DHCP概念
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,用于为网络中的设备动态分配 IP 地址、子网掩码、默认网关、DNS 服务器等网络配置信息。
在一个网络环境中,如果每个设备都需要手动配置这些网络参数,会非常繁琐且容易出错。DHCP 服务器可以集中管理和分配这些参数,当设备连接到网络时,会向 DHCP 服务器发送请求,服务器接收到请求后,从可用的地址池中为该设备分配合适的网络配置,并将其发送给设备。
1.2 DHCP作用
1. 简化网络管理:减少了管理员手动配置每个设备网络参数的工作量。
2. 避免地址冲突:通过集中分配和管理 IP 地址,降低了 IP 地址冲突的可能性。
3. 灵活分配:可以根据不同的需求和策略为设备分配不同的网络参数。
总结:DHCP 极大地提高了网络配置的效率和灵活性,使得网络管理更加便捷和高效。
2 DHCP工作原理
1. 发现阶段(DHCP Discover):客户端启动时,由于没有 IP 地址,它会以广播形式发送 DHCP Discover 报文,试图寻找网络中的 DHCP 服务器。此报文中包含客户端的 MAC 地址等信息。
2. 提供阶段(DHCP Offer):网络中的 DHCP 服务器接收到 Discover 报文后,从地址池中选择一个未分配的 IP 地址,并结合其他网络配置参数(如子网掩码、网关、DNS 等),以单播形式向客户端发送 DHCP Offer 报文。可能存在多个 DHCP 服务器响应。
3. 请求阶段(DHCP Request):客户端通常会选择收到的第一个 Offer 报文,并以广播形式向服务器发送 DHCP Request 报文,请求使用所提供的 IP 地址等配置信息。
4. 确认阶段(DHCP ACK):DHCP 服务器收到 Request 报文后,确认将所提供的 IP 地址及配置信息分配给客户端,以单播形式发送 DHCP ACK 报文进行确认。客户端收到 ACK 报文后,就可以使用分配的 IP 地址及相关配置进行网络通信。
1.2抓包分析
如图所示,终端MAC为54:89:98:c4:71:d0以广播方式向外发出DHCP发现报文
Dynamic Host Configuration Protocol (Discover) --> 动态主机配置协议(发现)
Message type: Boot Request (1) --> 消息类型:启动请求(1)
Hardware type: Ethernet (0x01) --> 硬件类型:以太网(0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x00001dec --> 交易ID:0x00001dec
Seconds elapsed: 0 --> 已用秒数:0
Bootp flags: 0x0000 (broadcast) --> 引导标志:0x0000(广播)
Client IP address: 0.0.0.0 --> 客户端IP地址:0.0.0.0
Your (client) IP address: 0.0.0.0 --> DHCP提供客户端IP地址:0.0.0.0
Next server IP address: 0.0.0.0 --> 下一个服务器IP地址:0.0.0.0
Relay agent IP address: 0.0.0.0 --> 中继代理IP地址:0.0.0.0
Client MAC address: HuaweiTe_c4:71:d0 (54:89:98:c4:71:d0)
--> 客户端MAC地址:华为Te_c4:71:d0(54:89:98:c4:71:d0)
Client hardware address padding: 00000000000 --> 客户端硬件地址填充:
Server host name not given --> 未给出服务器主机名
Boot file name not given --> 未给出启动文件名
Magic cookie: DHCP --> 从客户端发出的信息:DHCP
Option: (53) DHCP Message Type (Discover) --> 选项:(53)DHCP消息类型(发现)
Option: (61) Client identifier --> 选项:(61)客户端标识符
Option: (55) Parameter Request List --> 选项:(55)参数请求列表
Option: (255) End --> 选项:(255)结束
Padding: 0000000000000000000000000000000000 --> 填充:
此时DHCP服务器以单播形式提供地址信息(重复项不再提示)
Dynamic Host Configuration Protocol (Offer) --> 动态主机配置协议(提供)
Message type: Boot Reply (2) --> 消息类型:启动回复(2)
Client IP address: 0.0.0.0 --> 客户端IP地址:0.0.0.0
Your (client) IP address: 192.168.1.254 --> DHCP提供的IP地址
Next server IP address: 0.0.0.0 --> 下一个服务器IP地址:0.0.0.0
Relay agent IP address: 0.0.0.0 --> 中继代理IP地址:0.0.0.0
Magic cookie: DHCP --> 从服务端发出的信息:DHCP
Option: (53) DHCP Message Type (Offer) --> 选项:(53)DHCP消息类型(提供)
Option: (1) Subnet Mask (255.255.255.0) --> 选项:(1)子网掩码(255.255.255.0)
Option: (3) Router --> 选项:(3)路由器 #网关
Option: (6) Domain Name Server --> 选项:(6)域名服务器
Option: (51) IP Address Lease Time --> 选项:(51)IP地址租用时间
Option: (59) Rebinding Time Value --> 选项:(59)重新绑定时间值
Option: (58) Renewal Time Value --> 选项:(58)续订时间值
Option: (54) DHCP Server Identifier (192.168.1.1) --> 选项:(54)DHCP服务器标识符(192.168.1.1)
终端收到广播Offer 报文后,(有可能收到多个DHCP Offer 报文)所以广播形式向服务器发送 DHCP Request 报文
Dynamic Host Configuration Protocol (Request) --> 动态主机配置协议(请求)
Message type: Boot Request (1) --> 消息类型:启动请求(1)
Client IP address: 0.0.0.0 --> 此阶段终端还未获取到地址所以显示0.0.0.0
Your (client) IP address: 0.0.0.0
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Magic cookie: DHCP --> 终端发出的信息:DHCP
Option: (53) DHCP Message Type (Request) --> 选项:(53)DHCP消息类型(请求)
Option: (54) DHCP Server Identifier (192.168.1.1) --> 选项:(54)DHCP服务器标识符(192.168.1.1)
Option: (50) Requested IP Address (192.168.1.254) --> 选项:(50)请求的IP地址(192.168.1.254)
Option: (61) Client identifier --> 选项:(61)客户端标识符
Option: (55) Parameter Request List --> 选项:(55)参数请求列表
服务器收到终端发来的请求,以单播方式回复终端请求
Dynamic Host Configuration Protocol (ACK) --> 动态主机配置协议(ACK)
Message type: Boot Reply (2) --> 消息类型:启动回复(2)
Your (client) IP address: 192.168.1.254 --> 服务器向终端发送确认IP
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK) --> 选项:(53)DHCP消息类型(ACK)
Option: (1) Subnet Mask (255.255.255.0) --> 选项:(1)子网掩码(255.255.255.0)
Option: (54) DHCP Server Identifier (192.168.1.1) --> 选项:(54)DHCP服务器标识符(192.168.1.1)
至此终端MAC为54:89:98:c4:71:d0获取到192.168.1.254 IP地址
3基本配置
如下为配置拓扑
要求1:DHCP配置在AR1上,LSW1作为VLAN1透传交换机,终端获取到192.168.1.0/24地址,网关为192.168.1.1,DNS为114.114.114.114,地址租期为3天
华为--------------------------------------------------------------------
dhcp enable --> 开启DHCP功能
ip pool dhcp --> 创建DHCP地址池,命名为dhcp
gateway-list 192.168.1.1 --> 设置DHCP网关
network 192.168.1.0 mask 255.255.255.0 --> 创建DHCP地址范围及掩码
lease day 3 --> 设置租期
dns-list 114.114.114.114 8.8.8.8 --> 设置DNS
interface GigabitEthernet 0/0/0 --> 进入接口
ip address 192.168.1.1 255.255.255.0 --> 设置网关
dhcp select global --> 设置DHCP收发接口
华三--------------------------------------------------------------------
dhcp enable --> 开启DHCP功能
dhcp server ip-pool dhcp --> 创建DHCP地址池,命名为dhcp
gateway-list 192.168.1.1 --> 设置DHCP网关
network 192.168.1.0 mask 255.255.255.0 --> 创建DHCP地址范围及掩码
dns-list 114.114.114.114 8.8.8.8 --> 设置DNS
expired day 3 --> 设置租期
interface GigabitEthernet 1/0/0 --> 进入接口
ip address 192.168.1.1 255.255.255.0 --> 设置网关
dhcp select server --> 设置DHCP收发接口
锐捷--------------------------------------------------------------------
service dhcp --> 开启DHCP功能
ip dhcp pool dhcp --> 创建DHCP地址池,命名为dhcp
network 192.168.1.0 255.255.255.0 --> 创建DHCP地址范围及掩码
dns-server 114.114.114.114 8.8.8.8 --> 设置DNS
default-router 192.168.1.1 --> 设置DHCP网关
Lease 3 --> 设置租期
interface GigabitEthernet 0/0 --> 进入接口
ip address 192.168.1.1 255.255.255.0 --> 设置网关
要求二:DHCP配置在AR1上,LSW1作为网关即开启DHCP中继,终端获取到192.168.1.0/24地址,网关为192.168.1.1,DNS为114.114.114.114,地址租期为3天
华为--------------------------------------------------------------------
AR1:
dhcp enable --> 开启DHCP功能
ip pool dhcp --> 创建DHCP地址池,命名为dhcp
gateway-list 192.168.1.1 --> 设置DHCP网关
network 192.168.1.0 mask 255.255.255.0 --> 创建DHCP地址范围及掩码
lease day 3 --> 设置租期
dns-list 114.114.114.114 8.8.8.8 --> 设置DNS
interface GigabitEthernet 0/0/0 --> 进入接口
ip address 192.168.2.1 255.255.255.0 --> 设置互联LSW1地址
dhcp select global --> 设置DHCP收发接口
ip routing-table 192.168.1.0 24 192.168.2.2 --> 配置静态路由,确保路由可达
LSW1:
interface GigabitEthernet 0/0/0 --> 进入接口
ip address 192.168.2.2 255.255.255.0 --> 设置互联AR1地址
dhcp enable --> 开启DHCP功能
interface Vlanif1 --> 设置VLAN
ip address 192.168.1.1 255.255.255.0 --> 设置DHCP网关
dhcp select relay --> 开启DHCP中继
dhcp relay server-ip 192.168.2.1 --> 设置DHCP中继地址
ip routing-table 0.0.0.0 0 192.168.2.2 --> 配置静态路由,确保路由可达
华三--------------------------------------------------------------------
AR1:
dhcp enable --> 开启DHCP功能
dhcp server ip-pool dhcp --> 创建DHCP地址池,命名为dhcp
gateway-list 192.168.1.1 --> 设置DHCP网关
network 192.168.1.0 mask 255.255.255.0 --> 创建DHCP地址范围及掩码
dns-list 114.114.114.114 8.8.8.8 --> 设置DNS
expired day 3 --> 设置租期
interface GigabitEthernet 1/0/0 --> 进入接口
ip address 192.168.2.1 255.255.255.0 --> 设置互联LSW1地址
dhcp select server --> 设置DHCP收发接口
ip routing-table 192.168.1.0 24 192.168.2.2 --> 配置静态路由,确保路由可达
LSW1:
interface GigabitEthernet 1/0/1 --> 进入接口
ip address 192.168.2.2 255.255.255.0 --> 设置互联AR1地址
dhcp enable --> 开启DHCP功能
interface Vlan-interface1 --> 设置VLAN
ip address 192.168.1.1 255.255.255.0 --> 设置DHCP网关
dhcp select relay --> 开启DHCP中继
dhcp relay server-address 192.168.2.1 --> 设置DHCP中继地址
ip routing-table 0.0.0.0 0 192.168.2.2 --> 配置静态路由,确保路由可达
锐捷--------------------------------------------------------------------
ARP1:
service dhcp --> 开启DHCP功能
ip dhcp pool dhcp --> 创建DHCP地址池,命名为dhcp
network 192.168.1.0 255.255.255.0 --> 创建DHCP地址范围及掩码
dns-server 114.114.114.114 8.8.8.8 --> 设置DNS
default-router 192.168.1.1 --> 设置DHCP网关
Lease 3 --> 设置租期
interface GigabitEthernet 0/0 --> 进入接口
ip address 192.168.2.1 255.255.255.0 --> 设置互联LSW1地址
ip route 192.168.1.0 255.255.255.0 192.168.2.2 --> 配置静态路由,确保路由可达
LSW1:
service dhcp --> 开启DHCP功能
ip helper-address 192.168.2.1 --> 设置DHCP中继地址
interface GigabitEthernet 0/1 --> 进入接口
ip address 192.168.2.2 255.255.255.0 --> 设置互联AR1地址
interface vlan 1 --> 设置VLAN
ip address 192.168.1.1 255.255.255.0 --> 设置DHCP网关
ip route 0.0.0.0 0.0.0.0 192.168.2.1 --> 配置静态路由,确保路由可达