●DHCP全称Dynamic Host Configuration Protocol,动态主机配置协议 ●由Internet工作任务小组设计开发 ●专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
●减少管理员的工作量 ●避免输入错误的可能 ●避免IP地址冲突 ●解决IP地址匮乏问题(NAT地址转换也是) ●当更改IP地址段时,不需要重新配置每个用户的IP地址
●自动分配:从DHCP服务器分配到一个IP地址后永久使用 ●手动分配:由DHCP服务器管理员专门指定的IP地址 ●动态分配:使用完后释放IP,供其他客户机使用 注意: 自动分配和手动分配都是常用一个IP地址,但是自动分配的IP地址不是固定的,手动分配是常用一个固定IP地址。
1:discover 请求IP地址,客户端寻找服务器,借助广播 2:offer 服务器回应客户端可用IP信息(可用IP,子网掩码,网关,dns,租约期限),借助广播 3:request 客户端向服务器请求确认可用IP,借助广播
此处有一种特殊情况:如果offer中的IP被占用,服务器会直接回应noack,然后又从发送discover报文重新开始 4:ack 服务器向客户端确认IP可用,借助广播
注意:在客户端发送完discover报文后,如果有两台dhcp服务器,谁先发offer报文响应,客户端就和哪台服务器联系,但是不一定会使用这个IP地址,要request确认可用才行,否则noack后重新开始。
DHCP客户机每次重新登录网络时,不需要再发送DHCPdiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息
IP地址的默认租约期限为8天,租约期限过半即第五天就需要更新租约;续约的时候是从request开始,这时候是单播。 注意: 如果dhcp服务器宕机了,会继续租用,直到第8天到期再释放IP地址; 这时客户端会一直广播discover报文寻找dhcp服务器,如果一直得不到响应,会获取到169.254.0.0/24的网络地址(不可用),同时一直广播discover报文直到可用的dhcp服务器响应。 169.254.0.0/24是本地链路的地址,是在本地网络通讯的,不通过路由器转发,因此网关0.0.0.0,掩码255.255.255.0
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
主配置文件:/etc/dhcp/dhcpd.conf 执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay 注意: Linux系统中的配置文件决定了服务的功能,一般扩展名为.conf和.cfg; 执行程序—外部命令独立文件,作为服务启动脚本
全局配置参数针对整个服务有效;子网段的配置参数只对某个网段有效,且优先级比全局高
●ddns-update-style none ##禁用dns更新 ●defaults-lease-time 21600 ##默认租约期限(默认单位是秒) ●max-lease-time 43200 ##最大租约期限 ●option domain-name “domain.org” ##域名 ●option domain-name-servers 8.8.8.8 ##分配一个dns地址给客户机
●range参数:设置用于分配的IP地址池 ●option subnet-mask参数:设置客户机的子网掩码 ●option routers参数:设置客户机的默认网关地址 注意: (1)sub:子 net:网段 (2)IP地址池定义了可分配地址的范围,(黑客可以通过DHCP欺骗,不断向IP地址池请求IP,耗尽IP地址池中的地址) (3)在子网段中定义的配置比全局配置更优先
4.4host主机声明,作用于单个主机 ●hardware ethernet参数:指定对应主机的MAC地址 ●fixed-address参数:指定为该主机保留的IP地址
注意: (1)服务器中显示MAC地址数字中间是“:”,客户机中显示MAC数字中间用“-” (2)fixed-address ##分配给某台主机固定地址,其实是基于MAC地址绑定,一定要声明MAC地址,例如打印机 (3)指定的地址可以是不在IP地址池中的
systemctl start dhcpd netstat -nuap |grep 67 ##查看DHCP服务是否开启 服务器:UDP 67端口 客户机:UDP 68端口
文件位置:/var/lib/dhcpd/dhcpd.leases
关闭核心防护和清空防火墙阻拦规则 setenforce 0;iptables -F(如果一开始忘了,后面才关的,记得重启DHCP服务) 1.dhcp固定IP地址 2.安装dhcp软件包 3.修改配置文件(根据模板复制,位置/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example) 设置subnet{地址池、子网掩码、网关、dns地址} 每个参数后面记得加 分号! 4.启动服务 客户端:ipconfig /release ipconfig /renew
###小编还会给大家带来配置DHCP服务的详细实验过程,敬请关注!!
