DHCP(Dynamic Host Configuration Protocol)动态主机配置协议,是一种网络协议, 是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。RedHat8.6 搭建一个DHCP服务器
这台服务器是最小化安装的,没有安装任何dhcp组件
rpm -qa |grep dhcp
yum install dchp-server
y
执行yum install dchp-server后除了dhcp包之外还需要一个bind-export-libs的包,输入 “y”开始安装。
到此dhcp已经安装成功,下面讲述如何配置。
配置文件:/etc/dhcp/dhcpd.conf
cat /etc/dhcp/dhcpd.conf
提示配置参考:/usr/share/doc/dhcp-server/dhcpd.conf.example
/usr/share/doc/dhcp-server/dhcpd.conf.example是一个配置文件的实例,里面包含了如何定义dhcp池,DHCP生存周期等,具体参数意义如下所示:
default-lease-time [21600]
默认租约
max-lease-time [43200]
最大租约
option domain-name-servers [8.8.8.8]
定义DNS服务器地址
option domain-name [“domain.org”]
定义DNS域名
range
定义用于分配的IP地址池
option subnet-mask
定义客户端的子网掩码
option routers
定义客户端的网关地址
broadcase-address[广播地址]
定义客户端的广播地址
fixed-address[IP地址]
将某个固定的IP地址分配给指定主机
Hardware[网卡物理地址]
指定网卡接口的类型与MAC地址
ntp-server[IP地址]
定义客户端的网络时间服务器(NTP)
nis-servers[IP地址]
定义客户端的NIS域服务器的地址
server-name[主机名]
向DHCP客户端通知DHCP服务器的主机名
ddns-update-style [类型]
定义DNS服务动态更新的类型,类型包括none(不支持动态更新)、interim(互动更新模式)与ad-hoc(特殊更新模式)
以上信息并不一定都需要,根据自己的环境配置需要的信息,以下是一个最简单的实例,我直接用手敲的
vim /etc/dhcp/dhcpd.conf
subnet 192.168.40.0 netmask 255.255.255.0 {
range 192.168.40.151 192.168.40.199; #DHCP地址池范围
option subnet-mask 255.255.255.0; #子网掩码
option routers 192.168.40.2; #网关
option domain-name-servers 192.168.40.2; #dns
option broadcast-address 192.168.40.255; #广播地址
default-lease-time 3600; #dhcp缺省租约,单位是秒
max-lease-time 9000; #dhcp最大租约,单位是秒
systemctl start dhcp
systemctl status dhcpd
firewall-cmd --add-service=dhcp --permanent
在这里需要强调的还是要放通防火墙,如果没有最后一条命令,客户端是无法获得IP地址的
下面是客户端获得地址后的截图
如果您需要把mac地址和IP地址绑定可以在配置文件dhcpd.conf中添加一段如下格式:
host pc01 {
hardware ethernet 00:0c:29:31:E2:90;
fixed-address 192.168.40.155;
}
下图就是测试后获得结果: