DHCP服务器的做用:node
DHCP服务器毋庸置疑,没有运行DHCP 服务器,IP客户会丧失部分或所有的访问网络的能力。能够说,DHCP服务器是企业网络治理员的得力助手之一。有了DHCP服务器后,使得咱们的网络治理工做变得游刃有余。不过,虽然DHCP服务器不是什么新技术,可是想要很好的配置、维护好DHCP服务器并不容易。尤为是在一些较复杂的大、中型网络中,DHCP服务器网络的部署一样会涉及许多比较复杂的技术。DHCP服务器所遇到的故障不少,形形×××的故障现象和问题根源在困扰着IT管理者。相信不管对于新接触网络的菜鸟成名仍是成名已久技术高手,DHCP服务器或多或少都给他们带来了一些麻烦。centos
与dhcp协议功能相似的协议:服务器
1>. arp协议的做用:ip地址 --> MAC地址网络
2>. rarp协议的做用: MAC地址 --> ip地址, dhcp其实就是将MAC地址转化为ip地址. ide
3>. bootp这个协议的做用是响应客户单ip地址的。 可是这个协议是没有租约的, 一旦某个地址被分配于客户端端,该地址将永久被该客户端使用, 即便该客户端没有启动, 该地址也不会响应于别的客户端。 boot protocol这种协议适合于无盘工做站的搭建。测试
dhcp服务端能够响应于客户单哪些信息:centos7
1>IP/NETMASK spa
2>GATEWAY 3d
3>DNS SERVER orm
4>.NTP SERVER
5>.WINS SERVER
客户端一次完整的dhcp请求的过程:
1>. Client: dhcp discover (客户端广播发现dhcp服务器)
2>. Server: dhcp offer (dhcp服务器响应)
3>. Client: dhcp request (客户端发出请求)
4>. Server: dhcp ack (服务端发送响应报文与客户端)
注意:
1>. 整个dhcp请求过程, 不管是客户端、仍是服务端, 发送的报文都是广播。
2>. 客户端经过dhcp获取ip地址的方式: 客户端会广播请求ip地址, 若是局域网中有dhcp服务器的话, 便会响应ip地址于客户端。
3>. 当局域网中有多个dhcp服务器的话, 客户端只会接受其中一个dhcp服务器, 拒绝别的。
dhcp协议的专有词汇:
lease time: 租约期限。 客户端获取ip地址的有效时间。
dhcp relay: dhcp中继 , dhcp中继适用于扩网段获取ip地址。
客户端请求过程当中, 是如何延长租约的:
客户端租约时间过去一半的话,向服务端请求延长租约, 服务端响应客户单端, 租约时间变为原租约时间。 当服务端没有响应客户端的话,当客户端租约剩余时间过去一半的话, 再次将服务端发出请求, 请求延长租约时间, 依次这样下去, 当租约时间过去93.75%的话,客户端便会向广播,发现新的dhcp server(dhcp discover).
dhcp服务端与客户端启动的端口:
服务端启动的端口号: 68(udp)
客户端启动的端口号: 67(udp)
dhcp服务在Linux主机实现
dhcp功能的实现有两种方式:
1>. dhcp
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information (IP address, subnetmask, broadcast address,etc.) from a DHCP server.
2>. dnsmasq
Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. It is designed to provide DNS and, optionally, DHCP, to a small network.It can serve the names of local machines which are not in the globa DNS.
dnsmasq工做的特色即是轻量级。
centos7.2主机上简单实现dhcp服务:
实验拓扑:
具体步骤以下:
node1上搭建dhcp服务器:
1>. [root@node2 ~]# yum install -y dhcp
2>. 配置文件及unit文件
dhcp配置文件:
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
dhcp unit file 文件:
/usr/lib/systemd/system/dhcpd.service
/usr/lib/systemd/system/dhcpd6.service
3>. 修改/etc/dhcp/dhcpd.conf配置文件:
a>. 指定域搜索功能. 指定DNS地址.
b>. 指定最短默认租约期限及最大租约期限。
c>. 指定ip池。
4>. 启动dhcp服务.
5>. 添加默认网关:
6>. 重启dhcpd服务。
node2节点测试:
1>. 手动测试
2>. 查看生成的ip地址及网关信息。
ip地址
node1节点
dhcp服务端根据客户端主机网卡mac地址分配指定的ip地址:
修改配置文件: 使用host选项
重启dhcpd服务。
node2节点测试:
修改配置文件过程当中遇到问题总结:
修改的配置文件中,subnet中必须有一个是本身ip地址所在的网段。