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

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


http://www.kler.cn/a/594155.html

相关文章:

  • mysql5.6忘记密码怎么重置mysql密码
  • rust学习笔记16-206.反转链表(递归)
  • 第7章 类与面向对象
  • Kotlin v2.1.20 发布,标准库又有哪些变化?
  • 使用Java爬虫根据关键词获取Shopee商品列表?
  • 渲染模式、基础组件、矢量图、样式设置——微信小程序学习笔记
  • 14-图论-多源最短路径Floyd算法
  • 蓝桥杯备考----》贪心之删数问题
  • 当了5年牛马,我开始划水了。。。
  • Spring MVC 参数校验-校验注解
  • 如何用AI轻松制作PPT,提升工作效率和演讲质量
  • Ruby on Rails 中的 Delegated Types(委托类型)
  • v-form标签里的:rules有什么作用。如何定义。
  • Linux应用:Linux的信号
  • 【AVRCP】蓝牙AVRCP协议中的L2CAP互操作性要求深度解析
  • 多模态文档处理新标杆:开源SmolDocling以256M参数精准识别文本、公式、图表
  • 【蓝桥杯速成】| 3.数据结构
  • 嵌入式硬件篇---龙芯PWM生成
  • C/S模型-TCP
  • dfs(二十四)47. 全排列 II