文章目录
DHCP动态管理主机地址
动态主机配置协议(DHCP,Dynamic Host Configuration Protocol),该协议用于自动管理局域网内的主机的IP地址、子网掩码,网关地址及DNS地址等参数,可以有效的提升IP地址的利用率,提高配置效率,并降低管理与维护成本。
动态主机配置协议(DHCP)是一种基于UDP协议且仅限于在局域网内部使用的网络协议,主要用于大型的局域网环境或者存在较多移动办公设备的局域网环境中,其主要用途是为局域网内部的设备或网络供应商自动分配IP地址等参数
DHCP工作概述
把一个主机接入TCP/IP的网络,需要配置的网络参数:
IP/mask IP地址和子网掩码
Gateway 网管
DNS server DNS服务器
静态指定
动态分配
DHCP:动态主机配置协议:
Arp:动态地址解析协议(address resolving protocol)
IP–>MAC 将知道的IP地址解析为MAC地址
Rarp:反向地址解析协议(reverse arp)
MAC–>IP 将知道的MAC地址解析为IP地址
工作流程:
(1) Client:dhcp discover 客户端发送请求报文,发现网络中有没有DHCP服务器,有的话请给我提供一个地址。
(2) Server: dhcp offer 如果DHCP服务器收到了客户端的请求,就发一个offer给客户端。Offer里面包括(IP/MASK,gw…)
(3) Client : dhcp request 客户端告诉DHCP服务器,我就要是使用你提供的IP地址。(有多台DHCP服务器同时提供服务的话)
(4) Server: dhcp ack DHCP服务器确认信息,这个IP地址就给你了
注意:它们之间总共来回交互了两次,都是基于广播的方式实现的。
监听的端口:
Server:67/UDP
Client:68/UDp
续租:
50% 75% 100%
单播给服务器
当你使用的IP地址使用期限快要到期的时候,就可以直接发送dhcp request向服务器进行再次续租这个IP地址。不需要前面的两部了,如果还想不明白的话,用腿想。
Dhcp request :告诉服务器端我还要request,
Dhcp ack:服务器端确认可以。
(不租的原因可能是DHCP服务器列表改地址池了)
Dhcp request:告诉服务器端我还要request。,
Dhcp nak:服务器端告诉你我不租了。
Dhcp discover:客户端就要继续广播找别的DHCP服务器了
也可以使用中继在本地搭建DHCP服务向不同网络提供服务(但这个不好用,所以没有必要,只是说一下。)
Centos软件:
Dhcp ,named (ISC)一个单独的服务进程。
Dnsmasq:dhcp & dns 合并起来了.
DHCP常见术语
作用域:一个完整的IP地址段,DHCP协议根据作用域来管理网络的分布、分配IP地址及其他配置参数。
超级作用域:用于管理处于同一个物理网络中的多个逻辑子网段。超级作用域中包含了可以统一管理的作用域列表。
排除范围:把作用域中的某些IP地址排除,确保这些IP地址不会分配给DHCP客户端。
地址池:在定义了DHCP的作用域并应用了排除范围后,剩余的用来动态分配给DHCP客户端的IP地址范围。
租约:DHCP客户端能够使用动态分配的IP地址的时间。
预约:保证网络中的特定设备总是获取到相同的IP地址。
常见的参数和作用
ddns-update-style none; | 设置DNS服务不自动进行动态更新 |
---|---|
ignore client-updates; | 忽略客户端更新DNS记录 |
subnet 192.168.66.0 netmask 255.255.255.0 { | 作用域为192.168.66.0/24网段 |
range 192.168.66.10 192.168.66.100; | IP池为192.168.66.10-100(一共有90个可分配的IP地址) |
option subnet-mask 255.255.255.0; | 定义客户端默认的子网掩码 |
option routers 192.168.66.1; | 定义客户端默认的网关地址(没有定义网关会使用客户端自己的网关) |
option domain-name “ityunn.com”; | 定义默认的搜索域 |
option domain-name-servers 192.168.66.1; | 定义客户端的DNS地址 |
option broadcast-address 192.168.66.255; | 定义广播地址 |
default-lease-time 43200; | 定义默认租约时间(单位:秒) |
max-lease-time 86400 | 定义最大租约时间(单位:秒) |
} | 结束符 |
部署DHCPD服务
dhcp服务名称:dhcpd
主配置文件:/etc/dhcp/dhcpd.conf
配置文件模板:/usr/share/dol/dhcp-4.2.5/dhcpd.conf.example
1.搭建本地yum源。
2.使用yum方式安装dhcpd服务程序
yum -y install dhcp* //使用yum方式安装dhcp软件
3.查看dhcp主配置文件内容
cat /etc/dhcp/dhcpd.conf //查看dhcp主配置文件内容
4.过虑配置文件模板到主配置文件
cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example | grep -v ‘^#’ | grep -v ‘^$’ > /etc/dhcp/dhcpd.conf (也可以不过虑,直接使用配置文件,)
5.编辑主配置文件
option domain-name "ityunn.com"; //定义DNS域名
option domain-name-servers 8.8.8.8; //定义DNS服务器地址
default-lease-time 600; //默认超时时间
max-lease-time 7200; //最大超时时间
log-facility local7; //我也不知道这个!!!!!!!
subnet 192.168.66.0 netmask 255.255.255.0 { //定义网段和子网掩码
range 192.168.66.10 192.168.66.100; //定义地址池的范围
option domain-name-servers 8.8.8.8; //定义DNS服务器地址
option domain-name "ityunn.com"; //定义DNS域名
option routers 192.168.66.1; //定义网关地址
option broadcast-address 192.168.66.255; //定义广播地址
default-lease-time 600; //默认超时时间
max-lease-time 7200; //最大超时时间
}
客户端IP地址保留
host | 主机名称 { |
---|---|
Hardware ethernet | 指定客户端的mac地址 |
Fixed-adderss | 要给客户端分配的IP地址 |
} | 结束符 |
- 获取客户端mac地址,先让客户端自动获取一次,然后去日志文件获取mac地址,并追加到dhcpd主配置文件里面
cat /var/lib/dhcpd/dhcpd.leases //保存客户端获取过IP地址之后的详细参数文件
2.更改主配置文件,设置保留mac地址和IP地址
host boss {
hardware ethernet 00:50:56:3F:EC:80;
fixed-address 192.168.66.66;
}
3.重启dhcpd的服务进程
systemctl restart dhcpd.service
4.客户端重新获取IP地址
linux里面客户端重新获取方法:
1.dhclient -d 网卡名称 //获取IP地址(查看DHCP获取的两次交互式流程)
2.dhclient -r //释放IP地址
window里面客户端重新获取方法
ipconfig /release //释放IP地址
ipconfig /renew //获取IP地址