Linux下配置网卡ip别名
 	何谓ip别名?
 	用windows的话说,就是为一个网卡配置多个ip。
 	什么场合增加ip别名能派上用场?
 	布网需要、多ip访问测试、特定软件对多ip的需要…and so on.
 	下面通过几个例子简单介绍一下如何使用ifconfig命令给网卡配置ip别名。
 	环境:新购买的服务器,刚装好RedHat AS4操作系统,只有一个网卡并且干干净净没做过任何配置。
 	一、首先为服务器网卡配置静态ip地址
 	#ifconfig eth0 192.168.6.99 netmask 255.255.255.0 up
 							1 |  						 							eth0 //机器的第一个网卡,有些机器有多个网卡,eth1、eth2... |  					
 							2 |  						 							192.168.6.99 //设置网卡的静态ip地址 |  					
 							3 |  						 							netmask 255.255.255.0 //ip地址的子网掩码,无需多解释 |  					
 							4 |  						 							up //表示立即激活该网卡 |  					
 	#ifconfig
 	if一下,如图所示静态ip已经设置成功
二、设置网卡的ip别名
 							1 |  						 							#ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up |  					
 							2 |  						 							#ifconfig eth0:1 173.173.173.173 netmask 255.255.255.0 up |  					
 							3 |  						 							#ifconfig eth0:2 119.110.120.1 netmask 255.255.255.0 up |  					
 							4 |  						 							...... |  					
 	eth0:x //虚拟网络接口,建立在eth0上,取值范围0-255
 	192.168.6.xxx //增加ip别名,想加多少就加多少~~
 	#ifconfig
 	设置完我们if一下看看,如图所示,增加的ip都已经生效了
 	#ping 192.168.6.100
 	#ping 173.173.173.173
 	#ping 119.110.120.1
 	然后在本机分别ping一下这几个ip,如图所示一路畅通~~
 	*注意:在设置ip别名时,如果增加的是和局域网同一网段的ip(如192.168.6.100),那么除了本机外局域网内其他机器都可以ping通这个ip。如果增加的是奇形怪状的ip,那么就只有本机可以ping通而已,后者主要用于本机测试需要。
 	三、保留网卡的ip别名信息
 	当我们汗流浃背的增加了n个ip,正准备大展拳脚进行项目测试时,突然~~停电了…xx@#$%,转眼月上枝头,好不容易来电了打开电脑一看,傻了~~刚刚增加的ip全没了???
 	原来当系统重启后,所有的ip别名都会丢失…rpwt…xx$#%@
 	基于linux这个特点,所以如果需要长时间使用ip别名,最好将别名信息保存起来,一般方法有两个,如下:
 	1.将增加ip别名的命令填写到/etc/rc.local文件中
 	即将所有如这样ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up的命令一行行全部填写到rc.local文件中去,rc.local文件是作用于linux开机自动执行命令,详细用法g或b一下,这里不详细说明。
 	这个方法最方便,但不太可靠,有时会失灵。
 	2.手动编写ip别名的网卡配置文件
 	所有网卡的配置文件都保存在/etc/sysconfig/network-scripts目录中,一个网卡对应一个配置文件,如图:
 	多vlan 多IP
 	1. 加载8021q
 	modprobe 8021q
 	2. vconfig add eth0 2
 	3. 配置IP和MAC
 	Ipconfig –s eth0.2 192.168.42.129 broadcast 192.168.42.0 netmask 255.255.255.0 up
 							01 |  						 							--------------bingIP.h--------------------- |  					
 							02 |  						 							#include<stdlib.h> |  					
 							03 |  						 							#include<stdio.h> |  					
 							04 |  						 							int main() |  					
 							05 |  						 							{ |  					
 							06 |  						 							int i=-1; |  					
 							07 |  						 							char *p="vconfig add eth0 254"; |  					
 							08 |  						 							i=system(p); |  					
 							09 |  						 							printf("%d",i); |  					
 							10 |  						 							return 0; |  					
 							11 |  						 							} |  					
 							12 |  						 							----------------addIp.sh-------------- |  					
 							13 |  						 							#! /bin/sh |  					
 							14 |  						 							modprobe 8021q |  					
 							15 |  						 							i=2 |  					
 							16 |  						 							j=1 |  					
 							17 |  						 							k=131 |  					
 							18 |  						 							while (($j!=0))&&(($i<120)) |  					
 							19 |  						 							do |  					
 							20 |  						 							vconfig add eth0 $i 2>/dev/null |  					
 							21 |  						 							j=$? |  					
 							22 |  						 							i=$(($i+1)) |  					
 							23 |  						 							k=$(($k+1)) |  					
 							24 |  						 							done |  					
 							25 |  						 							i=$(($i-1)) |  					
 							26 |  						 							ifconfig eth0.$i 192.168.42.$k broadcast 192.168.42.0 netmask 255.255.255.0 |  					
 							27 |  						 							-----------------DelIp.sh----------------- |  					
 							28 |  						 							for((i=1;i<120;i++)) |  					
 							29 |  						 							do |  					
 							30 |  						 							vconfig rem eth0.$i 2>/dev/null |  					
 							31 |  						 							done |  					
 	多网卡
 	/etc/sysconfig/network-scripts/eth0
