這三個命令的用途都是啓動網絡接口,不過,ifup與ifdown僅能就/etc/sysconfig/network-scripts內的ifcfg-ethX(X爲數字)進行啓動或關閉的操作,並不能直接修改網絡參數,除非手動調整ifcfg-ethX文件才行。至於ifconfig則可以直接手動爲某個接口配置IP或調整其網絡參數。
1、ifconfig
ifconfig主要是可以手動啓動、查看與修改網絡接口的相關參數,可以修改的參數很多,包括IP參數以及MTU等,它的語法如下:
[root@desktop40 ~]# ifconfig {interface} {up/down}
[root@desktop40 ~]#ifconfig [網絡設備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>] [media<網絡媒介類型>][mem_start<內存地址>][metric<數目>][mtu<字節>][netmask<子網掩碼>][tunnel<地址>][-broadcast<地址>] [-pointopoint<地址>]
補充說明:ifconfig可設置網絡設備的狀態,或是顯示當前的設置。
參 數:
[網絡設備] 網絡設備的名稱。
down 關閉指定的網絡設備。
up 啓動指定的網絡設備。
-arp 打開或關閉指定接口上使用的ARP協議。前面加上一個負號用於關閉該選項。
-allmuti 關閉或啓動指定接口的無區別模式。前面加上一個負號用於關閉該選項。
-promisc 關閉或啓動指定網絡設備的promiscuous模式。前面加上一個負號用於關閉該選項。
add<地址> 設置網絡設備IPv6的IP地址。
del<地址> 刪除網絡設備IPv6的IP地址。
media<網絡媒介類型> 設置網絡設備的媒介類型。
mem_start<內存地址> 設置網絡設備在主內存所佔用的起始地址。
metric<數目> 指定在計算數據包的轉送次數時,所要加上的數目。
mtu<字節> 設置網絡設備的MTU。
netmask<子網掩碼> 設置網絡設備的子網掩碼。
tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。
-broadcast<地址> 將要送往指定地址的數據包當成廣播數據包來處理。
-pointopoint<地址> 與指定地址的網絡設備建立直接連線,此模式具有保密功能。
無論是Linux 自動安裝還是我們手工安裝,Linux 都會向你詢問有關網絡的問題並配置相關的軟件。這個用於配置網卡的基本命令就是ifconfig。
在執行ifconfig 命令後,系統將在內核表中設置必要的參數,這樣Linux 就知道如何與網絡上的網卡通信。ifconfig 命令有以下兩種格式:
※ifconfig [interface]
※ifconfig interface [aftype] option | address …
ifconfig 的第一種格式(或使用不帶任何參數的ifconfig 命令)可以用來查看當前系統的網絡配置情況。
在剛剛安裝完系統之後,實際上是在沒有網卡或者網絡連接的情況下使用Linux,但通過ifconfig 可以使用迴繞方式工作,使計算機認爲自己工作在網絡上。
下面我們運行一下ifconfig 命令,不帶參數的ifconfig 命令可以顯示當前啓動的網絡接口,其輸出結果爲:
[root@desktop40 ~]#ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:AB:DD:6F:61
inet addr:210.34.6.89 Bcast:210.34.6.127 Mask:255.255.255.128
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:46299 errors:0 dropped:0 overruns:0 frame:189
TX packets:3057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
其中以eth0 爲首的部分是本機的以太網卡配置參數,這裏顯示了網卡的設備名/dev/eth0 和硬件的MAC 地址52:54:AB:DD:6F:61,MAC 地址是生產廠家定的,每個網卡擁有的唯一地址。
不過我們可以手工改動網卡的MAC 地址,只要我們在/etc/rc.d/init.d/中的network 中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
Jiania 解說 注:
eth0,eth1,eth2,代表網卡一,網卡二,網卡三
hw 代表hardware 硬件意思
ether 代表ethernet以太網的意思
然後重啓,此時再用ifconfig 命令查看一下,我們就會發現網卡的MAC 地址已經變成xx:xx:xx:xx:xx:xx了。
配置網卡的IP地址
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
在eth0上配置上192.168.0.1 的IP地址及24位掩碼。若想再在eth0上在配置一個192.168.1.1/24 的IP地址怎麼辦?用下面的命令
ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0
這時再用ifconifg命令查看,就可以看到兩個網卡的信息了,分別爲:eth0和eth0:0.若還想再增加IP,那網卡的命名就接着是:eth0:1、eth0:2……想要幾個就填幾個。ok!
配置網卡的硬件地址
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx就將網卡的硬件地址更改了,此時你就可以騙過局域網內的IP地址綁定了。
將網卡禁用
ifconfig eth0 down
將網卡啓用
ifconfig eth0 up
ifconfig 命令的功能很強大,還可以設置網卡的MTU,混雜模式等。
2、ifup/ifdown
語法格式:ifdown/ifup + interface
其中interface必須是/etc/sysconfig/network-scripts/目錄下與ifcfg-ethX文件相對的ethX。
ifup、ifdown:這兩個文件是腳本文件,通過更簡單的方式來啓動網絡接口。ifup與ifdown對/etc/sysconfig/network-scripts內的ifcfg-ethX進行啓動或者關閉操作,而不能直接修改網絡參數,除非調整ifcfg-ethX文件才行!
[root@desktop40 ~]# ifdown eth0
注意:ifdown/ifup是通過搜索設置文件(ifcfg-ethx)來進行啓動與關閉相應的接口,所以在使用前確定ifcfg-ethX是否真的存在於正確的目錄下,否則會啓動失效;另外,如果以ifconfig eth0來設置或者修改了網絡接口的信息,那麼就無法再以ifdown eth0的方式來關閉了,因爲ifdown會分析研究比較目前的網絡參數與ifcfg-eth0是否相符,不符的話,會放棄這次操作,因此,若使用ifconfig修改完後,應該是要用ifconfig
eth0 down才能夠關閉該接口