1、首先需要安装DHCP的软件包,使用yum进行安装
# yum install -y dhcp.x86_64 dhcp-devel.x86_64
2、将/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample配置文件去掉注释和空行并重定向到/etc/dhcp/dhcpd.conf文件中
# egrep -v "#|^$" /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample > /etc/dhcp/dhcpd.conf
3、去掉/etc/dhcp/dhcpd.conf配置中的多余配置,留下以下配置:
1 subnet 192.168.4.0 netmask 255.255.255.0 { 2 3 range 192.168.4.10 192.168.4.200; 4 5 option domain-name-servers 8.8.8.8; 6 7 option domain-name "internal.example.org"; 8 9 option routers 192.168.4.1; 10 11 option broadcast-address 192.168.4.255; 12 13 default-lease-time 600; 14 15 max-lease-time 7200; 16 17 } 18 19 host fantasia { 20 21 hardware ethernet 08:00:07:26:c0:a5; 22 23 fixed-address 192.168.1.103; 24 25 }
============================================更改后==============================================
192.168.186.130是DHCP服务器的ip地址
subnet 192.168.186.0 netmask 255.255.255.0 { //指定子网络及子网掩码,这里是申明在1网段以及子网掩码
range 192.168.186.100 192.168.186.200; //设置分配的ip地址池范围100-200
option domain-name-servers ns1.internal.example.org; //指定指定dns服务器,多台用逗号隔开
option domain-name "internal.example.org"; //域名:参见/etc/resolv.conf
option routers 192.168.186.1; //指定默认网关,这里是网关地址
option broadcast-address 192.168.186.255; //广播地址
default-lease-time 600; //默认租约
max-lease-time 7200; //最大租约时间
}
host fantasia {
hardware ethernet 00:0c:29:b1:78:11; //指定对应主机(192.168.186.131)的MAC地址
fixed-address 192.168.186.103; //指定为该主机保留的IP地址
}
log-facility local4;
> Subnet: 网段声明作用于整个子网段
> range: 设置用于分配的IP地址池 起始IP
> option domain-name-servers: 设置指定域名服务器
> option routers: 设置网关地址
> option broadcast-address: 设置广播地址
> option subnet-mask: 设置客户机的子网掩码
> Host: 保留主机,作用于单个主机 ,(通常防止所在网段的subnet声明内)
> default-lease-time: 设置默认的租约
> max-lease-time: 最大的租约时间
> hardware ethernet参数:指定对应主机的MAC地址
> fixed-address参数: 指定为该主机保留的IP地址
4、启动DHCP服务,并设置为开机自启状态
[root@localhost ~]# service dhcpd start
Starting dhcpd: [ OK ]
[root@localhost ~]# chkconfig dhcpd on
[root@localhost ~]# chkconfig --list dhcpd
dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
5、验证--------》新打开一台虚拟机192.168.186.131,用dhcp获取IP地址如下图和dhcpd.conf中预留的IP一样
6、在客户端使用命令# dhclient -r ens33 释放dhcp分配的IP后,发现自己原来的IP也找不见了。网上查阅后发现该命令并没有真正释放IP,下一次执行dhclient -d ens33的时候,没有discover这个步骤,而是直接request上次IP。在网络拓扑或者配置变化的情况下,获取不到IP,需要删除/var/lib/dhclient/dhclient.lease文件,执行后再次获取IP发现原来的IP已经回来
7、说在最后,关于修改dhcp服务日志的记录位置。因为在配置安装的过程中,难免会碰到问题,这时候就需要查看日志了,可是我在查找的时候发现很难找到日志文件,于是在这里顺便记录修改日志记录位置的方法
7.1 编辑dhcp服务配置文件
# vim /etc/dhcp/dhcpd.conf 在末尾加入 # log-facility local4;
# vim /etc/rsyslog.conf
加入
# Save dhcpd messages also to dhcpd.log
local4.* /var/log/dhcpd.log
# touch /var/log/dhcpd.log
# chmod 600 /var/log/dhcpd.log
# service rsyslog restart
# service dhcpd restart
# tail -f /var/log/dhcpd.log