DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC 2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCP Server和DHCP Client的服务端口;546号端口用于DHCPv6 Client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做"双机热备"的。 -----------百度百科
安装软件包:dhcp-4.1.1-43.P1.el6.centos.x86_64.rpm
配置文件:/etc/dhcp/dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
端口(udp):67
启动服务:service dhcpd restart
DHCP工作原理
Client Server
---->DHCPDISCOVER(广播)----->
<----DHCPOFFER(单播)--------- 分配ip
-----DHCPREQUEST(广播 )------> 确定租约时间 这里仍然使用广播是因为可能有多个DHCP服务器提供了IP。广播也可以通知其他DHCP服务器要采用哪个IP
<----DHCPACK(单播)-----------
你要在分配的网段拥有一个ip地址
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 { ---------确定分配子网
range 192.168.1.100 192.168.1.200; --------------分配ip地址个数
option domain-name-servers ns1.internal.example.org; ---- 确定dns
option domain-name "internal.example.org";
option routers 192.168.1.254; ---------------------设置网关
option broadcast-address 192.168.1.255; ---------广播地址
default-lease-time 1800; -----------------租约时间
max-lease-time 7200; ---------------------最大租约时间
}
[root@localhost ~]# service dhcpd restart
netstat -anplt | grep dhcp
netstat -anplu | grep dhcp
netstat 查看网络状态
-a 显示所有网络信息
-n 去掉主机名解析
-p 显示pid
-l 显示详细信息
-t tcp
-u udp
日志:/var/log/messages
租约文件:
服务端:/var/lib/dhcpd/dhcpd.leases
客户端:/var/lib/dhclient/dhclient-eth2.lease
当使用时间到达租约时间一半的时候会向DHCP服务器申请续约。DHCP服务器如果不同意续约那么当使用时间到达%75的时候会再次向DHCP申请续约。
指定IP地址分配:
host test {
hardware ethernet 00:0c:29:aa:bb:cc;
fixed-address 192.168.1.250;
}