自定义DHCP配置文件

备份

IP-MAC-Plan.csv

RACK_ID Host_ID Host_Name Host_IP
16 1 Host1 192.168.16.1
16 2 Host2 192.168.16.2
16 3 Host3 192.168.16.3
16 4 Host4 192.168.16.4
16 5 Host5 192.168.16.5
17 1 Host6 192.168.17.1

#!/bin/bash

sut_conf=/etc/dhcp/host_list/sut.conf
list=IP-MAC-Plan.csv
RowNum=$(wc -l $list | awk ‘{printf $1}‘)
NicPortNum=10

echo "
#option domain-name-servers 192.168.1.98,192.168.1.99;
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.0.0 netmask 255.255.0.0 {
#option routers 192.168.1.1;
    pool{
        failover peer \"dhcp\";
        range 192.168.1.1 192.168.200.200;
    }
}

" > $sut_conf

for ((i=2; i<=$RowNum;i++)) do
    HostIP=$(sed -n "$i"p $list |awk -F "," ‘{printf $4}‘)
    third=$(echo $HostIP | awk -F "." ‘{printf $3}‘)
    forth=$(echo $HostIP | awk -F "." ‘{printf $4}‘)
    echo $HostIP
    #echo $third
    #echo $forth
    for ((j=1; j<=$NicPortNum; j++)) do
        ip3=$third
        ip4=$(($forth*10+10+$j-1))
        SUTIP=192.168.$ip3.$ip4
        #echo $ip
        mac5=$(echo "obase=16;$ip3"|bc)
        mac6=$(echo "obase=16;$ip4"|bc)
        SUTMAC=00:00:00:00:$mac5:$mac6
        #echo $mac
        echo "
        host ${HostIP}_${j} {
        hardware ethernet $SUTMAC;
        fixed-address $SUTIP;
        }" >> $sut_conf
    done

done

生成文件:
#option domain-name-servers 192.168.1.98,192.168.1.99;
default-lease-time 21600;
max-lease-time 43200;
subnet 192.168.0.0 netmask 255.255.0.0 {
#option routers 192.168.1.1;
    pool{
        failover peer "dhcp";
        range 192.168.1.1 192.168.200.200;
    }
}

host 192.168.16.1_1 {
        hardware ethernet 00:00:00:00:10:14;
        fixed-address 192.168.16.20;
        }

host 192.168.16.1_2 {
        hardware ethernet 00:00:00:00:10:15;
        fixed-address 192.168.16.21;
        }

host 192.168.16.1_3 {
        hardware ethernet 00:00:00:00:10:16;
        fixed-address 192.168.16.22;
        }

host 192.168.16.1_4 {
        hardware ethernet 00:00:00:00:10:17;
        fixed-address 192.168.16.23;
        }

时间: 2024-08-26 01:41:20

自定义DHCP配置文件的相关文章

dhcp 配置文件详解

dhcp 配置文件详解 ddns-update-style none; #配置DHCP-DNS 互动更新模式 ignore client-updates; #忽略客户端更新此参数只在服务器端使用 next-server 10.5.5.120; #设置服务器从引导文件中装如主机名,应用于无盘工作站 option domain-name "example.org"; #为客户端指明DNS名字 option domain-name-servers ns1.example.org, ns2.e

openwrt 自定义DHCP

DHCP是广播服务,除非通过VLAN定义作用域,否则无法指定多个DHCP服务器对不同的客户端提供服务. 家用DHCP自定义服务功能(指定单独的网关.DNS服务器)使用Dnsmasq服务来增强. 在openwrt里Dnsmasq的配置文件也在/etc/config/dhcp 文件 思路是,给静态DHCP服务,给需要不同配置的的Host 打上TAG,相同TAG的主机单独配置dhcp_option 具体如下. config host option mac '00:1c:c2:2a:7f:8d' opt

vim自定义设置-配置文件

http://blog.csdn.net/pipisorry/article/details/25056909 .vimrc配置文件表示说明 vim自定义键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来::map <F5> i{e<Esc>a}<Esc>其中:i{将插入字符{,然后使用Esc退回到命令状态:接着用e移到单词结尾,a}增加字符},最后退至命令状态.在执行以上命令之后,光标定位在一

自定义spring配置文件位置

spring配置文件 springtest.xml  转移位置 看web.xml配置文件位置 <!-- springMVC 配置 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 可以自定义servlet

在Thinkphp中【自动加载自定义扩展配置文件】!

/Conf/config.php为正式的扩展文件 /Conf/verify.php为扩展的自定义配置文件 /Conf/sendmail.php为扩展的自定义配置文件 如果要自动加载 verify和sendmail的扩展配置文件,方法如下: 在Config.php里新增一个: 'LOAD_EXT_CONFIG' => 'verify,sendmail' 就可以了. verify.php内容: <?php return array( 'size' => 4, 'title' => '测

在SpringBoot下读取自定义properties配置文件的方法

SpringBoot工程默认读取application.properties配置文件.如果需要自定义properties文件,如何读取呢? 一.在resource中新建.properties文件 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下.如图remote.properties所示 二.编写配置文件 1 2 remote.uploadFilesUrl=/resource/files/ remote.uploadPicUrl=/reso

.net如何自定义config配置文件节点

本文转载:http://www.cnblogs.com/lori/archive/2013/04/03/2997617.html 对于小型项目来说,配置信息可以通过appSettings进行配置,而如果配置信息太多,appSettings显得有些乱,而且在开发人员调用时,也不够友好,节点名称很容易写错,这时,我们有几种解决方案 1 自己开发一个配置信息持久化类,用来管理配置信息,并提供面向对象的支持 2 使用.net自带的configSections,将配置信息分块管理,并提供实体类,便于开发人

saltstack的探索-给zabbix客户端推送一个自定义的配置文件

目的:使用zabbix监控指定的内容,例如某个进程是否存在,因此我们推送一个自定义的zabbix配置到指定的客户端,然后重启zabbix-agent服务. 目录和脚本: [[email protected] zabbix]# ls agent.sls  bin  conf  sbin  template.sls [[email protected] zabbix]# cat conf/myapp_process.conf  UserParameter=myapp.process.get[*], 

编写自定义cmake配置文件FindXXX.cmake或者xxx-config.cmake | cmake with user defined entry

本文首发于个人博客https://kezunlin.me/post/12ab5707/,欢迎阅读! cmake with user defined entry Guide FindXXX.cmake in CMAKE_MODULE_PATH xxx-config.cmake in CMAKE_PREFIX_PATH cmake default package FindXXX.cmake use find_package to find default package with name XXX