当前位置: 首页 > news >正文

Linux 一步部署DHCP服务

#!/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地址还是以前的。

相关文章:

  • Spring WebFlux之流式输出
  • 专业学习|改进的多种群竞争粒子群优化算法
  • vue3 报错 Could not find a declaration file for module ‘/App.vue‘
  • 【免费】2000-2019年各省地方财政国内增值税数据
  • ubuntu20.04系统没有WiFi图标解决方案_安装Intel网卡驱动
  • 在D365 CRM中 实体的Lookup View ,在lookup field的form上配置lookup view,显示少于25条,比如3条
  • 【Auto-Scroll-List 组件设计与实现分析】
  • GitHub 超火的开源终端工具——Warp
  • Python 小数/浮点数(float)大全
  • 网络协议抓取与分析(SSL Pinning突破)
  • 谷歌or-tools开源库入门
  • 【大模型实战篇】多模态推理模型Skywork-R1V
  • CSS三大特性、显示模式、背景与书写顺序
  • XSS 绕过分析:一次循环与两次循环的区别
  • 【Java集合夜话】第2篇:Collection家族,一场优雅的探索之约
  • 第四节:sqlx库使用指南
  • 876.链表的中间节点
  • Mysql中事务的隔离级别以及实现原理
  • [node] 4 http模块
  • skywalking微服务链路追踪
  • 时隔14个月北京怀柔区重启供地,北京建工以3.59亿元摘得
  • 报告:4月份新增发行的1763亿元专项债中,投向房地产相关领域约717亿元
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 复旦大学文科杰出教授裘锡圭逝世,享年90岁
  • 欧派家居:一季度营收降4.8%,目前海外业务整体体量仍较小
  • 中国驻美国大使馆发言人就中美经贸高层会谈答记者问