主机头

 找回密码
 立即注册
查看: 1670|回复: 0
打印 上一主题 下一主题

linux服务器如何绑定IP的方法及教程

[复制链接]

879

主题

2

好友

5477

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-1-10 19:14:42 |只看该作者 |倒序浏览
这是搜索来的。不过也拿来分享。
为了优化网站的谷歌排名,对于一个服务器上两三百个站都用一个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命令查看是否绑定成功
  至此已完成全部操作。


感谢支持主机头,如果有问题可以联系我的QQ。目前提供各种服务。
网站建设,网站优化,美国VPS购买,VPS环境配置等。
目前通过本站购买VPS的话,可以免费帮忙配置环境。
付费提供DISCUZ PW DEDECMS技术支持。
www.www88.me
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

主机头版权声明|百度地图|谷歌地图|Archiver|手机版|主机头

GMT+8, 2024-11-22 11:50

Powered by Discuz! www.zhujitou.com

© 2001-2012 主机头.

回顶部