首页 > 代码库 > DHCP服务
DHCP服务
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)
->是由Internet工作任务小组设计开发的,专用于对TCP/IP网络中的计算机自定分配TCP/IP参数的协议。
使用DHCP的好处:
1.减少管理员的工作量
2.避免IP冲突->当网络更改IP地址段时,不需要再重新配置每个用户的IP地址。
3.提高了IP地址的利用率
4.放便客户端的配置
可分配的地址信息主要包括
1.网卡的IP地址·子网掩码
2.对应得网络地址·广播地址
3.默认网关地址
4.DNS服务器地址
DHCP的分配方式
1.自动分配: 分配到一个IP地址后永久使用
2.手动分配:由DHCP服务器管理员专门指定IP地址
3.动态分配:使用完后释放该IP,供其它客户机使用
DHCP租约过程:
客户机从DHCP服务器获取IP地址的过程称为DHCP的租约过程
1.客户机请求IP(客户机发DHCP Discover 广播包)
2.服务器相应(服务器发DHCP Offer 广播包)
3.客户机选择IP(客户机发DHCP Request 广播包)
4.服务器确定租约(服务器发DHCP ACK 广播包)
客户机请求IP地址:
·当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
·此时DHCP客户机一广播的方式(因为DHCP服务器的IP地址对客户机来说是未知的)发送DHCP Discover发现信息来寻找DHCP服务器。
·广播信息中包含DHCP客户机的MAC地址和计算机名,以便DHCP服务器确定是哪个客户机发送的请求。
服务器相应:
·当DHCP服务器接收到来自客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机,如果有,DHCP服务器就将此IP地址作上标记,加入到DHCP Offer的消息中,然后DHCP服务器就广播一则包含下列信息的DHCP Offer消息:
·DHCP客户机的MAC地址,DHCP服务器提供的合法IP地址,子网掩码,默认网关,租约的期限,DHCP服务器的IP地址。
客户机选择IP地址:
·DHCP客户机从接收的第一个DHCPOffer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP服务器。
·当客户机从第一个DHCP服务器接收DHCP Offer信息并提取了IP地址后,客户机将DHCP Request消息广播到所有的DHCP服务器,表明它接收提供的内容。
·DHCP Request消息包括为客户机提供IP配置的服务器的服务标识符(服务器IP地址),DHCP服务器查看服务器标识符字段,以确定提供的IP地址是否被接受,如果DHCP
Offer被拒绝,则DHCP服务器取消并保留IP地址以提供给下一个IP租约的请求。
服务器确定租约
·DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。
当客户机收到DHCP ACK消息时,它就配置了IP地址,完成TCP/IP的初始化。
重新登陆
·DHCP客户机每次重新登陆网络时,不需要再发送DHCP
Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
·当DHCP服务器接收到这一信息后,它会尝试让DHCP可不急继续使用原来的IP地址,并回答一个DHCP ACK 确认信息。
·如果次IP地址已无法在分配给原来的DHCP客户机使用(如IP地址已经分配给其他的DHCP客户机使用),DHCP服务器给DHCP客户机回答一个DHCP Nack 否认信息。
·当原来的DHCP客户机收到此DHCP Nack否认信息后,它就必须重新发送DHCP
Discover发现信息来请求新的IP地址。
更新租约
·当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。
·客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。
DHCP中继的配置
ip helper-address DHCPsrv-IPAddress(服务器的IP地址)
在三层交换机上配置DHCP中继转发,是在不包含DHCP服务器的VLAN上配置实现的
SW-3l(config)#interface vlan 2
SW-3l(config-if)#ip address 192.168.2.1 .255.255.255.0
SW-3l(config-if)#ip helper-address 192.168.100.100
SW-3l(config-if)#no shutdown
安装DHCP服务器
·DHCP服务器软件
光盘中的dhcp-4.11-38.P1.el6.centos.x86_64.rpm
dhcp软件包的主要文件
主配置文件:/etc/dhcp/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
DHCP/中继配置:/etc/sysconfig/dhcrelay
主配置文件
·全局设置,作用于整个DHCP服务器
ddns-update-style none;
default-lease-time 21600(s);
max-lease-time 43200(s);
option domain-name "domain.org";
option dimain-name-servers 202.106.0.20;
·Subnet网段声明,作用于整个子网段
range 参数:设置用于分配IP地址池
option subnet-mask 参数:设置客户机的子网掩码
option routers 参数:设置客户机的默认网关地址
·host主机声明,作用于单个主机
hardware ethernet 参数:指定对应主机的MAC地址
fixed-address 参数:指定为该主机保留的IP地址
启动DHCP服务
/etc/init.d/dhcpd start
netstat -anpu | grep ":67"
如果dhcpd服务启动失败,可以检查日志文件/var/log/message末尾的错误提示信息,并根据提示进行排错。
ddns-update-style interim;
...
subnet 192.168.0.0 netmask 255.255.255.0{
option routers 192.168.0.1;
...
default-lease-time 21600;
...
host ns{
...
fix-address 207.175.42.254;
}
}
subnet 192.168.4.0 netmask 255.255.255.0{
range 192.168.4.128 192.168.4.254;
option subnet-mask 255.255.255.0;
option routers 192.168.4.1;
}
host prtsvr {
hardware ethernet 00:c0:c3:22:46:81;
fixed-address 192.168.4.100;
}
使用DHCP客户端
两种方式:
·1.修改网卡的配置文件(ifcfg-eth0)
BOOTPROTO=dhcp
ifdown eth0 ; ifup eth0
·2.dhclient命令
dhclient -d eth0
查看租约文件
可以通过查看租约文件dhcpd.leases来了解服务的IP地址分配情况。该租约文件中记录了分配出去的每个IP地址信息(租约记录),包括IP地址,客户端的MAC地址,租用的起始时间和结束时间等。
less /var/lib/dhcpd/dhcpd.leases
需要通过dhclient命令释放获取的IP租约时,可以结合"-r"选项。例如"dhclient -r
eth0"将会释放之前为网卡eth0获取的IP租约.
DHCP服务