1. 产生背景
在大型企业网络中,会有大量主机和设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不易管理。如果有用户自行修改网络参数,易造成IP地址冲突等问题。
其中网络参数包括IP地址、网关、DNS等。
使用动态主机配置协议DHCP(Dynamic Host Configuration Protocol)分配IP地址等网络参数,可以减少管理员等工作量,避免用户收工配置网络参数造成地址冲突等问题。
2. DHCP是一个应用层模型,C/S模型。
3. 工作原理
1、客户端通过广播发送discover报文给服务器,来寻找DHCP服务器。
2、服务器收到discover报文后,服务器会通过单播发送一个offer报文给客户端,但此offer报文是一个未分配IP的报文,含有其它配置信息。
3、客户端收到offer报文后,会再次通过广播形式往服务器发送一个request报文。
4、服务器收到客户端发送的request报文后会回复一个ACK报文,包含分配的IP及其它配置信息。
有时4个报文都是广播报文。
4. DHCP计时器
1、更新计时器
默认租期为1天的话,则更新计时器是50%,即半天更新一次。IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约。客户端会发送一个DHCP request单播报文,DHCP服务器收到报文后,会进行单播回复一个DHCP ACK报文。
2、重新绑定计时器
租期默认为1天的话,则重新绑定计时器的时间是87.5%。DHCP客户端会在租约期限到达87.5%时,如果还没有收到服务器响应,则会申请重新绑定IP。
3、释放计时器
租期默认1天的话,如果服务器出现问题,无法响应Request报文,或者客户端主动放弃IP地址资源,则可以主动向DHCP服务器发送DHCP Release报文,释放该IP地址。
5. DHCP配置方式
1、接口下配置
在三层交换机上配置DHCP,且只能在三层交换机接口下配置,不能在二层交换机接口下配置。
在交换机配置接口地址池的方式获取IP地址。
在系统模式下输入dhcp enable
在接口下配置DHCP服务器
主机获取到的IP地址,按由大到小的顺序分配。
#如二层交换机,则要先创建一个vlan,在vlanif中设置DHCP。
interface vlanif 10
ip address 192.168.5.254 255.255.255.0
#定义DHCP为下面终端主机分配的网段
dhcp select interface
#定义DHCP服务器选择接口地址池的分配方式
dhcp server excluded-ip-address 192.168.5.101 192.168.5.200
#定义DHCP的保留IP地址,工作保留100个
dhcp server lease day 8 hour 0 minute 0
#定义DHCP的租期,默认为1天。
dhcp server dns-list 8.8.8.8
#定义DHCP分配的DNS
2、全局配置
在三层交换机上配置全局地址池的方式分配IP地址。
在系统模式下输入dhcp enable
在全局模式下定义地址池
#在全局模式下定义一个IP地址池,名称任意,例如ipchi。
ip pool ipchi
#定义网关
gateway-list 172.16.1.254
#定义网段、子网掩码
netwok 172.16.1.0 mask 255.255.255.0
#定义保留的IP地址
excluded-ip-address 172.16.1.101 172.16.1.200
#定义DNS
dns-list 8.8.8.8
#调用命令
dhcp select global
6. 服务器和客户端不在同一网段
通过DHCP中继设备来实现。
1、发现阶段
DHCP客户端通过广播方式发送DHCP discover报文,DHCP中继设备收到客户端发送的报文后以单播方式将DHCP discover报文发送给DHCP服务器。
2、提供阶段
DHCP服务器通过单播方式回应DHCP offer报文给DHCP中继设备。DHCP中继设备再将DHCP discover报文提供给DHCP客户端。
3、选择阶段
DHCP客户端通过广播方式发送DHCP request报文给DHCP中继设备,DHCP中继设备通过单播方式将DHCP客户端的报文转发给DHCP服务器。
4、确认阶段
DHCP服务器通过单播方式将DHCP ack报文通过DHCP中继设备发送给DHCP客户端,DHCP客户端对网络信息进行确认。
7. DHCP中继在路由器上配置全局地址池
1、使能DHCP:在系统模式下输入dhcp enable
2、在全局模式下定义一个地址池
#定义一个IP地址池,名称任意。例如ippool。
ip pool ippool
#定义网关
gateway-list 192.168.1.1
#定义网段和子网掩码
network 192.168.1.0 mask 255.255.255.0
#定义例外IP
excluded-ip-address 192.168.1.101 192.168.1.200
#定义DNS
dns-list 8.8.8.8
3、在与DHCP中继设备直连的接口下调用地址池
#使能DHCP
dhcp enable
#选择与DHCP中继设备直连的接口
interface g0/0/0
#设置网段
ip address 192.168.1.1 255.255.255.0
#选择DHCP中继
dhcp select relay
#选择中继服务器IP
dhcp relay server-ip 192.168.16.6