ISC DHCP的IP保留自动化脚本

这里写自定义目录标题ISC DHCP自动化背景脚本简介脚本遇到的问题及注意事项总结ISC DHCP自动化背景我们公司使用ISC DHCP搭建了DHCP服务器,但是在使用前期发现有大量的已分配IP被再次分配,只好将IP-MAC进行绑定,将IP保留起来,这个工作量其实很大,所以我写了以下脚本来方便内网的IP管理。入网的权限管理使用入网认证设备。脚本简介本脚本使用bash编写,主要是对/etc/dhcp/dhcpd.conf和/var/log/messages的文本编辑,主要使用了awk、grep、sed
摘要由CSDN通过智能技术生成

ISC DHCP自动化背景

我们公司使用ISC DHCP搭建了DHCP服务器,但是在使用前期发现有大量的已分配IP被再次分配,只好将IP-MAC进行绑定,将IP保留起来,这个工作量其实很大,所以我写了以下脚本来方便内网的IP管理。入网的权限管理使用入网认证设备。

脚本简介

本脚本使用bash编写,主要是对/etc/dhcp/dhcpd.conf和/var/log/messages的文本编辑,主要使用了awk、grep、sed这几个函数,基本满足了我们目前的ip分配需求。
脚本水平不高,如有高手指点一二,不胜感激。

脚本

#!/bin/bash
#指定使用bash执行此脚本
date
#因为此脚本需要每隔10min执行一次,所以我在crontab中将脚本输出结果重定向到/etc/dhcp/log中,date正好为每次执行记录了时间
FILE1=/var/log/messages
#messages文件是自动生成的文件,记录了DHCP服务器的运行日志,包括DHCP包的问答和IP pool在peers之间的分配。
FILE2=/etc/dhcp/factory
FILE3=/etc/dhcp/fac
#factory和fac是自建文件,用于处理从messages中获取的DHCP问答信息。
CONFILE=/etc/dhcp/dhcpd.conf
#dhcpd.conf为自动生成文件,是dhcp服务器的配置文件。
name=date | awk '{print $2,$3}' | sed 's/ //g'
file="/etc/dhcp/dhcpd."$name".conf"
#编辑备份配置文件文件名,用于每日备份文件的命名。
cp $CONFILE $file
#备份配置文件
oldhost=tail -n 1 $CONFILE | awk '{print $2}'
#oldhost为在执行脚本前配置文件中最后一行命令行中的host,用于在执行完成后返回新增命令行。
grep -i “dhcpack on” $FILE1 | awk ‘{print $8,$10}’ > $FILE2
#将DHCPACK信息中的ip、mac导入factory,主要将“May 4 23:10:15 localhost dhcpd: DHCPACK on xx.xx.1.1 to 11:22:33:44:55:66 via xx.xx.2.1”式语句中的IP和mac提取,用于之后的ip-mac绑定。
a=(a b c d e f g h i j)
#用于之后的同一设备在不通IP段中绑定信息中的host命名。
COUNT=1
STR=sed -n -e $COUNT,1p $FILE3
#从fac文件中逐行读取ip、mac信息,此处COUNT为1,所以为读取第一行,另外还可以使用传递参数的方式:while read ip mac done < F I L E 1 w

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值