昨天一个朋友他们公司服务器需要批量添加多ip,刚一开始用的为range的方法做的。红帽在RHEL6以后的版本,网络使用的是NetworkManager来管理,所以这种方法就不在起作用了。而且这个方法也有一个弊端就是:重启网络需要一个比较长的时间(100个ip,全部启动5-6分钟)。ps:range的方法我会在写下。


1,使用脚本批量配置多ip,这个方法是我自己想出来的。优点是:快速,重启网络/服务器依然生效,配置简单,可手动停止/启动,减小多IP不需要重启网络;缺点:需要修改network服务(我不认为这对系统有任何影响)

首先是一个脚本,执行这个脚本IP自动批量添加

cat /etc/init.d/myipup

#!/bin/bash
#for add ip ,shanxiangzhen ,20131019 v1.0n=1
m=10
while [ $n -le 100 ]
do
ifconfig eth0:$n 192.168.24.$m netmask 255.255.255.0 up
let n++
let m++
done


我大概解释下这个脚本什么意思,从192.168.24.10($m)开始添加100个IP地址.

绑定到网卡上,修改/etc/init.d/network(配置文件太长,截取部分)。配置前

clip_p_w_picpath001

修改后

clip_p_w_picpath002

然后在添加一个手动启动/关闭多ip的脚本

cat /etc/init.d/myip

#!/bin/bash
#for up/down ip by shanxiangzhen 20131019 v1.0
case "$1" in
start)
n=1
m=10
while [ $n -le 100 ]
do
ifconfig eth0:$n 192.168.24.$m netmask 255.255.255.0 up
let n++
let m++
done
;;
stop)
n=1
m=10
while [ $n -le 100 ]
do
ifconfig eth0:$n 192.168.24.$m netmask 255.255.255.0 down
let n++
let m++
done
;;
*)
echo $"Usage: $0 {start|stop| whatdoyouwantfuck}"
;;
esac

我们把启动下网卡,然后测试下是否可以ping通

centos linux 6.2批量配置多ip_第1张图片

随机测试了三个,可以ping通,理论上都是可以ping通,这里就不一一测试了。如果非要全部测试的,还是写一个脚本吧


2,配置range0,RHEL6.0以后的版本配置需要stop NetworkManager这个服务。这优点和1差不多,有两点1,配置简单;2,启动时间长(第一种几乎秒启动);3,停止和重新配置都需要重启网络

service NetworkManager stop

配置信息如下:

cat /etc/sysconfig/network-scripts/ifcfg-eth0-range0

DEVICE=etho #设备名称
ONBOOT=yess #是否开机启动
BOOTPROTO=static #配置协议 static/dhcp/none
IPADDR_START=192.168.24.101 #起始IP
IPADDR_END=192.168.24.200 #结束IP
CLONENUM_START=1 #起始网卡别名,这里是$DEVICE:1
NETMASK=255.255.255.0 #网关
NO_ALIASROUTING=yes #数据包流量,路由方式

重启网络

service network restart

我们看下网卡起来没有(启动时间长,截取部分)

#ip addr list

centos linux 6.2批量配置多ip_第2张图片


3,配置ifcfg-eth0:1文件,这也和上面的一样,RHEL6.0以后的版本配置需要stop NetworkManager这个服务。优点:1,方便配置多ip,无需用一个网段,比较个性化;2.可以单独的启动/关闭某一个ip;缺点:配置多ip,时间比较长,管理不方便

复制一份网卡的配置文件,修改设备,设备名称,IP地址,子网掩码

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

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

DEVICE=eth0:1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
HWADDR=00:0C:29:26:38:1F
IPADDR=192.168.24.11
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0:1”

我们看下结果。ifup eth0:1

centos linux 6.2批量配置多ip_第3张图片

4,这个不是配置多ip,谈谈其他的。在网上查阅了相关文档,发现几乎所有配置多IP(第二种和第三种)都添加了网关,有些设置有DNS。我在这里纠正下:配多ip,不需要配置网关和DNS。默认网关一个系统只有一个生效,其他的就只能通过配置路由的方式实现。

帮朋友做了一个配多ip的脚本,然后别人让帮忙写一个说明文档。后来看了下别人写的,自愧不如呀。文档写的不好,见谅。有什么问题,我看到有时间会解答的。谢谢