CentOS配置DHCP服务器
知识储备
bootp (boot protocol)
早前用于无盘工作站,dhcp的前身
IP初次分配完成,以后固定mac和IP绑定关系
dhcp基础
获取IP步骤
step1: Client dhcp discover 发现DHCP服务器 step2: Server dhcp offer 发送给客户端,携带IP/MASK GATEWAY step3: Client 响应最先收到的dhcp offer (因为局域网中可能存在多台DHCP服务器) Client dhcp request 如果地址合法没有冲突则发送广播请求DHCP服务器资源 Client 地址冲突则拒绝 step4: Server dhcp ack 回复客户端
租约:一般获取到的IP地址的使用时间为2个小时,如果不满足2个小时的使用时间,那么过1个小时后就必须要再次续约
step1:
Client dhcp request 单播
step2:
地址池中有该可用地址
Server dhcp ack 单播
否则 Server dhcp nack 单播
跨路由器请求DHCP服务器
中间路由器开启中继功能,能接收dhcp discaover请求,并单播发送给另一个网络的DHCP服务器
step1:
Client dhcp discover
step2:
Router 单播发送给DHCP服务器
step3:
Server 单播回应路由器
step4:
Router 回应Client
DHCP软件包
安装
重量级软件包 yum install dhcp
轻量级软件包 yum install dnsmasq
文件详解
/etc/dhcp/dhcpd.conf IPV4 DHCP Configuration /etc/dhcp/dhcpd6.conf IPV6 DHCP Configuration /usr/sbin/dhcpd DHCP 服务器 守护进程 不能同时提供IPV4和IPV6服务,需要做特别配置 服务配置文件 CentOS7 /usr/lib/systemd/system/dhcpd.service /usr/lib/systemd/system/dhcpd6.service 服务配置文件 CentOS5.6 /etc/rc.d/init.d/dhcpd /etc/rc.d/init.d/dhcpd6 /usr/sbin/dhcrelay DHCP 中继服务器 守护进程 不能喝dhcpd同时启动 服务配置文件 CentOS7 /usr/lib/systemd/system/dhcrelay.service 服务配置文件 CentOS5.6 /etc/rc.d/init.d/dhcprelay
DHCP服务配置
查看主配置文件
[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
#
负责模板文件到/etc/dhcp目录下
1 cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
配置文件详解
全局分配配置 指明除地址外的其它分配属性,它可以定义在全局也能定义在子网、主机中 option domain-name "example.org"; # 默认搜索域,当域名没有给全时,自动补充搜索域 option domain-name-servers ns1.example.org, ns2.example.org; # 指定DNS服务器 # 不想使用DHCP服务器给定的DNS可以在网卡配置中指定PEERDNS=no 租约时长配置 default-lease-time 600; max-lease-time 7200; 子网分配配置 必须先配置本网络的DHCP服务 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 passacaglia { hardware ethernet 0:0:c0:5d:bd:95; filename "vmunix.passacaglia"; server-name "toccata.fugue.com"; } 其它配置选项 group { filename "Xncd19r"; # 通常是一个TFTPserver next-server ncd-booter; } filename 指明引导文件路径 next-server IP_ADDR 指定加载引导文件的服务器IP
启动服务
1 systemctl start dhcp
查看状态和监听端口
systemctl status dhcp ss -unlp netstat -unlp 监听端口 67/udp
DHCP Client 守护进程获取地址
单台主机上只能启动一次 dhcpclient -d netstat -unlp 监听端口 68/udp
查看dhcp分配情况
1 cat /var/lib/dhcpd/dhcpd.leases