dhcp交互式搭建脚本
搭建时采用的是centos7,使用其它系统可能会产生错误。
#!/bin/bash
#创建自动搭建DHCP服务的交互式脚本
nul=/dev/null
echo "开始安装dhcp..."
sleep 1
yum -y install dhcp.x86_64 >>$nul
if [ $? -eq 0 ]
then
echo "dhcp.x86_64安装成功"
else
echo "安装失败,请检测yum源"
exit 1
fi
rm -rf /etc/dhcp/dhcpd.conf
if [ $? -eq 1 ]
then
echo "dhcpd.conf删除失败,请查看/etc/dhcp/路径"
exit 1
fi
echo "正在查询本地IP地址、网关、子网掩码..."
sleep 2
IP= `ifconfig |head -2 |tail -1 |awk '{print $2}'`
echo "您的IP地址是:" $IP
getway=`route -n |head -3|tail -1 |awk '{print $2}'`
echo "您的网关是:" $getway
netmask=`ifconfig |head -2 |tail -1 |awk '{print $4}'`
echo "您的子网掩码是:" $netmask
echo "开始进行DHCP信息配置..."
sleep 2
read -p "请输入网络地址:" subnet
echo "您输入的网路地址是:"$subnet
read -p "请输入起始地址池IP:" addr_pool
echo "您输入的起始地址池是IP:"$addr_pool
read -p "请输入结束地址池的IP:" addr_poolend
echo "您输入的结束地址池数IP:" $addr_poolend
read -p "请输入首选DNS:" dns
echo "您输入的首选DNS是:"$dns
read -p "请输入广播地址:" broadcast
echo "您输入的广播地址是:"$broadcast
echo "
subnet $subnet netmask $netmask {
range $addr_pool $addr_poolend;
option domain-name-servers $dns;
option routers $getway;
option broadcast-address $broadcast;
default-lease-time 600;
max-lease-time 7200;
}" > /etc/dhcp/dhcpd.conf
if [ $? -eq 0 ]
then
echo "配置成功"
else
echo "配置失败"
exit 1
fi
new=`cat /etc/dhcp/dhcpd.conf |wc -c` >>$nul
if [ $new -eq 0 ]
then
echo "/etc/dhcp/dhcpd.conf文件没有内容,请查找原因。"
exit 1
fi
echo "正在启动DHCP服务..."
sleep 2
systemctl start dhcpd.service >>$nul
if [ $? -eq 0 ]
then
echo "服务启动成功"
else
echo "服务启动失败,请查看报错信息"
fi
此脚本仅供参考,其中可能存在不同错误,有待完善。