网站百度知道,做网站点击挣钱不,快照首页排名优化服务,诸城网站制作简介
动态主机配置协议 DHCP#xff08;Dynamic Host Configuration Protocol#xff0c;动态主机配置协议#xff09; 是 RFC 1541#xff08;已被 RFC 2131 取代#xff09;定义的标准协议#xff0c;该协议允许服务器向客户端动态分配 IP 地址和配置信息。
使用UDP协…简介
动态主机配置协议 DHCPDynamic Host Configuration Protocol动态主机配置协议 是 RFC 1541已被 RFC 2131 取代定义的标准协议该协议允许服务器向客户端动态分配 IP 地址和配置信息。
使用UDP协议C/S模式。
dhcp服务器使用 67/UDPdhcp客户端使用 68/UDP。
分配IP方式
将一个IP地址固定分配给一个客户端随机地将地址永久性分配给客户端随机地将地址分配给客户端使用一段时间常用
地址的有效使用时间段称为租用期租用期满之前客户端必须向服务器请求继续租用。服务器接受请求后才能继续使用否则无条件放弃
二八原则
避免单台DHCP服务器宕机客户端将无法获取IP地址通常有多台DHCP服务器然而DHCP服务器之间没有监督机制,无法保证分配地址没有冲突可使用两台DHCP服务器。
若主机A侧有200台主机主机B侧有200台主机DHCP服务器各自按二八原则划分管控的动态IP范围DHCP A10.0.0.1~10.0.0.160和192.168.0.161~192.168.0.200DHCP B10.0.0.161~10.0.0.200和192.168.0.1~192.168.0.160主机A获取10网段IP若DHCP A宕机可通过DHCP中继获取DHCP B中的10网段IP主机B同理 DHCP中继
默认情况下路由器隔离广播包不会将收到的广播包从一个子网发送到另一个子网。当DHCP服务器和客户端不在同一个子网时充当客户端默认网关的路由器将广播包发送到DHCP服务器所在的子网这一功能就称为DHCP中继DHCP Relay
DHCP工作过程
DHCP在工作过程中涉及到的报文种类及其作用如下
1、DHCP DISCOVER客户端开始DHCP过程的第一个报文是请求IP地址和其它配置参数的广播报文。
2、DHCP OFFER服务器对DHCP DISCOVER报文的响应是包含有效IP地址及配置的单播或广播报文。
3、DHCP REQUEST客户端对DHCP OFFER报文的响应表示接受相关配置。客户端续延IP地址租期时也会发出该报文。
4、DHCP DECLINE当客户端发现服务器分配的IP地址无法使用如IP地址冲突时将发出此报文通知服务器禁止使用该IP地址。
5、DHCP ACK 服务器对客户端的DHCP REQUEST报文的确认响应报文。客户端收到此报文后才真正获得了IP地址和相关的配置信息。
6、DHCP NAK服务器对客户端的DHCP REQUEST报文的拒绝响应报文。客户端收到此报文后会重新开始新的DHCP过程。
7、DHCP RELEASE客户端主动释放服务器分配的IP地址。当服务器收到此报文后则回收该IP地址并可以将其分配给其它的客户端。
8、DHCP INFORM客户端获得IP地址后发送此报文请求获取服务器的其它一些网络配置信息如DNS等。
续租
在使用租期过去50%时刻处 客户端向服务器发送单播DHCP REQUEST报文续延租期。如果收到服务器的DHCP ACK报文则租期相应向前延长续租成功。如果没有收到DHCP ACK报文则客户端继续使用这个IP地址。在使用租期过去87.5%时刻处向服务器发送广播DHCP REQUEST报文续延租期。如果收到服务器的DHCP ACK报文则租期相应向前延长续租成功。如果没有收到DHCP ACK报文则客户端继续使用这个IP地址。在使用租期到期时客户端自动放弃使用这个IP地址并开始新的DHCP过程。
实现
软件包
服务端
dhcp-servercentos8中、dhcpcentos7及之前
/usr/sbin/dhcpddhcp服务主程序/etc/dhcp/dhcpd.confdhcp服务配置文件/usr/share/doc/dhcp-server/dhcpd.conf.exampledhcp配置文件模板/usr/lib/systemd/system/dhcpd.servicedhcp服务service文件/var/lib/dhcpd/dhcpd.leases地址分配记录
客户端
dhcp-client
/usr/sbin/dhclient客户端程序/var/lib/dhclient自动获取的IP信息
配置文件
查看dhcp配置文件模版
[rootwenzi ~]# vim /usr/share/doc/dhcp-server/dhcpd.conf.example
#指定客户端默认的域局部或全局
option domain-name example.org;
#指定客户端默认的DNS局部或全局
option domain-name-servers ns1.example.org, ns2.example.org;#最小租期时间单位 秒
default-lease-time 600;
#最长租期时间 单位 秒
max-lease-time 7200;#通过配置syslog.conf定义日志文件存放何处
log-facility local7;#在这个子网上不提供服务但是声明它可以帮助DHCP服务器理解网络拓扑
subnet 10.152.187.0 netmask 255.255.255.0 {
}#这是一个非常基本的子网声明
subnet 10.254.239.0 netmask 255.255.255.224 {#客户端获取动态IP的范围可有多个range但IP范围不能重叠range 10.254.239.10 10.254.239.20;#为客户端指定默认网关option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
}#这个声明允许BOOTPDHCP协议前身客户端获取动态地址我们不建议这样做。
subnet 10.254.239.32 netmask 255.255.255.224 {range dynamic-bootp 10.254.239.40 10.254.239.60;option broadcast-address 10.254.239.31;option routers rtr-239-32-1.example.org;
}#针对单独子网配置
subnet 10.5.5.0 netmask 255.255.255.224 {range 10.5.5.26 10.5.5.30;option domain-name-servers ns1.internal.example.org;option domain-name internal.example.org;option routers 10.5.5.1;#广播地址option broadcast-address 10.5.5.31;default-lease-time 600;max-lease-time 7200;
}#通过host 任意名 {} 配置
host passacaglia {#单个客户端主机MAC地址hardware ethernet 0:0:c0:5d:bd:95;#获取bootloader启动文件的名称filename vmunix.passacaglia;#去 toccata.example.com 主机获取 vmunix.passacaglia 文件server-name toccata.example.com;
}#通过host 任意名 {} 配置单个客户端主机使得IP和MAC地址绑定固定IP
host fantasia {hardware ethernet 08:00:07:26:c0:a5;#固定客户端主机的IP地址fixed-address fantasia.example.com;
}#您可以声明一类客户端然后基于此进行地址分配
#下面的示例显示了某个类中的所有客户端获取10.17.224/24子网上的地址所有其它客户端获取10.0.29/24 #子网上的地址的情况。
class foo {match if substring (option vendor-class-identifier, 0, 4) SUNW;
}
#告知是否为一些子网络分享相同网络
shared-network 224-29 {subnet 10.17.224.0 netmask 255.255.255.0 {option routers rtr-224.example.org;}subnet 10.0.29.0 netmask 255.255.255.0 {option routers rtr-29.example.org;}pool {allow members of foo;range 10.17.224.10 10.17.224.250;}pool {deny members of foo;range 10.0.29.10 10.0.29.230;}
}具体使用见http://t.csdn.cn/b36rQ