自动化dhcp服务shell脚本如下:

#vim auto_dhcp.sh

#!/bin/bash
read -p "please input your ip: " IP     #设置dhcp服务器ip
read -p "please input your gw: " GW     #设置dhcp服务器网关
IPNET=$(echo $IP |awk -F. '{print $1"."$2"."$3}')  #取网段号 
IP_CONF="/etc/sysconfig/network-scripts/ifcfg-eth0"  #ip配置文件
sed -i 's/IPADDR=.*/IPADDR='"$IP"'/' $IP_CONF     
sed -i 's/GATEWAY=.*/GATEWAY='"$GW"'/' $IP_CONF
service network restart &> /dev/null
rpm -q dhcp &> /dev/null
[ $? -eq 0 ] || yum -y install dhcp &> /dev/null    #安装dhcp
dhcp_version=`rpm -qa dhcp | awk -F'-' '{print $2}'`  #获取dhcp版本
cd /usr/share/doc/dhcp-"$dhcp_version"   
 #将模板配置文件进行复制一份
grep -v "#" dhcpd.conf.sample |grep -v "^$"|sed -e 's/192.168.0/'"$IPNET"'/g' > /etc/dhcpd.conf   
sed -i '/nis\-domain/d'  /etc/dhcpd.conf    #不配置域名
sed -i '/domain-name/d'  /etc/dhcpd.conf
sed -i 's/'"$IPNET"'.1\;$/'"$GW"'\;/g' /etc/dhcpd.conf
service dhcpd start

演示:

实验环境:vmware中的两台redhat,一台作dhcp服务器,一台作验证。

dhcp: ip 192.168.1.3 gw 192.168.1.0 

一 vmware 配置  两台redhat 的vmware网络配置如下 

二 执行脚本安装dhcp服务器

查看dhcp服务器ip地址与网关:

二 用另一台redhat进行验证

三 进一步验证,修改dhcp服务器的地址池范围,验证客户端ip地址是否会变。

1 将地址池从192.168.1.128到192.168.1.254 更改为192.168.1.128到192.168.1.140

2 重启dhcp服务

service dhcpd restart 

3 验证客户端

service network  restart 

四 总结

脚本只是能初步的搭建出dhcp服务器,对于其他的一些功能只能手动通过/etc/dhcpd.conf配置文件更改。