Linux系統(tǒng)下ifconfig網(wǎng)卡網(wǎng)絡(luò)配置詳解
Ifconfig命令使LINUX核心知道軟件回送和網(wǎng)卡這樣一些網(wǎng)絡(luò)接口,這樣Linux就可以使用它們。
除了上面介紹的這些用法之外,ifconfig命令用來監(jiān)控和改變網(wǎng)絡(luò)接口的狀態(tài),并且還可以帶上很多命令行參數(shù)。下面是一個ifconfig的通用調(diào)用語法:
- #ifconfig interface [[-net -host] address [parameters]]
其中interface是網(wǎng)絡(luò)接口名:address是分配給指定接口的主機(jī)名或IP地址。這里使用的主機(jī)名被解析成它們的對等IP地址,這個參數(shù)是必須的。-net和-host參數(shù)分別告訴ifconfig將這個地址作為網(wǎng)絡(luò)號或者是主機(jī)地址。
如果調(diào)用ifconfig命令時后面只跟上端口設(shè)備名,那么它將顯示這個端口的配置情況;如果不帶任何參數(shù),ifconfig命令將顯示至今為止所配置的接口的所有信息;如果帶上-a選項,那么還可以顯示當(dāng)前不活躍的接口。
一個檢查以太網(wǎng)接口eth0的ifconfig調(diào)用可以得到如下的輸出:
- #ifconfig eth0
- eth0 Link encap 10Mbps Ethernet HWaddr 00:00:C0:90:B3:44
- inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0
- UP BROADCAST RUNNING MTU 1500 Metric 0
- RX packets 3136 errors 217 dropped 7 overrun 26
- TX packets 1752 errors 25 dropped 0 overrun 0
(注意:其中XXX.XXX.XXX.XXX是IP地址)
MTU和Metric這兩列顯示了當(dāng)前eth0接口的***數(shù)據(jù)傳送值和接口度量值。接口度量值表示在這個路徑上發(fā)送一個分組的成本。目前內(nèi)核中還沒有使用路由,但可能以后會用。RX(接收分組數(shù))和TX(傳送分組數(shù))這兩行顯示出了接收、傳送分組的數(shù)目,以及分組出錯數(shù)、丟失分組數(shù)(一個可能原因是內(nèi)存較少)和超限數(shù)(通常在接收器接收數(shù)據(jù)的速度快于核心的處理速度的時候發(fā)生)。
Parameters 表示ifconfig所支持的各種參數(shù),使用這些參數(shù)就可以便方便地監(jiān)控和改變網(wǎng)絡(luò)接口的狀態(tài)。
ifconfig的命令行參數(shù):
up 激活指定的接口
down 關(guān)閉指定接口。該參數(shù)可以有效地阻止通過指定接口的IP信息 流,如果想***地關(guān)閉一個接口,我們還需要從核心路由表中 將該接口的路由信息全部刪除
netmask mask 為接口設(shè)置IP網(wǎng)絡(luò)掩碼。掩碼可以是有前綴0x的32位十六進(jìn)制數(shù),也可以是用點分開的4個十進(jìn)制數(shù)。如果不打算將網(wǎng)絡(luò)分成 子網(wǎng),可以不管這一選項;如果要使用子網(wǎng),那么請記住,網(wǎng)絡(luò) 中每一個系統(tǒng)必須有相同子網(wǎng)掩碼。
pointpoint 打開指定接口的點對點模式。它告訴核心該接口是對另一臺機(jī) 器的直接連接。當(dāng)包含了一個地址時,這個地址被分配給列表另 一端的機(jī)器。如果沒有給出地址,就打開這個指定接口的 POINTPOINT選項。前面加一個負(fù)號表示關(guān)閉pointpoint選項。
broadcast address 當(dāng)使用了一個地址時,設(shè)置這個接口的廣播地址。如果 沒有給出地址,就打開這個指定接口的IFF_BROADCAST選項。 前面加上一個負(fù)號表示關(guān)閉這個選項。
metric number 將接口度量值設(shè)置為整數(shù)number。度量值表示在這個路徑上發(fā) 送一個分組的成本。目前內(nèi)核中還沒有使用路由成本,但將來會。
mtu bytes 將接口在一次傳輸中可以處理的***字節(jié)數(shù)設(shè)置為整數(shù)bytes。 目前核心網(wǎng)絡(luò)代碼不處理IP分段,因此一定要把MTU(***數(shù)據(jù) 傳輸單元) 值設(shè)置得足夠大
arp 打開或關(guān)閉指定接口上使用的ARP協(xié)議。前面加上一個負(fù)號用于 關(guān)閉該選項。
allmuti 打開指定接口的無區(qū)別模式。打開這個模式讓接口把網(wǎng)絡(luò)上的 所有信息流都送到核心中,而不僅僅是把你的機(jī)器的信息發(fā)送給 核心。前面加上一個負(fù)號表示關(guān)閉該選項
hw 為指定接口設(shè)置硬件地址。硬件類型名和次硬件地址對等的 ASCII字符必須跟在這個關(guān)鍵字后面。目前支持以太網(wǎng) (ether)、AMPR、AX.25和PPP traliers 打開以太網(wǎng)幀上的跟蹤器。目前還未在LINUX網(wǎng)絡(luò)中實現(xiàn),通常不需要使用所有的這些配置。
Ifconfig可以僅由接口名、網(wǎng)絡(luò)掩碼和分配IP地址來設(shè)置所需的一切。當(dāng)ifconfig疏漏了或者有一個復(fù)雜的網(wǎng)絡(luò)時,只要重新設(shè)置大多數(shù)參數(shù)。
#p#
使用netstat檢查網(wǎng)絡(luò)狀態(tài)
接下來介紹一個很有用的命令——netstat,使用netstat命令可以監(jiān)控TCP/IP網(wǎng)絡(luò)配置和工作狀況。它可以顯示內(nèi)核路由表、 活動的網(wǎng)絡(luò)狀態(tài)以及每個網(wǎng)絡(luò)接口的有用的統(tǒng)計數(shù)字。欲得詳情請閱man page。 -a 顯示所有Internet連接的有關(guān)信息,包括那些正在監(jiān)聽的信息 -i 顯示所有網(wǎng)絡(luò)設(shè)備的統(tǒng)計數(shù)字
-c 不斷顯示網(wǎng)絡(luò)的更新狀態(tài)。這個參數(shù)使用netstat每秒一次的輸出網(wǎng)絡(luò)狀態(tài)列表,直到該程序被中斷
-n 以數(shù)字/原始形式顯示遠(yuǎn)程地址、本地地址和端口信息,而不是解析主機(jī)名和服務(wù)器 -o 顯示計數(shù)器的終止時間和每個網(wǎng)絡(luò)連接的回退(back off)情況 -r 顯示內(nèi)核路由表
-t 只顯示TCP socket信息,包括正在監(jiān)聽的信息 -u 只顯示UDP socket信息 -v 顯示netstat版本信息 -w 顯示原始(raw)socket信息 -x 顯示UNIX域socket信息
ifconfig詳解
ifconfig 是一個用來查看、配置、啟用或禁用網(wǎng)絡(luò)接口的工具,這個工具極為常用的。可以用這個工具來臨時性的配置網(wǎng)卡的IP地址、掩碼、廣播地址、網(wǎng)關(guān)等。也可以把它寫入一個文件中(比如/etc/rc.d/rc.local),這樣系統(tǒng)引導(dǎo)后,會讀取這個文件,為網(wǎng)卡設(shè)置IP地址
1.ifconfig 查看網(wǎng)絡(luò)接口狀態(tài)
ifconfig 如果不接任何參數(shù),就會輸出當(dāng)前網(wǎng)絡(luò)接口的情況;
- [root@linuxchao ~]# ifconfig
- eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41
- inet addr:192.168.1.86 Bcast:192.168.1.255 Mask:255.255.255.0
- inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:618 errors:0 dropped:0 overruns:0 frame:0
- TX packets:676 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)
- Interrupt:5 Base address:0x8c00
- lo Link encap:Local Loopback
- inet addr:127.0.0.1 Mask:255.0.0.0
- inet6 addr: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:16436 Metric:1
- RX packets:1692 errors:0 dropped:0 overruns:0 frame:0
- TX packets:1692 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:3174550 (3.0 MiB) TX bytes:3174550 (3.0 MiB)
解說:
eth0 表示***塊網(wǎng)卡, 其中 HWaddr 表示網(wǎng)卡的物理地址,可以看到目前這個網(wǎng)卡的物理地址(MAC地址)是 00:03:0D:27:86:41;
inet addr 用來表示網(wǎng)卡的IP地址,此網(wǎng)卡的 IP地址是 192.168.1.86,
廣播地址, Bcast:192.168.1.255,掩碼地址Mask:255.255.255.0
lo 是表示主機(jī)的回壞地址,這個一般是用來測試一個網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶能夠查看,只能在此臺主機(jī)上運(yùn)行和查看所用的網(wǎng)絡(luò)接口。比如把 HTTPD服務(wù)器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網(wǎng)站了。但只是您能看得到,局域網(wǎng)的其它主機(jī)或用戶無從知道;
如果想知道主機(jī)所有網(wǎng)絡(luò)接口的情況,請用下面的命令;
- [root@linuxchao ~]#ifconfig -a
如果想查看某個端口,比如查看eth0 的狀態(tài),就可以用下面的方法;
- [root@linuxchao ~]#ifconfig eth0
2.ifconfig 配置網(wǎng)絡(luò)接口
ifconfig 可以用來配置網(wǎng)絡(luò)接口的IP地址、掩碼、網(wǎng)關(guān)、物理地址等;值得一說的是用ifconfig 為網(wǎng)卡指定IP地址,這只是用來調(diào)試網(wǎng)絡(luò)用的,并不會更改系統(tǒng)關(guān)于網(wǎng)卡的配置文件。如果您想把網(wǎng)絡(luò)接口的IP地址固定下來,目前有三個方法:一是通過各個發(fā)行和版本專用的工具來修改IP地址;二是直接修改網(wǎng)絡(luò)接口的配置文件;三是修改特定的文件,加入ifconfig 指令來指定網(wǎng)卡的IP地址,比如在redhat或Fedora中,把ifconfig 的語名寫入/etc/rc.d/rc.local文件中;
ifconfig 配置網(wǎng)絡(luò)端口的方法:
ifconfig 工具配置網(wǎng)絡(luò)接口的方法是通過指令的參數(shù)來達(dá)到目的的,我們只說最常用的參數(shù);
ifconfig 網(wǎng)絡(luò)端口 IP地址 hw MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up/down]
實例一:
比如我們用ifconfig 來調(diào)試 eth0網(wǎng)卡的地址
- [root@linuxchao ~]#ifconfig eth0 down
- [root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0
- [root@linuxchao ~]#ifconfig eth0 up
- [root@linuxchao ~]#ifconfig eth0
- eth0 Link encap:Ethernet HWaddr 00:03:0D:27:86:41
- inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
- inet6 addr: fe80::203:dff:fe27:8641/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:618 errors:0 dropped:0 overruns:0 frame:0
- TX packets:676 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:491238 (479.7 KiB) TX bytes:86286 (84.2 KiB)
- Interrupt:5 Base address:0x8c00
注解: 上面的例子我們解說一下;
***行:ifconfig eth0 down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;
第二行:用ifconfig 來配置 eth0的IP地址、廣播地址和網(wǎng)絡(luò)掩碼;
第三行:用ifconfig eth0 up 來激活eth0 ; 此命令等同于 ifup eth0
第四行:用 ifconfig eth0 來查看 eth0的狀態(tài);
當(dāng)然您也可以用直接在指令I(lǐng)P地址、網(wǎng)絡(luò)掩碼、廣播地址的同時,激活網(wǎng)卡;要加up參數(shù);比如下面的例子;
- [root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up
#p#
實例二:在這個例子中,我們要學(xué)會設(shè)置網(wǎng)絡(luò)IP地址的同時,學(xué)會設(shè)置網(wǎng)卡的物理地址(MAC地址);
比如我們設(shè)置網(wǎng)卡eth1的IP地址、網(wǎng)絡(luò)掩碼、廣播地址,物理地址并且激活它;
- [root@linuxchao ~]#ifconfig eth1 192.168.1.252 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或
- [root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51
- [root@linuxchao ~]#ifconfig eth1 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up
其中 hw 后面所接的是網(wǎng)絡(luò)接口類型, ether表示乙太網(wǎng), 同時也支持 ax2***RCnet、netrom等,詳情請查看 man ifconfig ;
3.如何用ifconfig 來配置虛擬網(wǎng)絡(luò)接口
有時我們?yōu)榱藵M足不同的需要還需要配置虛擬網(wǎng)絡(luò)接口,比如我們用不同的IP地址來架運(yùn)行多個HTTPD服務(wù)器,就要用到虛擬地址;這樣就省卻了同一個IP地址,如果開設(shè)兩個的HTTPD服務(wù)器時,要指定端口號。
虛擬網(wǎng)絡(luò)接口指的是為一個網(wǎng)絡(luò)接口指定多個IP地址,虛擬接口是這樣的 eth0:0 、 eth0:1、eth0:2 ... .. eth1N。當(dāng)然您為eth1 指定多個IP地址,也就是 eth1:0、eth1:1、eth1:2 ... ...以此類推;
其實用ifconfig 為一個網(wǎng)卡配置多個IP地址,就用前面我們所說的ifconfig的用法,這個比較簡單;看下面的例子;
- [root@linuxchao ~]#ifconfig eth1:0 192.168.1.251 hw ether 04:64:03:00:12:51 netmask 255.255.255.0 broadcast 192.168.1.255 up 或
- [root@linuxchao ~]#ifconfig eth1 hw ether 04:64:03:00:12:51
- [root@linuxchao ~]#ifconfig eth1 192.168.1.251 netmask 255.255.255.0 broadcast 192.168.1.255 up
注意:指定時,要為每個虛擬網(wǎng)卡指定不同的物理地址;
在 Redhat/Fedora 或與Redhat/Fedora類似的系統(tǒng),您可以把配置網(wǎng)絡(luò)IP地址、廣播地址、掩碼地址、物理地址以及激活網(wǎng)絡(luò)接口同時放在一個句子中,寫入/etc/rc.d/rc.local中。比如下面的例子;
- ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:33:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up
- ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:33:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up
解說:上面是為eth1的網(wǎng)絡(luò)接口,設(shè)置了兩個虛擬接口;每個接口都有自己的物理地址、IP地址... ...
4.如何用ifconfig 來激活和終止網(wǎng)絡(luò)接口的連接
激活和終止網(wǎng)絡(luò)接口的用 ifconfig 命令,后面接網(wǎng)絡(luò)接口,然后加上 down或up參數(shù),就可以禁止或激活相應(yīng)的網(wǎng)絡(luò)接口了。當(dāng)然也可以用專用工具ifup和ifdown 工具;
- [root@linuxchao ~]#ifconfig eth0 down
- [root@linuxchao ~]#ifconfig eth0 up
- [root@linuxchao ~]#ifup eth0
- [root@linuxchao ~]#ifdown eth0
對于激活其它類型的網(wǎng)絡(luò)接口也是如此,比如 ppp0,wlan0等;不過只是對指定IP的網(wǎng)卡有效。
注意:對DHCP自動分配的IP,還得由各個發(fā)行版自帶的網(wǎng)絡(luò)工具來激活;當(dāng)然得安裝dhcp客戶端;這個您我們應(yīng)該明白;
比如Redhat/Fedora
- [root@linuxchao ~]#/etc/init.d/network start
Slackware 發(fā)行版;
- [root@linuxchao ~]#/etc/rc.d/rc.inet1
原文鏈接:http://wenku.baidu.com/view/9b473235f111f18582d05a05.html