用shell写一个简单DHCP配置脚本

轩轩写的这个小脚本,主要是可以进行对dhcp服务的安装、简单配置、开启、关闭/查看状态等情况

使用呢非常简单,按照步骤进行准确的设置就可以啦

#!/bin/bash
yum -y install dhcp
fun() 
{
  input=""
  output=$1
  while [ -z $input ]
        do
        read -p "$output:" input
        done
        echo $input
}
subnet=$( fun "请输入网络地址")
netmask=$( fun "请输入子网掩码")
range1=$( fun "请输入选取IP地址范围起始地址")
range2=$( fun "请输入选区IP地址范围结束地址")
gateway=$( fun "请输入网关")
echo "subnet $subnet netmask $netmask {
  range $range1 $range2;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option routers $gateway;
  default-lease-time 600;
  max-lease-time 7200;
}
" > dhcpd.conf
mv -f dhcpd.conf /etc/dhcp/
echo '#!/bin/bash
read -p"        开启防火墙:    s
        关闭防火墙:    p
        查询防火墙状态:a
        :" i
case $i in
    start|s)
    systemctl start dhcpd.service
    echo "启动DHCP服务"
    ;;
    stop|p)
    systemctl stop dhcpd.service
    echo "关闭DHCP服务"
    ;;
    status|a)
    systemctl status dhcpd.service
    echo "查看DHCP服务状态"
    ;;
    *)
    echo "请输入正确选项..."
    sh dhcp1.sh
    ;;
esac
' > dhcp1.sh

read -p "请选择您要操作的选项:
        开启防火墙:    s
        关闭防火墙:    p
        查询防火墙状态:a
        :" i
case $i in
    start|s)
    systemctl start dhcpd.service
    echo "启动DHCP服务"
    ;;
    stop|p)
    systemctl stop dhcpd.service
    echo "关闭DHCP服务"
    ;;
    status|a)
    systemctl status dhcpd.service
    echo "查看DHCP服务状态"
    ;;
    *)
    echo "请输入正确选项..."
    sh dhcp1.sh
    ;;
esac
 

转载于:https://www.cnblogs.com/liketimes/p/9897956.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PXE(Preboot Execution Environment)是一种网络引导技术,可以通过网络从远程服务器上启动和安装操作系统。编写一个PXE装机的Shell脚本可以帮助简化和自动化这个过程。下面是一个简单的PXE装机Shell脚本的示例: ```shell #!/bin/bash # 设置PXE服务器的IP地址和TFTP根目录 PXE_SERVER_IP="192.168.1.100" TFTP_ROOT="/var/lib/tftpboot" # 设置要安装的操作系统镜像文件名 OS_IMAGE="ubuntu-20.04.iso" # 设置客户端的MAC地址 CLIENT_MAC="00:11:22:33:44:55" # 创建PXE配置文件 echo "DEFAULT menu.c32 PROMPT 0 TIMEOUT 300 ONTIMEOUT local MENU TITLE PXE Boot Menu LABEL install MENU LABEL Install Ubuntu KERNEL ubuntu-installer/amd64/linux APPEND vga=788 initrd=ubuntu-installer/amd64/initrd.gz ks=http://${PXE_SERVER_IP}/ks.cfg LABEL local MENU LABEL Boot from local disk LOCALBOOT 0" > ${TFTP_ROOT}/pxelinux.cfg/default # 创建Kickstart配置文件 echo "# 安装语言 lang en_US.UTF-8 # 网络配置 network --bootproto=dhcp --device=eth0 # 安装源 url --url=http://${PXE_SERVER_IP}/ubuntu # 设置root密码 rootpw --iscrypted $6$z9X3s... # 安装软件包 %packages @^ubuntu-desktop firefox gimp %end" > ${TFTP_ROOT}/ks.cfg # 将操作系统镜像文件复制到TFTP根目录 cp ${OS_IMAGE} ${TFTP_ROOT}/ubuntu/${OS_IMAGE} # 启动TFTP和DHCP服务 systemctl start tftp systemctl start dhcp # 添加客户端MAC地址到DHCP配置文件 echo "host pxeclient { hardware ethernet ${CLIENT_MAC}; fixed-address 192.168.1.200; }" >> /etc/dhcp/dhcpd.conf # 重启DHCP服务 systemctl restart dhcp ``` 这个脚本的功能是创建PXE配置文件、Kickstart配置文件,并将操作系统镜像文件复制到TFTP根目录。然后启动TFTP和DHCP服务,并将客户端的MAC地址添加到DHCP配置文件中,最后重启DHCP服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值