DHCP
1.DHCP: 动态分配IP
(Dynamic Host Configuration Protocol)
动态主机配置协议
局域网协议,UDP协议
(1)主要用途:
用于内部网络和网络服务供应商自动分配IP地址给用户
用于内部网络管理员作为对所有电脑作集中管理的手段
使用场景
自动化安装系统
解决IPV4资源不足问题
(2)续租
50% :租赁时间达到50%时来续租,刚向DHCP服务器发向新的DHCPREQUEST请求。
如果dhcp服务没有拒绝的理由,则回应DHCPACK信息。当DHCP客户端收到该应答信息后,
就重新开始新的租用周期
87.5%:如果之前DHCP Server没有回应续租请求,等到租约期的7/8时,
主机会再发送一次广播请求
2.DHCP协议的工作方式

3.DHCP实现
Linux DHCP协议的实现程序:dhcp, dnsmasq(dhcp,dns)
Dhcp Server
/usr/sbin/dhcpd
/etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd
/etc/dhcp/dhcpd6.conf--> /etc/rc.d/init.d/dhcpd6
/usr/sbin/dhcrelay
/etc/rc.d/init.d/dhcrelay
dhcp server:67/udp
dhcp client: 68/udp
dhcpv6 client:546/udp
Dhcp client
dhclient
自动获取的IP信息: /var/lib/dhclient
4.DHCP服务器端配置文件
●/etc/dhcp/dhcpd.conf:
DHCP服务器的主要配置文件,在一些Linux系统中这个文件也许不存在,可以手动创建
可以使用rpm -ql dhcp来查询到dhcpd.conf.sample这个示例文件,然后将该文件复制成/etc/dhcp/dhcpd.conf,然后再手动修改里面的配置
帮助参考:man 5 dhcpd.conf
主配置文件的语法:
●"#" 为注释符号
●除了右括号“)”后面之外,每一行的配置都要以分号“;”结尾
●配置项目的语法形势主要是“<参数代号><配置内容>”
●某些配置项目必须以option来定义,基本形式为“option<参数代码><配置内容>”
(1) 全局设置(Gloal)
default-lease-time 时间:默认的租约时间,时间参数默认为秒
max-lease-time时间:最大租约时间,如果用户要求的租约时间超过这个值,则以此值为准
option domain-name "域名"
option domain-name-servers IP1、 IP2:这个参数可以修改客户端/etc/resolv.conf,即nameserver后面接的是DNS IP
option routers 路由器的地址
(2)IP分配设置(动态或固态)
DHCP主要是针对局域网来分配IP参数,所以在设置IP之前,我们需要指定一个局域网,语法如下:
subnet NETWORK_IP netmask NETMASK_IP {...}
range IP1 IP2
在这个局域网中,基于一个连续的IP地址段用来发放给客户端使用,IP1,IP2是分配给客户端使用的IP范围
host 主机名 {...}
指定固定的IP对应到固定MAC的设置值,主机名也可以自己给与,大括号里面需要制定MAC与固定的IP
hardware ethernet 硬件地址 fixed-address IP地址
● 地址分配记录
/var/lib/dhcpd/dhcpd.leases
dhcpd.conf示例
ddns-updata-style none; <=======不要更新DDNS设置
ignore client-updates;
default-lease-time 600;
max-lease-time 7200;
option routers 172.18.0.1;
option domain-name "centos6";
option domain-name-servers 114.114.114.114,8.8.8.8;
subnet 172.18.0.0 netmask 255.255.255.0 {
range 172.18.0.101 172.18.0.200;
host passacaglia {
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address 172.18.8.8;
}
}
其它配置选项:
filename: 指明引导文件名称
next-server:提供引导文件的服务器IP地址
示例:
filename "pxelinux.0";
next-server 192.168.100.100;
5. 检查语法
service dhcpd configtest