網卡是 Linux 伺服器最重要的裝置。據統計,Linux 網路故障有 35% 在物理層、25% 在資料連結層、10% 在網路層、10% 在傳輸層、10% 在對話層、7% 在展示層、3% 在應用程式層。由此可以看出,網路故障通常發生在網路七層模型的下三層,即物理層、鏈路層和網路層。對應於實際網路也就是使用的網卡、網路線纜、交換器等裝置故障。
在 Linux 網路裝置在配置時被賦予別名,該別名由一個描述性的縮減詞和一個編號組成。某種類型的第一個裝置的編號為 0,其他裝置依次被編號為 1、2、3 等。但是網卡並不是作為裸裝置出現在/dev目錄下,而是存在記憶體中。eth0、eth1是乙太網路卡介面。它們用於大多數的乙太網路卡,包括許多並行連接埠乙太網路卡。本文主要討論這類網卡。 為 Linux 乙太網路卡設定 IP 位址的方式非常靈活,你可以選擇適合你工作情況的方法:
1. 使用ifconfig命令
ifconfig 命令是常用的 Linux 網路命令之一,主要用途是設定、修改網卡的 IP 位址。
修改網卡 IP 位址命令為:
# ifconfig eth0 192.168.149.129 netmask 255.255.255.0
預設情況下,ifconfig 顯示活動的網路裝置。給這個命令添加一個 -a 開關就能看到所有裝置。但是 ifconfig 命令設定網路裝置的 IP 位址系統重新啟動後設定會自動失效。所以它主要用於網卡狀態調試。假設您要建立一個臨時的網路設定以供測試。您可以使用發行版本中的工具來編輯配置,但是需要注意在完成測試之後,將所有設定恢複回去。通過使用 ifconfig ,我們無需影響已儲存的設定,就能夠快速地配置網卡。
查看指定網卡的介面狀態:
#ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F6:9B:27
inet addr:192.168.149.129 Bcast:192.168.149.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef6:9b27/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:120 errors:0 dropped:0 overruns:0 frame:0
TX packets:116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12600 (12.3 KiB) TX bytes:12705 (12.4 KiB)
Interrupt:10 Base address:0x1424
可以看到修改後 的ip地址生效。小貼式:ifconfig修改的ip地址,在伺服器重新啟動後會失效。
2. 使用ip命令
ip命令是iproute2軟體包裡面的一個強大的網路設定工具,它能夠替代一些傳統的網路管理工具。例如:ifconfig、route等。 現在,絕大多數 Linux 發行版和絕大多數 UNIX都使用古老的arp, ifconfig和route命令。雖然這些工具能夠工作,但它們在Linux2.2和更高版本的核心上顯得有一些落伍。使用iproute2前你應該確 認已經安裝了這個工具。這個包的名字在RedHat Linux 9.0叫作“iproute2”,也可以在:ftp://ftp.inr.ac.ru/ip-routing/ 下載原始碼安裝。如果希望在乙太網路介面eth0上增加一個地址10.0.0.1,掩碼長度為24位,標準廣播位址,標籤為eth0:Alias:
#ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:Alias
3. 使用 netconfig命令
netconfig命令可以設定網路裝置的ip地址,netconfig命令可以永久儲存設定。
使用方法是:“netconfig ethX”。使用命令“netconfig eth0”後會在命令列下彈出一個對話方塊進行確認,選擇“是”,1 。
這時即可進行設定見圖2
設定結束後用“tab”鍵選擇“OK”即可儲存設定並且退出。然後使用命令啟用即可生效:
#service network restart
或者使用等價命令組(先禁用後啟用):
#ifdown eht0
#ifup eth0
小貼士:netconfig命令修改的ip地址,在伺服器重新啟動後不會失效。
4. 使用neat命令
使用neat命令需要配置好X window系統,在命令列下運行“neat”命令後添加IP地址和其他相關參數後儲存設定,從新啟動網路和網路服務或電腦,見圖3。
另外neat命令還有一個同價命令:“redhat-config-network”,二者完全相同。Neat和redhat-config-config命令可以永久儲存設定。
5. 修改TCP/IP網路設定檔
除非另行指定,Red Hat Linux 系統中大多數設定檔都在 /etc 目錄中。網卡相關的TCP/IP網路設定檔是:/etc/sysconfig/network-scripts/ifcfg-ethx。其中x從0開 始,第一個乙太網路設定檔即:/etc/sysconfig/network-scripts/ifcfg-eth0。使用vi編輯器修改這個檔案,也可 以修改網卡IP地址。比如檔案:ifcfg-eth0 代表是乙太網路實際網卡0的設定檔,比如檔案:ifcfg-eth0:1 代表是乙太網路實際網卡0的設定檔。
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #設定網卡的名稱,要跟檔案名稱對應 #
ONBOOT=yes #是否在開機的的時候啟動網卡#
BOOTPROTO=static #啟動的時候的 IP 取得的協議,這裡是固定的,
如果是動態主機的話,要改成 dhcp 才行#
IPADDR=192.168.1.2 #IP 位址#
NETMASK=255.255.255.0 #子網掩嗎#
NETWORK=192.168.1.0 #該網段的第一個 IP#
BROADCAST=192.168.1.255 #最後一個同網段的廣播位址#
GATEWAY=192.168.1.2 #網關地址#
#GATEWAYDEV=eth0
存檔後使用命令:“service network restart “啟用即可生效。這個方法同樣可以永久儲存設定。
6. 在一個網卡上配置多個ip地址
有時候想要在網卡上配置多個ip地址,同樣可以使用ifconfig命令完成:
ifconfig eth0:1 192.168.149.122 netmask 255.255.255.0
ifconfig eth0:2 192.168.149.123 netmask 255.255.255.0
以上是對網卡eth0修改了2個IP地址的方法,重新使用ipconfig命令查看,可以看到一個網卡上已經配置多個ip地址。4。
7. 無線網卡在Linux下的ip配置全攻略
隨著Linux網路技術的快速增長,硬體廠商大大加速對硬體產品對Linux的支援人員。使得Linux 支援的無線網卡的數量在過去的一兩年裡增長顯著。對於有些裝置,配置無線串連非常簡單:只要在您使用的 Linux 發行版本,插入無線網卡,在設定過程中單擊滑鼠,並輸入正確的連網參數就可以了。設定無線網路相關步驟如下:
(1)用“iwconfig”命令來顯示無線網卡(eth0、eth1)的資訊。在以下的步驟中,用ethX表示無線網卡的名稱。
(2)設定無線網卡的操作模式為Managed:
#iwconfig ethX mode Managed
(3)如果採用了WEP加密,需要設定WEP密碼:
#iwconfig ethX key password XXXXXX
對應40位和128位加密,password分別為6位和10位的十六進位數字。
(4)設定SSID,其中ESSID為無線接入(Access Point)的SSID。
# iwconfig ethX essid ESSID
(5)啟動無線網卡:
#ifconfig ethX up
總結:
可以看到Linux 下網卡的ip設定的方法比較靈活,不同的命令可以完成相同的任務。注意由於ip地址是Linux伺服器的關鍵參數所以完成以上操作要有管理員權限。