添加eth1文件,文件内容如下
静态IP:
 							1 |  						 							DEVICE=eth1 |  					
 							2 |  						 							ONBOOT=yes |  					
 							3 |  						 							BOOTPROTO=static |  					
 							4 |  						 							IPADDR=192.168.0.18 |  					
 							5 |  						 							NETMASK=255.255.255.0 |  					
 							6 |  						 							GATEWAY=192.168.0.1 |  					
 							1 |  						 							DEVICE=eth0 |  					
 							2 |  						 							BOOTPROTO=dhcp |  					
 							3 |  						 							DHCPCLASS= |  					
 							4 |  						 							HWADDR=00:0C:29:ED:8D:F1 |  					
 							5 |  						 							ONBOOT=yes |  					
运行:
 							1 |  						 							/etc/init.d/network reload |  					
动态IP文件ifcfg-eth0就是本机网卡的配置文件,我们可以通过仿照这个文件的格式来编写其他ip别名的配置文件。
 	#vi ifcfg-eth0
 	打开网卡的配置文件,将里面所有字段复制一下
 	#vi ifcfg-eth0:0
 	创建eth0:0的配置文件,并将刚才复制的字段粘贴到这个配置文件,按照下文的介绍修改部分信息,修改完成后保存退出
 	以下是网卡配置文件的部分信息说明,其他类似信息默认即可:
 	##############################################################################
 							1 |  						 							# 3Com Corporation 3c905B 100BaseTX [Cyclone] //硬件型号,忽略不计 |  					
 							2 |  						 							DEVICE=eth0:0 //虚拟网络接口,随意 |  					
 							3 |  						 							ONBOOT=yes //系统启动时激活 |  					
 							4 |  						 							BOOTPROTO=static //使用静态ip地址 |  					
 							5 |  						 							IPADDR=192.168.6.100 //该虚拟网络接口的ip别名,随意 |  					
 							6 |  						 							NETMASK=255.255.255.0 //子网掩码,对应ip别名 |  					
 							7 |  						 							GATEWAY=192.168.6.1 //网关,对应ip别名 |  					
 							8 |  						 							HWADDR=00:10:5A:5E:B1:E4 //网卡MAC地址,无需更改 |  					
 							9 |  						 							USERCTL=no //是否给予非root用户设备管理权限 |  					
##############################################################################
 	其他ip别名的配置文件大同小异,纯粹体力活~~
 	这个方法最繁琐,但又是最可靠,唉,人生就是这样,永远不得两全其美~~
 	四、清除ip别名
 							1 |  						 							#ifconfg eth0:0 down |  					
 							2 |  						 							#ifconfg eth0:1 down |  					
 							3 |  						 							#ifconfg eth0:2 down |  					
 	91ri.org:准备开始进入比赛状态了,91ri.org同时也会多发关于操作系统方面的文章 特别是关于Linux方面的,对Linux有兴趣的朋友多关注吧 ![]()


		

还没有评论,来说两句吧...