DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

网络配置

静态指定

动态获取: bootp:boot protocol MAC与IP一一静态对应

                dhcp:增强的bootp,动态


 DHCP: (Dynamic Host Configuration Protocol)

 动态主机配置协议

 局域网协议,UDP协议

 主要用途: 

 用于内部网络和网络服务供应商自动分配IP地址给用户

 用于内部网络管理员作为对所有电脑作集中管理的手段

 使用场景 

 自动化安装系统

 解决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共有八种报文

1、 DHCP DISCOVER:客户端到服务器

2、DHCP OFFER :服务器到客户端

3、DHCP REQUEST:客户端到服务器

4、 DHCP ACK :服务器到客户端

5、 DHCP NAK:服务器到客户端,通知用户无 法分配合适的IP地址 

6、DHCP DECLINE :客户端到服务器,指 示地址已被使用 

7、DHCP RELEASE:客户端到服务器,放弃 网络地址和取消剩余的租约时间 

8、DHCP INFORM:客户端到服务器, 客户 端如果需要从DHCP服务器端获取更为详细 的配置信息,则发送Inform报文向服务器 进行请求,极少用到

dhcp工作原理


DHCP_第1张图片

DHCP_第2张图片


    dhcp discover:由客户端发送广播,请求ip地址

    dhcp offer:由dhcp服务器发送广播,告知客户端,我能提供IP地址

    dhcp request:由客户端再次发送广播,告知全网络我选择了谁向我提供ip地址

    dhcp ack:由指定的dhcp服务器向客户端提供信息(ip,mask,gateway,release,dns)


免费ARP(自发自收):当机器重新启动后,接入网络后会发送一个arp广播即免费ARP,以告诉玩网络中的其他主机该地址已被使用,间接实现检测地址是否可以使用。

DHCP_第3张图片


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;
}