这是搜索来的。不过也拿来分享。
为了优化网站的谷歌排名,对于一个服务器上两三百个站都用一个Ip肯定是不行的,所以,一般我们服务器上都需要有两百左右的Ip,服务器购置完交付使用后,除了配置优化服务器之外,当然,也需要买更多的IP并绑定到服务器。以softlayer为例,购买IP时,付了钱过后,他们将ip发到你注册的邮箱,例如以下邮件:
给你的ip格式为 1.1.1.1-1.1.1.20
当买了很多的时候,就会有很多个这样的格式的Ip,绑定起来比较混乱,所以就编写了以下的脚本,进行批量绑定。希望对读者有所帮助
首先,我们先把所有的IP放入一个名为allips的文件,如下:
创建 bindips.sh脚本文件。
脚本如下:
#! /bin/bash
cat allips|awk '{print $1}'》fips
cat allips|awk '{print $3}'》lips
range=1
han=1
ban=1
for fips in `cat fips`
do
lips=`sed -n "$han"p lips`
fipslast=`echo $fips|awk -F . '{print $4}'`
lipslast=`echo $lips|awk -F . '{print $4}'`
chashu=$(($lipslast-$fipslast+1))
cat >>/etc/sysconfig/network-scripts/ifcfg-eth1-range$range《EOF
IPADDR_START=$fips
IPADDR_END=$lips
NETMASK=255.255.255.255
CLONENUM_START=$ban
EOF
ban=$(($ban+$chashu))
han=$(($han+1))
range=$(($range+1))
done
完成
脚本解释
fips为所有的首IP存放位置,即上图中所有左侧的IP
lips为所有的末Ip存放位置,即上图上所有右侧的Ip
#! /bin/bash
cat allips|awk '{print $1}'》fips #将所有左侧的IP导入fips文件
cat allips|awk '{print $3}'》lips #将所有右侧的IP导入lips文件
range=1 #设定range起始值 (关于range,在篇末解释)
han=1 #设定读取lips行的起始值
ban=0 #设定虚拟网卡的起始值
for fips in `cat fips` #读取fips里的所有Ip
do
lips=`sed -n "$han"p lips` #在lips文件里找到对应的IP
fipslast=`echo $fips|awk -F . '{print $4}'` #找出fips的D段的值
lipslast=`echo $lips|awk -F . '{print $4}'` #找出lips的D段的值
chashu=$(($lipslast-$fipslast+1)) #将lips的D段的值减去lips的D段的值加1, 则是此Ip段所有可用的ip
cat >>/etc/sysconfig/network-scripts/ifcfg-eth1-range$range《EOF
IPADDR_START=$fips
IPADDR_END=$lips
NETMASK=255.255.255.255
CLONENUM_START=$ban
EOF
#创建/etc/sysconfig/network-scripts/ifcfg-eth1-range? 文件,并导入内容。内容为起始ip, 结束ip,和绑定的虚拟网卡起始值。
ban=$(($ban+$chashu)) #循环一次后绑定的网卡值加上当前可用的IP数,则就是下一个ip段绑定的虚拟网卡起始值。
han=$(($han+1)) # 循环一次后,读取lips的下一行的值
range=$(($range+1)) # 循环一次后,写入下一个range
done #结束
运行脚本文件
sh bindips.sh
重启 network
service network restart (远程服务器一定要restart ,不然就断了)
即可绑定好所有的IP. 至此已全部完成,如果有不懂可联系我进行技术交流:QQ:410018348
range 知识:(我个人理解)
linux 网卡中的range,应该是说指定一个ip范围,里面有很多参数,其中最重要的几个参数为起始ip,结束Ip,网卡起始值,子网掩码,是否开机绑定( 默认开启)
例如:
IPADDR_START=192.126.1.1
IPADDR_END=192.168.1.20
NETMASK=255.255.255.255
CLONENUM_START=1
上面的例子中,IPADDR_START:为起始的ip
IPADDR_END: 为结束的IP
NETMASK: 为子网掩码
UM_START:为绑定的网卡起始值,假为第一个ip为192.168.1.1 绑定的网卡为 eth0:1, 第二个Ip为192.168.1.2 ,则绑定的网卡为eth0:2 ,以此类推。
服务器案例:
1, 如图输入好
2,重启网卡 3,使用ifconfig命令查看是否绑定成功 至此已完成全部操作。
|