文章目录
Linux网络知识–DHCP服务
一、了解DHCP服务
1.1DHCP简介
●DHCP全称Dynamic Host Configuration Protocol,动态主机配置协议
●由Internet工作任务小组设计开发
●专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
1.2使用DHCP的好处
●减少管理员的工作量
●避免输入错误的可能
●避免IP地址冲突
●解决IP地址匮乏问题(NAT地址转换也是)
●当更改IP地址段时,不需要重新配置每个用户的IP地址
1.3DHCP的分配方式
●自动分配:从DHCP服务器分配到一个IP地址后永久使用
●手动分配:由DHCP服务器管理员专门指定的IP地址
●动态分配:使用完后释放IP,供其他客户机使用
注意:
自动分配和手动分配都是常用一个IP地址,但是自动分配的IP地址不是固定的,手动分配是常用一个固定IP地址。
二、DHCP的租约过程
2.1DHCP四个报文交互过程
1:discover 请求IP地址,客户端寻找服务器,借助广播
2:offer 服务器回应客户端可用IP信息(可用IP,子网掩码,网关,dns,租约期限),借助广播
3:request 客户端向服务器请求确认可用IP,借助广播
此处有一种特殊情况:如果offer中的IP被占用,服务器会直接回应noack,然后又从发送discover报文重新开始
4:ack 服务器向客户端确认IP可用,借助广播
注意:在客户端发送完discover报文后,如果有两台dhcp服务器,谁先发offer报文响应,客户端就和哪台服务器联系,但是不一定会使用这个IP地址,要request确认可用才行,否则noack后重新开始。
2.2客户机重新登录
DHCP客户机每次重新登录网络时,不需要再发送DHCPdiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息
2.3租约期限
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
三、安装DHCP服务器
3.1DHCP服务器软件
CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm
3.2DHCP软件包的主要文件
主配置文件:/etc/dhcp/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
注意:
Linux系统中的配置文件决定了服务的功能,一般扩展名为.conf和.cfg;
执行程序—外部命令独立文件,作为服务启动脚本
四、主配置文件详解
全局配置参数针对整个服务有效;子网段的配置参数只对某个网段有效,且优先级比全局高
4.1全局设置,作用于整个DHCP服务器
●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地址给客户机
4.2subnet网段声明,作用于整个子网段
●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地址池中的
4.5启动DHCP服务
systemctl start dhcpd
netstat -nuap |grep 67 ##查看DHCP服务是否开启
服务器:UDP 67端口
客户机:UDP 68端口
4.6查看租约文件
文件位置:/var/lib/dhcpd/dhcpd.leases
五、启动DHCP过程
关闭核心防护和清空防火墙阻拦规则
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服务的详细实验过程,敬请关注!!