#!/bin/bash
#脚本作者和日期
#author: PEI
#date: 20250319
#检查root权限
if
[ "$USER" != "root" ]; then
echo "错误:非root用户,权限不足!"
exit 0
fi
#防火墙与高级权限 systemctl stop firewalld && systemctl disable firewalld && echo "防火墙已经关闭" sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 && echo "关闭selinux"
#服务配置
read -ep "请输入定义的网段: " ZHAOXIAO
read -ep "请输入网段的掩码: " BUSHI
read -ep "请输入IP地址池起始地址: " XIAO
read -ep "请输入IP地址池结束地址: " MAO
read -ep "请输入首选DNS地址: " ONE
read -ep "请输入备选DNS地址: " TWO
read -ep "请输入网关IP地址:" THREE
read -ep "请输入广播地址: " FOUR
IP=$(hostname -I | awk '{print $1}')
echo "
subnet $ZHAOXIAO netmask $BUSHI { #定义IP和掩码
range $XIAO $MAO; #指定IP地址的范围
option domain-name-servers $ONE,$TWO; #DNS服务器 (自己的DHCP的网关,或是地区的DNS服务器)
option routers $THREE; #网关IP
option broadcast-address $FOUR; #广播地址
default-lease-time 600;
max-lease-time 7200;
} " >/etc/dhcp/dhcpd.conf
#s
表示替换操作,-i在原文本上修改。^BOOTPROTO=.*$
是一个正则表达式,用于匹配以 BOOTPROTO=
开头,后面跟着任意字符,直到行尾的字符串。然后将匹配到的内容替换为 BOOTPROTO=static
,也就是将网络接口的引导协议设置为静态
sed -i 's/^BOOTPROTO=.*$/BOOTPROTO=static/' /etc/sysconfig/network-scripts/ifcfg-ens33 echo -e "IPADDR=$IP\nNETMASK=$BUSHI\nGATEWAY=$THREE\nDNS1=$ONE\nDNS2=$TWO " >> /etc/sysconfig/network-scripts/ifcfg-ens33
#ens33为需要配置的Linux服务端主机,以实际为准,centos7默认的网卡为ens33,
#用于输出文本,-e
选项表示启用对反斜杠转义字符的解释,例如 \n
会被解释为换行符
#检查网络连接
ping -c 3 www.baidu.com > /dev/null 2>&1
if
[ $? -eq 0 ];
then
echo "外网通讯良好!"
else
echo "网络都没有,装集贸呢。"
exit 1 fi
#切换yum源为阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum clean all yum makecache
#安装DHCP及其依赖
yum install -y dhcp
if
[ $?=0 ]
then
echo "DHCP服务安装成功!" else
echo "DHCP服务安装失败,5秒后退出 "
sleep 5
exit 1 fi
#启动DHCP服务并设置开机自启
#启动服务 systemctl start dhcpd && systemctl enable dhcpd 2>/root/dhcp_err.log
if [ $? -eq 0 ];
then echo
"服务启动成功" else
echo "破防了下播下播,5秒后退出"
sleep 5
exit 1
建议以root创建文件,编辑,运行 可以去找我之前的博客命令文章惠临一下
创建一个新的文件 命令:touch 文件名
编辑文件 命令:vi 文件名 使用CV大神秘诀,复制粘贴,Linux右键选择粘贴
运行文件 命令:sh 文件名
上图是定义DHCP的示例,实际网络配置以自己为准,提醒只有正确输入之前的主机分配的IP网段才能正常运行DHCP服务,服务端在地址池中获取的IP地址还是以前的。