首页 运维 网络学院 查看内容

linux 服务器批量绑定ip脚本

2011-3-10 16:25 598 0

摘要:   为了优化网站的谷歌排名,对于一个服务器上两三百个站都用一个Ip肯定是不行的,所以,一般我们服务器上都需要有两百左右的Ip,服务器购置完交付使用后,除了配置优化服务器之外,当然,也需要买更多的IP并...
关键词: nbsp 起始 range lips 网卡 fips IPADDR 服务器 文件 print

  为了优化网站的谷歌排名,对于一个服务器上两三百个站都用一个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命令查看是否绑定成功   至此已完成全部操作。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部