备份
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; }