实现DHCP服务
主机获取网络配置可以通过两种方式:
- 静态指定
- 动态获取:
- bootp:boot protocol MAC与IP一一静态对应
- dhcp:增强的bootp,动态
DHCP工作原理
DHCP: Dynamic Host Configuration Protocol,动态主机配置协议,UDP协议,C/S模式,dhcp server:67/udp,dhcpv4c client :68/udp,dhcpv6 client:546/udp
主要用途:
用于内部网络和网络服务供应商自动分配IP地址给用户
用于内部网络管理员作为对所有电脑作集中管理的手段
自动化安装系统
解决IPV4资源不足问题
DHCP共有八种报文
- DHCP DISCOVER:客户端到服务器
- DHCP OFFER :服务器到客户端
- DHCP REQUEST:客户端到服务器
- DHCP ACK :服务器到客户端
- DHCP NAK:服务器到客户端,通知用户无法分配合适的IP地址
- DHCP DECLINE :客户端到服务器,指示地址已被使用
- DHCP RELEASE:客户端到服务器,放弃网络地址和取消剩余的租约时间
- DHCP INFORM:客户端到服务器, 客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,极少用到
DHCP服务续租
- 50% :租赁时间达到50%时来续租,刚向DHCP服务器发向新的DHCPREQUEST请求。如果dhcp服务没有拒绝的理由,则回应DHCPACK信息。当DHCP客户端收到该应答信息后,就重新开始新的租用周期
- 87.5%:如果之前DHCP Server没有回应续租请求,等到租约期的7/8时,主机会再发送一次广播请求
同网段多DHCP服务
- DHCP服务必须基于本地
- 先到先得的原则
跨网段
- RFC 1542 Compliant Routers
- dhcp relay agent: 中继代理
相关协议
- arp
- rarp
租期:
长租期:IP相对稳定,网络资源消耗较少,但是浪费IP资源
短租期:IP相对不稳定,网络资源消耗较多,但是IP资源可以充分利用,可以实现较少IP为较多的主机服务
DHCP实现
DHCP服务的实现软件:
- dhcp(CentOS 7 之前版本) 或 dhcp-server(CentOS 8 中的包名)
- dnsmasq:小型服务软件,可以提供dhcp和dns功能
DHCP相关文件组成
dhcp-server 包文件组成
/usr/sbin/dhcpd dhcp服务主程序
/etc/dhcp/dhcpd.conf dhcp服务配置文件
/usr/share/doc/dhcp-server/dhcpd.conf.example #dhcp服务配置范例文件
/usr/lib/systemd/system/dhcpd.service #dhcp服务service文件
/var/lib/dhcpd/dhcpd.leases 地址分配记录
dhcp-client客户端包
/usr/sbin/dhclient #客户端程序
/var/lib/dhclient #自动获取的IP信息
windows 工具
ipconfig /release #释放DHCP获取的IP,重新申请IP
ipconfig/renew #刷新租约,续约
DHCP服务器配置文件
帮助参考:man 5 dhcpd.conf
/etc/dhcp/dhcpd.conf 格式
全局配置
subnet {
…
}
host {
}
检查语法命令:service dhcpd configtest (CentOS 6 之前版本支持)
范例:dhcpd.conf
[root@centos8 ~]#grep -v "#" /etc/dhcp/dhcpd.conf
option domain-name "magedu.org";
option domain-name-servers 180.76.76.76, 223.6.6.6;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
range 10.0.0.110 10.0.0.200;
option routers 10.0.0.2;
}
host testclient {
hardware ethernet 00:0c:29:33:b4:1a;
fixed-address 10.0.0.106;
default-lease-time 86400;
max-lease-time 864000;
option routers 10.0.0.254;
option domain-name-servers 114.114.114.114,8.8.8.8 ;
option domain-name "magedu.net";
}
DHCP配置文件其它配置选项:
- next-server:提供引导文件的服务器IP地址
- filename: 指明引导文件名称
范例:
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.10 192.168.100.100;
range 192.168.100.150 192.168.100.200;
option routers 192.168.100.1;
next-server 192.168.1.100; #TFTP服务器地址
filename "pxelinux.0"; #bootloader启动文件的名称
}
本文链接:http://www.yunweipai.com/36134.html
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/52590.html