随着企业网络环境越来越大,下面所连接的节点,PC等也是越来越多,如果全部由人工来的指定固定的IP地址,不仅需要更多的人工,而且效率低下,容易出错。DHCP技术也因这种需求而开发出来。下面Keny就和大家一起来初接触一下DHCP,有不对之处,还请各位老师前辈不吝指正!
一,DHCP概述。
DHCP:Dynamic Host Configuration Protocol,动态主机配置协议。通过使用DHCP,可以给DHCP客户端动态地分配IP地址。
DHCP采用:服务器------客户端 模式。
二,DHCP工作原理。
1,DHCP客户端发送一条DHCPDISCOVER广播消息,以查找DHCP服务器。
2,DHCP服务器收到DHCPDISCOVER报文后,将从地址池中提供一个尚未被分配出去的IP地址,并把提供的IP地址暂时标记为不可用。DHCP Server通过单播消息DHCPOFFER回应客户端的请求。如果网络里包含有不止一个DHCP服务器,则客户端可能会收到不止一个DHCPOFFER报文,但通常客户端只会接受第一个。
DHCPOFFER通常包含了一些相关配置参数(如IP地址,MAC地址,域名,默认网关和租用给客户端的IP地址等)
3, 客户端收到DHCPOFFER报文后,会发送广播消息DHCPREQUEST,请求DHCP提供该IP地址。
4, DHCP Server端向DHCP 客户端发送一个确认报文DHCPACK。确认之前保留的IP分配给客户端。
5, DHCP服务器只能将IP分配给客户端一段时间,DHCP客户端必须在该租用期过期前对它进行更新。客户端在50%的租期时间过去以后,每隔一端时间就向DHCP服务器请求更新当前租借。如果DHCP服务器应答,则租用延期,如果服务器始终没有应答,则在有效租期的87.5%,客户端应该与任何一个其他的DHCP服务器通信,并请求更新它的配置信息。如果客户端不能和所有的DHCP服务器取得联系,在租期过期后,它将放弃当前的IP地址,并重新发一个DHCPDISCOVER报文,重新开始以上过程。
默认情况下,DHCP服务器将租用期定为1天。
三,DHCP基础配置
实验拓扑:
实验要求:
将R1配置为DHCP服务器,向3台PC提供IP地址
PC的IP地址设置为DHCP获取
实验配置:
R1:
R1(config)#service dhcp
//启用DHCP功能,默认被启用。
R1(config)#no ip dhcp conflict logging
//禁用DHCP冲突日志(没有配置DHCP数据库代理时使用)
R1(config)#ip dhcp pool ccna
//指定DHCP地址池名称,进入DHCP地址池配置模式
R1(dhcp-config)#network 192.168.1.0 /24
//DHCP要分配的网络和掩码
R1(dhcp-config)#domain-name cisco.com
//指定域名
R1(dhcp-config)#default-router 192.168.1.1
//指定默认网关,这里就是路由器的相连接口IP
R1(dhcp-config)#dns-server 192.168.1.4
//DNS服务器IP
R1(dhcp-config)#netbios-name-server 192.168.1.2
//WINS服务器IP
R1(dhcp-config)#option 150 ip 192.168.1.3
//TFTP服务器
R1(dhcp-config)#lease infinite
//定义租期,这里是无限制
R1(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.5
//DHCP排除的地址段
这里使用vpcs来模拟PC:
使用DHCP成功获取IP
R1#ping 192.168.1.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/24/76 ms
查看DHCP地址池信息:
R1#sh ip dhcp pool
Pool ccna :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 2
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased addresses
192.168.1.8 192.168.1.1 - 192.168.1.254 2
R1#sh ip dhcp ?
binding DHCP address bindings
conflict DHCP address conflicts
database DHCP database agents
import Show Imported Parameters
pool DHCP pools information
relay Miscellaneous DHCP relay information
server Miscellaneous DHCP server information
查看DHCP绑定情况:
R1#sh ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type
Hardware address/
User name
192.168.1.6 0050.7966.6800.ff Infinite Automatic
192.168.1.7 0050.7966.6801.ff Infinite Automatic
四,DHCP中继代理
DHCP中继代理是在客户端和服务器之间转发DHCP分组的主机。当服务器与客户端处于不同的子网时,客户端的DHCPDISCOVER广播是无法发送到DHCP服务器,此时,中继代理将用于在它们之间转发请求和回应。
在中继代理上配置了帮助地址(ip helper-address)后,导致在接口上的收到的UDP广播变成单播,并从另一个接口发送到该命令指向的单播IP地址。在预期将收到广播的接口上,应配置命令ip helper-address
实验拓扑:
如图所示:
在上图原有基础上,添加了R2和PC3。
要求:R1仍然做DHCP Server,并添加多一个Pool:R2,负责R2所连网段172.16.1.0/24的地址分配;而R2作为中继代理,
R1和R2运行RIP V2协议,使得全网畅通。
R1上的配置:
no ip domain lookup
no ip dhcp use vrf connected
no ip dhcp conflict logging
ip dhcp excluded-address 192.168.1.1 192.168.1.5
ip dhcp excluded-address 172.16.1.1 172.16.1.5
!
ip dhcp pool ccna
network 192.168.1.0 255.255.255.0
domain-name cisco.com
dns-server 192.168.1.4
default-router 192.168.1.1
netbios-name-server 192.168.1.2
option 150 ip 192.168.1.3
lease infinite
!
ip dhcp pool R2
network 172.16.1.0 255.255.255.0
default-router 172.16.1.1
dns-server 192.168.1.4
netbios-name-server 192.168.1.2
option 150 ip 192.168.1.3
domain-name ccna.com
lease infinite
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 192.168.12.1 255.255.255.0
duplex auto
speed auto
!
router rip
version 2
network 192.168.1.0
network 192.168.12.0
no auto-summary
R2的配置:
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
ip helper-address 192.168.12.1
//设置帮助地址
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 192.168.12.2 255.255.255.0
duplex auto
speed auto
!
router rip
version 2
network 172.16.0.0
network 192.168.12.0
no auto-summary
此时再PC上使用DHCP获取IP
DHCP命令汇总
命
令
|
作
用
|
R#show ip dhcp pool
|
查看 DHCP 地址池的信息
|
R#show ip dhcp binding
|
查看 DHCP 的地址绑定情况
|
R#show ip dhcp database
|
查看 DHCP 数据库
|
R#show ip interface
|
查看接口信息
|
R#debug ip dhcp server events
|
动态查看 DHCP 服务器的事件
|
R(config)#service dhcp
|
开启DHCP 服务
|
R(config)#no ip dhcp conflict logging
|
关闭 DHCP 冲突日志
|
R(config)#ip dhcp pool
|
配置 DHCP 分配的地址池
|
R(dhcp-config)#network
|
DHCP 服务器要分配的网络和掩码
|
R(dhcp-config)#default-router
|
默认网关
|
R(dhcp-config)#domain-name
|
域名
|
R(dhcp-config)#netbios-name-server
|
域名服务器
|
R(dhcp-config)#dns-server
|
DNS服务器
|
R(dhcp-config)#option 150 ip
|
FTP服务器
|
R(dhcp-config)#lease
|
配置租期
|
R(config)#ip dhcp excluded-address
|
排除地址段
|
R(config-if)#ip helper-address
|
配置 DHCP 中继的地址
|