DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)一般被应用在大型的局域网络环境中,主要做用是集中的管理、分配IP地址,使网络环境中的主机动态的得到IP地址、Gateway地址、DNS服务器地址等信息,并可以提高地址的使用率。linux
网络配置web
静态指定bash
动态获取: bootp:boot protocol MAC与IP一一静态对应服务器
dhcp:加强的bootp,动态网络
DHCP: (Dynamic Host Configuration Protocol)dom
动态主机配置协议ide
局域网协议,UDP协议spa
主要用途:
orm
用于内部网络和网络服务供应商自动分配IP地址给用户router
用于内部网络管理员做为对全部电脑做集中管理的手段
使用场景
自动化安装系统
解决IPV4资源不足问题
续租
50% :租赁时间达到50%时来续租,刚向DHCP服务器发 向新的DHCPREQUEST请求。若是dhcp服务没有拒绝的理 由,则回应DHCPACK信息。当DHCP客户端收到该应答信 息后,就从新开始新的租用周期
87.5%:若是以前DHCP Server没有回应续租请求,等到 租约期的7/8时,主机会再发送一次广播请求
DHCP服务简介
同网段多DHCP服务DHCP服务必须基于本地
相关协议先到先得的原则
Arp
跨网段rarp
RFC 1542 Compliant Routers
dhcrelay: 中继
DHCP共有八种报文
一、 DHCP DISCOVER:客户端到服务器
二、DHCP OFFER :服务器到客户端
三、DHCP REQUEST:客户端到服务器
四、 DHCP ACK :服务器到客户端
五、 DHCP NAK:服务器到客户端,通知用户无 法分配合适的IP地址
六、DHCP DECLINE :客户端到服务器,指 示地址已被使用
七、DHCP RELEASE:客户端到服务器,放弃 网络地址和取消剩余的租约时间
八、DHCP INFORM:客户端到服务器, 客户 端若是须要从DHCP服务器端获取更为详细 的配置信息,则发送Inform报文向服务器 进行请求,极少用到
dhcp工做原理
dhcp discover:由客户端发送广播,请求ip地址
dhcp offer:由dhcp服务器发送广播,告知客户端,我能提供IP地址
dhcp request:由客户端再次发送广播,告知全网络我选择了谁向我提供ip地址
dhcp ack:由指定的dhcp服务器向客户端提供信息(ip,mask,gateway,release,dns)
免费ARP(自发自收):当机器从新启动后,接入网络后会发送一个arp广播即免费ARP,以告诉玩网络中的其余主机该地址已被使用,间接实现检测地址是否可使用。
DHCP实现
安装dhcp
]# yum install dhcp
dhcp配置文件
~]# cat /etc/dhcp/dhcpd6.conf
配置文件模板文件
~]# cat /usr/share/doc/dhcp*/dhcpd6.conf.example
地址分配记录
~]# cat /var/lib/dhcpd/dhcpd.leases
客户端查看获取地址过程信息
[root@localhost dhclient]# dhclient
DHCP配置文件
其它配置选项:
filename: 指明引导文件名称
next-server:提供引导文件的服务器IP地址
示例:
filename "pxelinux.0"; next-server 192.168.100.100;
检查语法
service dhcpd configtest
dhcpd.conf 文件示例:
[root@localhost ~]#cat /etc/dhcp/dhcpd.conf # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # option domain-name "magedu.com"; option domain-name-servers 192.168.77.77 ; #地址租期时间 default-lease-time 3000; #地址最大租期时间 max-lease-time 7200; log-facility local7; #指明地址段{分配地址范围;指明路由(网关);[ 指明引导文件名称;提供引导文件的服务器IP地址; ]} subnet 192.168.77.0 netmask 255.255.255.0 { range 192.168.77.7 192.168.77.70; option routers 192.168.77.77; next-server 192.168.77.77; filename "pxelinux.0"; } #mask绑定 host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address fantasia.fugue.com; }