| 何謂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
eth0 //機器的第一個網卡,有些機器有多個網卡,eth1、eth2... 192.168.6.99 //設定網卡的靜態ip地址 netmask 255.255.255.0 //ip地址的子網路遮罩,無需多解釋 up //表示立即啟用該網卡
#ifconfig if一下,如圖所示靜態ip已經設定成功
二、設定網卡的ip別名 #ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up #ifconfig eth0:1 173.173.173.173 netmask 255.255.255.0 up #ifconfig eth0:2 119.110.120.1 netmask 255.255.255.0 up ......
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 --------------bingIP.h--------------------- #include<stdlib.h> #include<stdio.h> int main() { int i=-1; char *p="vconfig add eth0 254"; i=system(p); printf("%d",i); return 0; } ----------------addIp.sh-------------- #! /bin/sh modprobe 8021q i=2 j=1 k=131 while (($j!=0))&&(($i<120)) do vconfig add eth0 $i 2>/dev/null j=$? i=$(($i+1)) k=$(($k+1)) done i=$(($i-1)) ifconfig eth0.$i 192.168.42.$k broadcast 192.168.42.0 netmask 255.255.255.0 -----------------DelIp.sh----------------- for((i=1;i<120;i++)) do vconfig rem eth0.$i 2>/dev/null done 多網卡 /etc/sysconfig/network-scripts/eth0 添加eth1檔案,檔案內容如下 靜態IP: DEVICE=eth1 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 DEVICE=eth0 BOOTPROTO=dhcp DHCPCLASS= HWADDR=00:0C:29:ED:8D:F1 ONBOOT=yes 運行: /etc/init.d/network reload 動態IP檔案ifcfg-eth0就是本機網卡的設定檔,我們可以通過仿照這個檔案的格式來編寫其他ip別名的設定檔。
#vi ifcfg-eth0 開啟網卡的設定檔,將裡面所有欄位複製一下 #vi ifcfg-eth0:0 建立eth0:0的設定檔,並將剛才複製的欄位粘貼到這個設定檔,按照下文的介紹修改部分資訊,修改完成後儲存退出
以下是網卡設定檔的部分資訊說明,其他類似資訊預設即可: ##############################################################################
# 3Com Corporation 3c905B 100BaseTX [Cyclone] //硬體型號,忽略不計 DEVICE=eth0:0 //虛擬網路介面,隨意 ONBOOT=yes //系統啟動時啟用 BOOTPROTO=static //使用靜態ip地址 IPADDR=192.168.6.100 //該虛擬網路介面的ip別名,隨意 NETMASK=255.255.255.0 //子網路遮罩,對應ip別名 GATEWAY=192.168.6.1 //網關,對應ip別名 HWADDR=00:10:5A:5E:B1:E4 //網卡MAC地址,無需更改 USERCTL=no //是否給予非root使用者裝置管理許可權
##############################################################################
其他ip別名的設定檔大同小異,純粹體力活~~ 這個方法最繁瑣,但又是最可靠,唉,人生就是這樣,永遠不得兩全其美~~
四、清除ip別名 #ifconfg eth0:0 down #ifconfg eth0:1 down #ifconfg eth0:2 down
|