DHCP动态主机IP地址技术

225 阅读4分钟

前言

动态主机配置协议 DHCP 该协议允许服务器向客户端动态分配 IP 地址和配置信息。端口号 UDP67[服务端] 和 UDP68[客户端]

报文种类

1、DHCP DISCOVER:客户端开始DHCP过程的第一个报文,是请求IP地址和其它配置参数的广播报文

image.png

2、DHCP OFFER:服务器对DHCP DISCOVER报文的响应,是包含有效IP地址及配置的单播(或广播)报文。

image.png

3、DHCP REQUEST:客户端对DHCP OFFER报文的响应,表示接受相关配置。客户端续延IP地址租期时也会发出该报文。

4、DHCP DECLINE:当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发出此报文,通知服务器禁止使用该IP地址。

5、DHCP ACK:服务器对客户端的DHCP REQUEST报文的确认响应报文。客户端收到此报文后,才真正获得了IP地址和相关的配置信息。

6、DHCP NAK:服务器对客户端的DHCP REQUEST报文的拒绝响应报文。客户端收到此报文后,会重新开始新的DHCP过程。

7、DHCP RELEASE:客户端主动释放服务器分配的IP地址。当服务器收到此报文后,则回收该IP地址,并可以将其分配给其它的客户端。

8、DHCP INFORM:客户端获得IP地址后,发送此报文请求获取服务器的其它一些网络配置信息,如DNS等。

交互过程

第一步 DHCP客户端广播发送DHCP服务器 广播报文 <DHCP DISCOVER报文>

第二步 探测分配的地址是否可用 通过Ping以及ARP解析 <ARP报文>

image.png

image.png

第三步 DHCP服务端发送DHCP响应报文 并且指定了服务器地址 客户端IP以及MAC 广播报文 <DHCP OFFER报文>

image.png

第四步 客户端请求地址 此时还未获取到IP地址 广播报文 <DHCP REQUEST报文>

image.png

第五步 服务器确认请求 客户端获取到IP地址 广播报文 <DHCP ACK报文>

image.png

DHCP中继

默认情况下,路由器隔离广播包,不会将收到的广播包从一个子网发送到另一个子网。当DHCP服务器和客户端不在同一个子网时,充当客户端默认网关的路由器将广播包发送到DHCP服务器所在的子网,这一功能就称为DHCP中继(DHCP Relay)

DHCP相关配置

dhcp server enable                                     // 开启dhcp服务


dhcp server ip-pool pool_name                          // 创建dhcp地址池
 gateway-list ip-address&<1-64>                        // 配置网关
 network network-address [ mask-length | mask mask ]   // 配置地址池范围
 expired [ day hour minute second  | unlimited ]       // 配置租约时间 unlimited无限期 缺省一天
 option 43 hex 8007000001c0a86401   // 配置option43字段 用于指示AC地址[192.168.100.1]


// 清除指定IP地址的正式绑定和临时绑定信息。如果未指定本参数,则清除所有IP地址的正式绑定和临时绑定信息。
reset dhcp server ip-in-use [ ip ip-address | pool pool-name ] 


dhcp snooping enable       // 全局开启dhcp snooping功能
dhcp snooping trusted      // 接口视图下 指定信任接口 默认不信任


dhcp select relay          // 接口视图下开启dhcp中继
dhcp select server-address 192.168.10.1  // 指定dhcp中继地址

DHCP配置案例

image.png

RTA配置

[RTA]dhcp server enable
[RTA]interface GigabitEthernet 0/1
[RTA-GigabitEthernet0/1]ip address 192.168.0.254 255.255.255.0
[RTA-GigabitEthernet0/1]quit
[RTA]dhcp server ip-pool dhcp
[RTA]gateway-list 192.168.0.1 192.168.0.254
[RTA]network 192.168.0.0 mask 255.255.255.0

PCA验证配置

image.png

DHCP中继配置举例

image.png

SWA配置

[SWA]dhcp enable
[SWA]vlan 10
[SWA-vlan10]quit
[SWA]vlan 20
[SWA-vlan20]quit
[SWA]interface GigabitEthernet1/0/2
[SWA-GigabitEthernet1/0/2]port link-type trunk
[SWA-GigabitEthernet1/0/2]port trunk permit vlan 10 20
[SWA-GigabitEthernet1/0/2]port trunk pvid vlan 20
[SWA-GigabitEthernet1/0/2]undo port trunk permit vlan 1
[SWA-GigabitEthernet1/0/2]quit
[SWA]interface GigabitEthernet1/0/3
[SWA-GigabitEthernet1/0/3]port link-type trunk
[SWA-GigabitEthernet1/0/3]port trunk permit vlan 10 20
[SWA-GigabitEthernet1/0/3]port trunk pvid vlan 20
[SWA-GigabitEthernet1/0/3]undo port trunk permit vlan 1
[SWA-GigabitEthernet1/0/3]quit
[SWA]interface vlan 10
[SWA-Vlan-interface10]ip address 192.168.10.254 24
[SWA-Vlan-interface10]quit
[SWA]interface vlan 20
[SWA-Vlan-interface20]ip address 192.168.20.254 24
[SWA-Vlan-interface20]dhcp select relay  // 开启DHCP中继服务
[SWA-Vlan-interface20]dhcp relay server-address 192.168.10.1    // 指定DHCP中继对应的DHCP服务器地址
[SWA-Vlan-interface20]quit 
[SWA]

DHCP配置

[DHCP]dhcp enable
[DHCP]interface GigabitEthernet 0/1
[DHCP-GigabitEthernet0/1]ip address 192.168.10.1 24
[DHCP-GigabitEthernet0/1]qu
[DHCP]dhcp server ip-pool vlan20
[DHCP-dhcp-pool-vlan10]gateway-list 192.168.20.254
[DHCP-dhcp-pool-vlan10]network 192.168.20.0 mask 255.255.255.0
[DHCP-dhcp-pool-vlan10]quit
[DHCP]ip route-static 0.0.0.0 0 192.168.10.254

关于DHCP获取失败问题

  1. 二级路由器导致 [二级路由器重置DHCP服务默认开启 私接小路由]
  2. 品牌问题 [设备死机导致向所有端口发送ARP包]
  3. 未开DHCP服务 [DHCP中继也需要启用DHCP服务]