DHCP(Dynamic Host Configuration Protocol),动态主机配置协议
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括
网卡的IP地址,子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
引导文件,TFTP服务器地址
一般情况下,客户机需要和DHCP服务器在同一个网段,如果不在一个网段,则需要DHCP中继技术。
DHCP过程
1.客户端寻找服务器(discover)。如果广播找不到服务器,会反复的寻找。但是win7以上的系统,只询问五次,问不到就给自己分配一个169.254开头的假的IP地址。
2.服务器提供地址信息(offer)。如果一个局域网内有多个DHCP服务器,客户端一般会选择第一个回复的服务器来获取,这第一次确认只给IP地址。
3.客户端接受并广播(request),告诉局域网内所有的服务器,已经选定了一台。
4.服务器确认(ACK),服务器把所有的网络相关信息都发给客户端了, 结束。
5.客户端关机后重新登录,还要再找这台之前的服务器。如果在关机的时间段之内,之前的IP没有被占用,就还可以得到,服务器会给客户端发送网络信息。同一个IP地址有个“租约”的概念,在到达租约期限一半的时候,客户端会请求续租,如果服务器是正产的就正常续租,如果服务器down了,等用到租期的75%再问,如果还问不到,那么租期到了之后就从第一步开始。
如果客户端关机再开机之后,之前的IP已经被占用了,客户端又要从第一步开始。
DHCP服务器的相关文件
首先安装DHCP服务
端口号
ipv4对应udp的67和udp的68
ipv6对应udp的546和udp547
服务名称dhcpd,linux中各种服务后面的d代表的是daemon,守护进程
主配置文件 /etc/dhcp/dhcp.conf, 这个默认是空的
配置的模板文件 /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
DHCP的配置文件
option domain-name “example.org” 设置所在DNS域
option domain-name-serviers 8.8.8.8 202.106.0.20 设置DNS服务器地址
default-lease-time 600; 默认租约时间10分钟
max-lease-time 7200; 最大租约两小时
log-facility 指定日志设备
ddns-update-style none; 设定DNS的更新方式
authoritative; 标识权威服务器,优先从这台服务器获取地址
log-facility local7 日志发送到local7日志服务
配置DHCP服务器
服务器端
vi /etc/dhcp/dhcpd.conf
subnet 192.168.44.0 netmask 255.255.255.0{
range 192.168.44.50 192.168.44.200; //地址池
option routers 192.168.44.1;
option broadcase-address 192.168.44.255;
default-lease-time 600;
max-lease-time 7200;
}
service dhcpd restart
服务器端查看租约文件
vi /var/lib/dhcpd/dhcpd.leases
客户端配置
设置bootproto=dhcp和onboot=yes即可
客户端查看租约信息
vi /var/lib/dhclient/dhclient-eth0.leases