在CentOS中轻松添加大量IP的脚本/方法?

时间:2015-01-18 16:12:07

标签: bash networking

我正在搜索脚本或向CentOS添加大量IP地址的简单方法。

例如,如果我输入 1.1.1.1 2.1.2.1 ,脚本将自动创建以下两个文件:

1)

/etc/sysconfig/network-scripts/ifcfg-eth0:0

-

DEVICE=eth0:0
BOOTPROTO=static
IPADDR=1.1.1.1
NETMASK=255.255.255.255
ONBOOT=yes
BROADCAST=1.1.1.1

2)

/etc/sysconfig/network-scripts/ifcfg-eth0:1

-

DEVICE=eth0:1
BOOTPROTO=static
IPADDR=2.1.2.1 
NETMASK=255.255.255.255 
ONBOOT=yes 
BROADCAST=2.1.2.1

或者,最简单的选择是如果我有一个带有IP列表的.txt文件

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你可以用下面的简单bash脚本来做到这一点:

#!/bin/bash

count=0
while read line
do
     filename=/etc/sysconfig/network-scripts/ifcfg-eth0:$count
     echo "DEVICE=eth0:$count\nBOOTPROTO=static\nIPADDR=$line\nNETMASK=255.255.255.255\nONBOOT=yes\nBROADCAST=$line" > filename
     count=$((count+1))
done < myfile.txt

答案 1 :(得分:0)

SMA发布的代码在CentOS 6.8上对我不起作用,但是我编辑了一下这个有用了:

#!/bin/bash

count=1
while read line;

do
     echo "Creating eth0:$count with IP: $line" ;
     filename=/etc/sysconfig/network-scripts/ifcfg-eth0:$count
     echo -e "DEVICE=eth0:$count\nBOOTPROTO=static\nIPADDR=$line\nNETMASK=255.255.248.0\nONBOOT=yes\n" > $filename
     chmod 644 $filename
     count=$((count+1))
done < myfile.txt