为了优化网站的谷歌排名,对于一个服务器上两三百个站都用一个Ip肯定是不行的,所以,一般我们服务器上都需要有两百左右的Ip,服务器购置完交付使用后,除了配置优化服务器之外,当然,也需要买更多的IP并绑定到服务器。以softlayer为例,购买IP时,付了钱过后,他们将ip发到你注册的邮箱,例如以下邮件:

linux 服务器批量绑定ip脚本_ip绑定

给你的ip格式为 1.1.1.1-1.1.1.20

当买了很多的时候,就会有很多个这样的格式的Ip,绑定起来比较混乱,所以就编写了以下的脚本,进行批量绑定。希望对读者有所帮助

首先,我们先把所有的IP放入一个名为allips的文件,如下:

linux 服务器批量绑定ip脚本_range使用_02

创建 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:     为子网掩码
              CLONENUM_START:为绑定的网卡起始值,假为第一个ip为192.168.1.1 绑定的网卡为  eth0:1, 第二个Ip为192.168.1.2 ,则绑定的网卡为eth0:2  ,以此类推。
 
服务器案例:
  1,  如图输入好

linux 服务器批量绑定ip脚本_linux_03

2,重启网卡
 linux 服务器批量绑定ip脚本_ip绑定_04

3,使用ifconfig命令查看是否绑定成功

linux 服务器批量绑定ip脚本_休闲_05

至此已完成全部操作。