欢迎光临
我们一直在努力

一键安装dhcp服务脚本

实验环境:给本机IP设为192.168.100.100,脚本代码如下:

可复制代码如下:

#!/bin/bash
yum install dhcp -y
network="/etc/sysconfig/network-scripts/ifcfg-ens33"
dhcp="/etc/dhcp/dhcpd.conf"
[ ! -e $network.bak ] && cp -p $network $network.bak
sed -i -e "4s/dhcp/static/" -e '$aIPADDR=192.168.100.100\nNETMASK=255.255.255.0\nGATEWAY=192.168.100.1' $network
systemctl restart network
cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example $dhcp
[ ! -e $dhcp.bak ] && cp -p $dhcp $dhcp.bak
sed -i -e "29asubnet 192.168.100.0 netmask 255.255.255.0 {\n range 192.168.100.10 192.168.100.50;\n option routers 192.168.100.1;\n} " $dhcp
systemctl start dhcpd 

详解剖析

首先进行变量赋值,赋值给network和dhcp变量名
1、“[ ! -e $network.bak ] && cp -p $network $network.bak

判定是否已将network文件备份,若无备份则执行备份操作

2、sed -i -e "4s/dhcp/static/" -e ‘$aIPADDR=192.168.100.100\nNETMASK=255.255.255.0\nGATEWAY=192.168.100.1’ $network
systemctl restart network

将network文件中的IP地址类型改为static,且在末行添加IPADDR=192.168.100.100,之后用“\n”另起一行;添加NETMASK=255.255.255.0,再用\n另起一行;添加GATEWAY=192.168.100.1

3、systemctl restart network

重启网络服务

4、cp -p /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example $dhcp

将dhcp样本配置文件复制到dhcp配置文件中,实现全覆盖。

5、[ ! -e $dhcp.bak ] && cp -p $dhcp $dhcp.bak

判定是否已将dhcp配置文件备份,若无备份则执行备份操作

6、sed -i -e "29asubnet 192.168.100.0 netmask 255.255.255.0 {\n range 192.168.100.10 192.168.100.50;

在dhcp配置文件中添加网段、子网掩码、网关以及能给予的ip地址范围(可按需求自行更改)

7、ssystemctl start dhcpd

开启dhcpd服务

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。