您好,登錄后才能下訂單哦!
Linux系統(tǒng)下ifconfig和route配置網(wǎng)絡(luò)詳解
ifconfig和route合用于配置網(wǎng)絡(luò)(ip命令綜合二者功能,此處不講),通常在前者設(shè)置好ip地址等信息后,采用route命令配置路由。(對(duì)DHCP動(dòng)態(tài)分配ip的網(wǎng)絡(luò),而需激活此ip)。本文不講route命令。
一、ifconfig命令
ifconfig命令使LINUX核心知道軟件回送和網(wǎng)卡這樣一些網(wǎng)絡(luò)接口,這樣Linux就可以使用它們。除了上面介紹的這些用法之外,ifconfig命令用來(lái)監(jiān)控和改變網(wǎng)絡(luò)接口的狀態(tài),并且還可以帶上很多命令行參數(shù)。下面是一個(gè)ifconfig的通用調(diào)用語(yǔ)法:
#ifconfig [-v] [-a] [-s] interface
#ifconfig [-v] interface [[-net -host] [address | parameters]+]
其中interface是網(wǎng)絡(luò)接口名:address是分配給指定接口的主機(jī)名或IP地址。這里使用的主機(jī)名被解析成它們的對(duì)等IP地址,這個(gè)參數(shù)是必須的。-net和-host參數(shù)分別告訴ifconfig將這個(gè)地址作為網(wǎng)絡(luò)號(hào)或者是主機(jī)地址。
后面的address和parameters參數(shù)位置可成組調(diào)換。+表示可有一個(gè)或多個(gè)該類(lèi)參數(shù)
如果調(diào)用ifconfig命令時(shí)后面只跟上端口設(shè)備名,那么它將顯示這個(gè)端口的配置情況;如果不帶任何參數(shù),ifconfig命令將顯示至今為止所配置的接口的所有信息;如果帶上-a選項(xiàng),那么還可以顯示當(dāng)前不活躍的接口。
一個(gè)檢查以太網(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
?。ㄗ⒁猓浩渲蠿XX.XXX.XXX.XXX是IP地址)
MTU和Metric這兩列顯示了當(dāng)前eth0接口的最大數(shù)據(jù)傳送值和接口度量值。接口度量值表示在這個(gè)路徑上發(fā)送一個(gè)分組的成本。目前內(nèi)核中還沒(méi)有使用路由,但可能以后會(huì)用。RX(接收分組數(shù))和TX(傳送分組數(shù))這兩行顯示出了接收、傳送分組的數(shù)目,以及分組出錯(cuò)數(shù)、丟失分組數(shù)(一個(gè)可能原因是內(nèi)存較少)和超限數(shù)(通常在接收器接收數(shù)據(jù)的速度快于核心的處理速度的時(shí)候發(fā)生)。
Parameters 表示ifconfig所支持的各種參數(shù),使用這些參數(shù)就可以便方便地監(jiān)控和改變網(wǎng)絡(luò)接口的狀態(tài)。
ifconfig的命令行參數(shù):
up 激活指定的接口
down 關(guān)閉指定接口。該參數(shù)可以有效地阻止通過(guò)指定接口的IP信息 流,如果想永久地關(guān)閉一個(gè)接口,我們還需要從核心路由表中 將該接口的路由信息全部刪除
netmask mask 為接口設(shè)置IP網(wǎng)絡(luò)掩碼。掩碼可以是有前綴0x的32位十六進(jìn)制數(shù),也可以是用點(diǎn)分開(kāi)的4個(gè)十進(jìn)制數(shù)。如果不打算將網(wǎng)絡(luò)分成 子網(wǎng),可以不管這一選項(xiàng);如果要使用子網(wǎng),那么請(qǐng)記住,網(wǎng)絡(luò) 中每一個(gè)系統(tǒng)必須有相同子網(wǎng)掩碼。
pointpoint 打開(kāi)指定接口的點(diǎn)對(duì)點(diǎn)模式。它告訴核心該接口是對(duì)另一臺(tái)機(jī) 器的直接連接。當(dāng)包含了一個(gè)地址時(shí),這個(gè)地址被分配給列表另 一端的機(jī)器。如果沒(méi)有給出地址,就打開(kāi)這個(gè)指定接口的 POINTPOINT選項(xiàng)。前面加一個(gè)負(fù)號(hào)表示關(guān)閉pointpoint選項(xiàng)。
broadcast address 當(dāng)使用了一個(gè)地址時(shí),設(shè)置這個(gè)接口的廣播地址。如果 沒(méi)有給出地址,就打開(kāi)這個(gè)指定接口的IFF_BROADCAST選項(xiàng)。 前面加上一個(gè)負(fù)號(hào)表示關(guān)閉這個(gè)選項(xiàng)。
metric number 將接口度量值設(shè)置為整數(shù)number。度量值表示在這個(gè)路徑上發(fā) 送一個(gè)分組的成本。目前內(nèi)核中還沒(méi)有使用路由成本,但將來(lái)會(huì)。
mtu bytes 將接口在一次傳輸中可以處理的最大字節(jié)數(shù)設(shè)置為整數(shù)bytes。 目前核心網(wǎng)絡(luò)代碼不處理IP分段,因此一定要把MTU(最大數(shù)據(jù) 傳輸單元) 值設(shè)置得足夠大
arp 打開(kāi)或關(guān)閉指定接口上使用的ARP協(xié)議。前面加上一個(gè)負(fù)號(hào)用于 關(guān)閉該選項(xiàng)。
allmuti 打開(kāi)指定接口的無(wú)區(qū)別模式。打開(kāi)這個(gè)模式讓接口把網(wǎng)絡(luò)上的 所有信息流都送到核心中,而不僅僅是把你的機(jī)器的信息發(fā)送給 核心。前面加上一個(gè)負(fù)號(hào)表示關(guān)閉該選項(xiàng)
hw class address為指定接口設(shè)置硬件類(lèi)型和硬件地址。硬件類(lèi)型名和次硬件地址對(duì)等的 ASCII字符必須跟在這個(gè)關(guān)鍵字后面。目前支持的硬件類(lèi)型(hardware class)包括以太網(wǎng) (ether)、AMPR、AX.25和PPP traliers 打開(kāi)以太網(wǎng)幀上的跟蹤器。目前還未在LINUX網(wǎng)絡(luò)中實(shí)現(xiàn),通常不需要使用所有的這些配置。
ifconfig可以?xún)H由接口名、網(wǎng)絡(luò)掩碼和分配IP地址來(lái)設(shè)置所需的一切。當(dāng)ifconfig疏漏了或者有一個(gè)復(fù)雜的網(wǎng)絡(luò)時(shí),只要重新設(shè)置大多數(shù)參數(shù)。
使用netstat檢查網(wǎng)絡(luò)狀態(tài)
接下來(lái)介紹一個(gè)很有用的命令——netstat,使用netstat命令可以監(jiān)控TCP/IP網(wǎng)絡(luò)配置和工作狀況。它可以顯示內(nèi)核路由表、 活動(dòng)的網(wǎng)絡(luò)狀態(tài)以及每個(gè)網(wǎng)絡(luò)接口的有用的統(tǒng)計(jì)數(shù)字。欲得詳情請(qǐng)閱man page。
-a 顯示所有Internet連接的有關(guān)信息,包括那些正在監(jiān)聽(tīng)的信息
-i 顯示所有網(wǎng)絡(luò)設(shè)備的統(tǒng)計(jì)數(shù)字
-c 不斷顯示網(wǎng)絡(luò)的更新?tīng)顟B(tài)。這個(gè)參數(shù)使用netstat每秒一次的輸出網(wǎng)絡(luò)狀態(tài)列表,直到該程序被中斷
-n 以數(shù)字/原始形式顯示遠(yuǎn)程地址、本地地址和端口信息,而不是解析主機(jī)名和服務(wù)器
-o 顯示計(jì)數(shù)器的終止時(shí)間和每個(gè)網(wǎng)絡(luò)連接的回退(back off)情況
-r 顯示內(nèi)核路由表(netstat -r命令相當(dāng)于route命令)
-t 只顯示TCP socket信息,包括正在監(jiān)聽(tīng)的信息
-u 只顯示UDP socket信息
-v 顯示netstat版本信息
-w 顯示原始(raw)socket信息
-x 顯示UNIX域socket信息
======================================
ifconfig詳解
2009-01-12 00:54
ifconfig 是一個(gè)用來(lái)查看、配置、啟用或禁用網(wǎng)絡(luò)接口的工具,這個(gè)工具極為常用的??梢杂眠@個(gè)工具來(lái)臨時(shí)性的配置網(wǎng)卡的IP地址、掩碼、廣播地址、網(wǎng)關(guān)等。也可以把它寫(xiě)入一個(gè)文件中(比如/etc/rc.d/rc.local),這樣系統(tǒng)引導(dǎo)后,會(huì)讀取這個(gè)文件,為網(wǎng)卡設(shè)置IP地址
1.ifconfig 查看網(wǎng)絡(luò)接口狀態(tài)
ifconfig 如果不接任何參數(shù),就會(huì)輸出當(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)
解說(shuō):
eth0 表示第一塊網(wǎng)卡, 其中 HWaddr 表示網(wǎng)卡的物理地址,可以看到目前這個(gè)網(wǎng)卡的物理地址(MAC地址)是 00:03:0D:27:86:41; inet addr 用來(lái)表示網(wǎng)卡的IP地址,此網(wǎng)卡的 IP地址是 192.168.1.86,廣播地址, Bcast:192.168.1.255,掩碼地址Mask:255.255.255.0
lo 是表示主機(jī)的回壞地址,這個(gè)一般是用來(lái)測(cè)試一個(gè)網(wǎng)絡(luò)程序,但又不想讓局域網(wǎng)或外網(wǎng)的用戶(hù)能夠查看,只能在此臺(tái)主機(jī)上運(yùn)行和查看所用的網(wǎng)絡(luò)接口。比如把 HTTPD服務(wù)器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網(wǎng)站了。但只是您能看得到,局域網(wǎng)的其它主機(jī)或用戶(hù)無(wú)從知道;
如果想知道主機(jī)所有網(wǎng)絡(luò)接口的情況,請(qǐng)用下面的命令;
[root@linuxchao ~]#ifconfig -a
如果想查看某個(gè)端口,比如查看eth0 的狀態(tài),就可以用下面的方法;
[root@linuxchao ~]#ifconfig eth0
2.ifconfig 配置網(wǎng)絡(luò)接口
ifconfig 可以用來(lái)配置網(wǎng)絡(luò)接口的IP地址、掩碼、網(wǎng)關(guān)、物理地址等;值得一說(shuō)的是用ifconfig 為網(wǎng)卡指定IP地址,這只是用來(lái)調(diào)試網(wǎng)絡(luò)用的,并不會(huì)更改系統(tǒng)關(guān)于網(wǎng)卡的配置文件。如果您想把網(wǎng)絡(luò)接口的IP地址固定下來(lái),目前有三個(gè)方法:一是通過(guò)各個(gè)發(fā)行和版本專(zhuān)用的工具來(lái)修改IP地址;二是直接修改網(wǎng)絡(luò)接口的配置文件;三是修改特定的文件,加入ifconfig 指令來(lái)指定網(wǎng)卡的IP地址,比如在redhat或Fedora中,把ifconfig 的語(yǔ)名寫(xiě)入/etc/rc.d/rc.local文件中;
ifconfig 配置網(wǎng)絡(luò)端口的方法:
ifconfig 工具配置網(wǎng)絡(luò)接口的方法是通過(guò)指令的參數(shù)來(lái)達(dá)到目的的,我們只說(shuō)最常用的參數(shù);
ifconfig 網(wǎng)卡 IP地址 hw class MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up/down]
* 實(shí)例一:
比如我們用ifconfig 來(lái)調(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
注解: 上面的例子我們解說(shuō)一下;
第一行:ifconfig eth0 [inet] down 表示如果eth0是激活的,就把它DOWN掉。此命令等同于 ifdown eth0;
第二行:用ifconfig 來(lái)配置 eth0的IP地址、廣播地址和網(wǎng)絡(luò)掩碼;
第三行:用ifconfig eth0 [inet] up 來(lái)激活eth0 ; 此命令等同于 ifup eth0
第四行:用 ifconfig eth0 來(lái)查看 eth0的狀態(tài);
當(dāng)然您也可以用直接在指令I(lǐng)P地址、網(wǎng)絡(luò)掩碼、廣播地址的同時(shí),激活網(wǎng)卡;要加up參數(shù);比如下面的例子;
[root@linuxchao ~]#ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 inet up
上面的四個(gè)部分(蘋(píng)果色背景和下劃線部分)可以打亂順序,且inet為缺省,故可不寫(xiě)。
* 實(shí)例二:在這個(gè)例子中,我們要學(xué)會(huì)設(shè)置網(wǎng)絡(luò)IP地址的同時(shí),學(xué)會(huì)設(shè)置網(wǎng)卡的物理地址(MAC地址);
比如我們?cè)O(shè)置網(wǎng)卡eth2的IP地址、網(wǎng)絡(luò)掩碼、廣播地址,物理地址并且激活它;
[root@linuxchao ~]#ifconfig eth2 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 eth2 hw ether 04:64:03:00:12:51
[root@linuxchao ~]#ifconfig eth2 192.168.1.252 netmask 255.255.255.0 broadcast 192.168.1.255 up
其中 hw 后面所接的是網(wǎng)絡(luò)接口類(lèi)型, ether表示乙太網(wǎng), 同時(shí)也支持 ax25 、ARCnet、netrom等,詳情請(qǐng)查看 man ifconfig ;
3.如何用ifconfig 來(lái)配置虛擬網(wǎng)絡(luò)接口
有時(shí)我們?yōu)榱藵M(mǎn)足不同的需要還需要配置虛擬網(wǎng)絡(luò)接口,比如我們用不同的IP地址來(lái)架運(yùn)行多個(gè)HTTPD服務(wù)器,就要用到虛擬地址;這樣就省卻了同一個(gè)IP地址,如果開(kāi)設(shè)兩個(gè)的HTTPD服務(wù)器時(shí),要指定端口號(hào)。
虛擬網(wǎng)絡(luò)接口指的是為一個(gè)網(wǎng)絡(luò)接口指定多個(gè)IP地址,虛擬接口是這樣的 eth0:0 、 eth0:1、eth0:2 ... .. eth2N。當(dāng)然您為eth2 指定多個(gè)IP地址,也就是 eth2:0、eth2:1、eth2:2 ... ...以此類(lèi)推;
其實(shí)用ifconfig 為一個(gè)網(wǎng)卡配置多個(gè)IP地址,就用前面我們所說(shuō)的ifconfig的用法,這個(gè)比較簡(jiǎn)單;看下面的例子;
[root@linuxchao ~]#ifconfig eth2: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 eth2 hw ether 04:64:03:00:12:51
[root@linuxchao ~]#ifconfig eth2 192.168.1.251 netmask 255.255.255.0 broadcast 192.168.1.255 up
注意:指定時(shí),要為每個(gè)虛擬網(wǎng)卡指定不同的物理地址;
在 Redhat/Fedora 或與Redhat/Fedora類(lèi)似的系統(tǒng),您可以把配置網(wǎng)絡(luò)IP地址、廣播地址、掩碼地址、物理地址以及激活網(wǎng)絡(luò)接口同時(shí)放在一個(gè)句子中,寫(xiě)入/etc/rc.d/rc.local中。比如下面的例子;
ifconfig eth2: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 eth2:1 192.168.1.249 hw ether 00:11:00:33:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up
解說(shuō):上面是為eth2的網(wǎng)絡(luò)接口,設(shè)置了兩個(gè)虛擬接口;每個(gè)接口都有自己的物理地址、IP地址... ...
4.如何用ifconfig 來(lái)激活和終止網(wǎng)絡(luò)接口的連接
激活和終止網(wǎng)絡(luò)接口的用 ifconfig 命令,后面接網(wǎng)絡(luò)接口,然后加上 down或up參數(shù),就可以禁止或激活相應(yīng)的網(wǎng)絡(luò)接口了。當(dāng)然也可以用專(zhuān)用工具ifup和ifdown 工具;
[root@linuxchao ~]#ifconfig eth0 down
[root@linuxchao ~]#ifconfig eth0 up
[root@linuxchao ~]#ifup eth0
[root@linuxchao ~]#ifdown eth0
對(duì)于激活其它類(lèi)型的網(wǎng)絡(luò)接口也是如此,比如 ppp0,wlan0等;不過(guò)只是對(duì)指定IP的網(wǎng)卡有效。
注意:對(duì)DHCP自動(dòng)分配的IP,還得由各個(gè)發(fā)行版自帶的網(wǎng)絡(luò)工具來(lái)激活;當(dāng)然得安裝dhcp客戶(hù)端;這個(gè)您我們應(yīng)該明白;
比如Redhat/Fedora
[root@linuxchao ~]#/etc/init.d/network start
Slackware 發(fā)行版;
[root@linuxchao ~]#/etc/rc.d/rc.inet1
debian下有dhcpcd、dhcp3-client(dhclient)和另一個(gè)軟件包,只需用一款。詳見(jiàn)官方主頁(yè)關(guān)于“debian 配置網(wǎng)絡(luò)”部分。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。