十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
ifconfig
創(chuàng)新互聯(lián)公司專注于閩清網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供閩清營銷型網(wǎng)站建設(shè),閩清網(wǎng)站制作、閩清網(wǎng)頁設(shè)計、閩清網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造閩清網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供閩清網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
無論是Linux自動安裝還是我們手工安裝,Linux都會向你詢問有關(guān)網(wǎng)絡(luò)的問題并配置相關(guān)的軟件。這個用于配置網(wǎng)卡的基本命令就是ifconfig。
在執(zhí)行ifconfig命令后,系統(tǒng)將在內(nèi)核表中設(shè)置必要的參數(shù),這樣Linux就知道如何與網(wǎng)絡(luò)上的網(wǎng)卡通信。ifconfig命令有以下兩種格式:
※ifconfig [interface]
※ifconfig interface [aftype] option | address …
ifconfig的第一種格式(或使用不帶任何參數(shù)的ifconfig命令)可以用來查看當(dāng)前系統(tǒng)的網(wǎng)絡(luò)配置情況。
在剛剛安裝完系統(tǒng)之后,實際上是在沒有網(wǎng)卡或者網(wǎng)絡(luò)連接的情況下使用Linux,但通過ifconfig可以使用回繞方式工作,使計算機認(rèn)為自己工作在網(wǎng)絡(luò)上。
現(xiàn)在我們運行一下ifconfig命令,不帶參數(shù)的ifconfig命令可以顯示當(dāng)前啟動的網(wǎng)絡(luò)接口,其輸出結(jié)果為:
-----------------------------------------------------------
[root@machine1 /sbin]#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.1 Mask: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為首的部分是本機的以太網(wǎng)卡配置參數(shù),這里顯示了網(wǎng)卡在下的設(shè)備名/dev/eth0和硬件的MAC地址52:54:AB:DD:6F:61,MAC地址是生產(chǎn)廠家定的,每個網(wǎng)卡擁有的唯一地址。
不過我們可以手工改動網(wǎng)卡的MAC地址,只要我們在/etc/rc.d/init.d/中的network中加入:
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
然后重啟,此時再用ifconfig命令查看一下,我們就會發(fā)現(xiàn)網(wǎng)卡的MAC地址已經(jīng)變成xx:xx:xx:xx:xx:xx了。
下一行顯示本機的IP地址信息,分別是本機的IP地址,網(wǎng)絡(luò)廣播地址和子網(wǎng)掩碼。必須確認(rèn)這些信息都是正確無誤的,否則Linux服務(wù)器無法與其它網(wǎng)絡(luò)設(shè)備建立連接。我們也可以手工實現(xiàn)IP與Mac地址的捆綁,命令是
arp -i eth0 -s xxx.xxx.xxx.xxx(IP) xx.xx.xx.xx.xx(MAC)
接下來顯示的是設(shè)備的網(wǎng)絡(luò)狀態(tài)。MTU(最大傳輸單元)和Metric(度量值)字段顯示的是該接口當(dāng)前的M T U和度量值的值。按照慣例,度量值供某些操作系統(tǒng)所用,用于計算一條路由的成本。
再下來顯示接口通信的網(wǎng)絡(luò)統(tǒng)計值。RX和TX分別表示接收和傳送的數(shù)據(jù)包。如果你的網(wǎng)卡已經(jīng)完成配置卻還是無法與其它設(shè)備通信,那么從RX和TX的顯示數(shù)據(jù)上可以簡單地分析一下故障原因。在這種情況下,如果你看到接收和傳送的包的計數(shù)(packets)增加,那有可能是系統(tǒng)的IP地址出現(xiàn)了混亂;如果你看到大量的錯誤(errors)和沖突(Collisions),那么這很有可能是網(wǎng)絡(luò)的傳輸介質(zhì)出了問題,例如網(wǎng)線不通或hub損壞。
再下面的Interrupt:5 Base address:0xece0顯示的是網(wǎng)卡的中斷調(diào)用號和端口號,這是兩個非常重要的硬件配置信息。如果您的網(wǎng)卡是PCI的,那么Linux在引導(dǎo)時有可能會自動配置這些信息(也很有可能會讓您手工配置)但目前絕大多數(shù)網(wǎng)卡都是PnP的,這就需要我們進(jìn)行手工配置了。如果您的網(wǎng)卡還沒有配置好,那么運行:
[root@machine1 /sbin]#ifconfig
系統(tǒng)只會輸出以lo為首的部分。lo是look-back網(wǎng)絡(luò)接口,從IP地址127.0.0.1就可以看出,它代表"本機"。無論系統(tǒng)是否接入網(wǎng)絡(luò),這個設(shè)備總是存在的,除非你在內(nèi)核編譯的時候禁止了網(wǎng)絡(luò)支持,這是一個稱為回送設(shè)備的特殊設(shè)備,它自動由Linux配置以提供網(wǎng)絡(luò)的自身連接。IP地址127.0.0.1是一個特殊的回送地址(即默認(rèn)的本機地址),您可以在自己的系統(tǒng)上用telnet對IP地址127.0.0.1進(jìn)行測試。如果有inetd進(jìn)程在運行的話您會從自己的機器上獲得登錄提示符。Linux可以利用這個特征在進(jìn)程與仿真網(wǎng)絡(luò)之間進(jìn)行通信。(您有興趣的話還可以試試本機的實際IP地址,如這里的機器就是210.34.6.89,或者試試"localhost",或者"127.0.0.1",同樣可以模擬網(wǎng)絡(luò)通信。這可是Linux一個非常突出的優(yōu)點?。?/p>
如果你只是關(guān)心某個設(shè)備是否正常,可以在ifconfig后面加上接口名字:
[root@machine1 /sbin]# ifconfig eth0
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:50568 errors:0 dropped:0 overruns:0 frame:198
TX packets:3200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xece0
表示eth0設(shè)備已經(jīng)正常工作。
有時需要為某個設(shè)備接口配置多個IP地址,辦法是使用設(shè)備別名,例如,eth0設(shè)備可以有eth0,eth0:0,eth0:1....多個別名,每個都可以有一個獨立的IP地址:
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
ifconfig eth0:0 210.34.6.88 netmask 255.255.255.128 broadcast 210.34.6.127
這樣,210.34.6.89和210.34.6.88都會被綁定在eth0設(shè)備上,使用同樣的網(wǎng)絡(luò)設(shè)備,不同的IP地址。
如果你要暫停某個網(wǎng)絡(luò)接口的工作,使用down參數(shù):
ifconfig eth0 down
將取消eth0網(wǎng)絡(luò)接口。與之對應(yīng)的是有一個參數(shù)up,不過由于是缺省值,所以從來不用。
如果我們使用了帶有參數(shù)的ifconfig命令,那就可以手動設(shè)置網(wǎng)卡的配置參數(shù)了。有效的ifconfig命令參數(shù)及其意義為(選項對應(yīng)的特性可以打開也可以取消,只在選項名前加一個破折號(-)即可):
Interface 網(wǎng)絡(luò)設(shè)備名,如eth0就表示本機的第一塊網(wǎng)卡。
up 標(biāo)志接口處于" up"狀態(tài),也就是說, IP層可以對其進(jìn)行訪問。這個選項用于命令行上給出一個地址之時。如果這個接口已被" down"選項臨時性取消的話(與該選項對應(yīng)的標(biāo)記是UP RUNNING),還可以用于重新啟用一個接口。
down 標(biāo)標(biāo)志接口處于" down"狀態(tài),也就是說, IP層不能對其進(jìn)行訪問。這個選項有效地禁止了IP通信流通這個接口。注意,它并沒有自動刪除利用該接口的所有路由信息。如果永久性地取消了一個接口,就應(yīng)該刪除這些路由條目,并在可能的情況下,提供備用路由。
netmask 標(biāo)分配子網(wǎng)掩碼,供接口所用。要么給一個前面是0x的32位十六進(jìn)制號碼,要么采用只適用于兩臺主機所用的點分四段式號碼。對SLIP和PLIP接口來說,這個選項是必須配置的。
address 設(shè)置指定接口設(shè)備的IP地址。
dstaddr adderss 為PPP設(shè)置遠(yuǎn)程IP地址,此關(guān)鍵字可用pointopoint代替。
irqaddress 設(shè)置指定接口設(shè)備使用的中斷行。
pointtopoint address 該選項用于只涉及兩臺主機的點到點鏈接。對SLIP和PLIP接口來說,這個選項是必須配置的(如果已經(jīng)設(shè)置了一個點到點地址,ifconfig就會顯示出POINTTPOINT標(biāo)記)。
broadcast address 廣播地址通常源于網(wǎng)絡(luò)編號,通過設(shè)置主機部分的所有位得來。有的I P采用的方案有所不同:這個選項可適用于某些奇怪的環(huán)境(如果已經(jīng)設(shè)置了廣播地址, ifconfig就會顯示出一個BROADCAST標(biāo)記)。
hw class addr 設(shè)置指定接口設(shè)備的MAC地址,關(guān)鍵字的后面必須跟硬件名或者與之等價的ASCII碼。目前支持的硬件類有ether, ax25, ARCnet和 netrom。
metric number 該選項可用于為接口創(chuàng)建的路由表分配度量值。路由信息協(xié)議( RIP)利用度量值來構(gòu)建網(wǎng)絡(luò)路由表。ifconfig所用的默認(rèn)度量值是0。如果不運行RIP程序,就沒必要采用這個選項。如果要運行RIP程序,就盡量不要改變這個默認(rèn)的度量值。
mtu bytes 該選項用于設(shè)置最大傳輸單元,也就是接口一次能處理的最大字節(jié)數(shù)。對以太網(wǎng)接口來說, MTU的默認(rèn)設(shè)置是1500 個字節(jié);對SLIP接口來說,則是296個字節(jié)。
arp 標(biāo)這個選項專用于以太網(wǎng)或包廣播之類的廣播網(wǎng)絡(luò)。它啟用ARP(地址解析協(xié)議)來保護網(wǎng)絡(luò)上各臺主機的物理地址。對廣播網(wǎng)來說,默認(rèn)設(shè)置是" on"(開)。
promisc 將接口置入promiscuous(混亂)模式。廣播網(wǎng)中,這樣將導(dǎo)致該接口接收所有的數(shù)據(jù)包,不管其目標(biāo)是不是另一臺主機。該選項允許利用包過濾器和所謂的以太網(wǎng)窺視技術(shù),對網(wǎng)絡(luò)通信進(jìn)行分析。通常情況下,這對揪出網(wǎng)絡(luò)故障的元兇來說,是相當(dāng)有用的。但另一方面,如果有人蓄意攻擊你的網(wǎng)絡(luò),也可瀏覽到s通信數(shù)據(jù),進(jìn)而獲得密碼,破壞你的網(wǎng)絡(luò)。一項重要的保證措施是杜絕任何人將他們的計算機接入你的以太網(wǎng)。另一個選項用于保護某些身份驗證協(xié)議的安全,比如Kerberos或SRA登錄套件(該選項對應(yīng)的標(biāo)記是PROMISC)。
traIlers 開或關(guān)閉跟蹤器。目前在某些Linux系統(tǒng)中還無法實現(xiàn)此功能。
allmulti 多播地址即是向不在同一個子網(wǎng)上的一組主機廣播數(shù)據(jù)。多播地址尚未獲得內(nèi)核支持(該選項對應(yīng)的標(biāo)記是ALLMULTI)
txqueuelen len 設(shè)置指定接口設(shè)備的發(fā)送隊列長度。
由此可以看出有大量的參數(shù)可用于配置網(wǎng)卡,下面是在這臺計算機上使用ifconfig命令的實例:
------------------------------------------------------------------------------
ifconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
------------------------------------------------------------------------------
該命令的作用是設(shè)置網(wǎng)卡eth0的IP地址,網(wǎng)絡(luò)掩碼和網(wǎng)絡(luò)的本地廣播地址。同樣的方式可以用來配置eth1,eth2等等,通常netmask和broadcast只要設(shè)置一個就可以了。
這就要有PIM(Protocol Independent Multicast,協(xié)議無關(guān)組播組)協(xié)議的支持,就必須在Linux環(huán)境下安裝Pimd軟件協(xié)議包。 安裝補丁文件 安裝Pimd軟件協(xié)議包需要兩個補丁文件:pimkern-freebsd-4.6.patch和netstat-freebsd-4.6.patch。安裝步驟如下: 首先將兩個補丁文件拷貝到/usr/src/目錄下,并執(zhí)行以下命令:#patch -p2 netstat-freebsd-4.6.patch #patch -p2 pimkern-freebsd-4.6.patch 執(zhí)行以下命令,編譯并安裝netstat:#cd /usr/src/usr.bin/netstat #make #make install 重新編譯內(nèi)核 執(zhí)行以下命令,修改multi配置文件:#cd /usr/src/sys/i386/conf/ #cp GENRIC multi #vi multi 在multi配置文件中,加入下列兩行代碼:options MROUTING options PIM 保存并退出vi編輯器。 在當(dāng)前multi配置文件所在的目錄執(zhí)行以下命令:#config multi #cd /usr/src/sys/compile/multi/ #make depend #make #make install 至此,新內(nèi)核編譯完畢。 備份Kernel文件 新內(nèi)核編譯完畢后,在重新啟動前,要先將根目錄下原有的Kernel文件進(jìn)行備份。#cd / #mv kernel kernel.old 若提示“operation not permitted”,則需要先執(zhí)行以下命令:#chflags noschg /kernel 備份Kernel文件后執(zhí)行以下命令:#cp /usr/src/sys/compile/multi/kernel /kernel 在系統(tǒng)重新啟動后,默認(rèn)選擇的便是新編譯的內(nèi)核。 安裝Pimd軟件協(xié)議包 Linux下Pimd軟件協(xié)議包代碼的起源有兩個地方,一個是日本的KAME項目組,另一個是南加州大學(xué)信息科學(xué)學(xué)院。到這兩個組織的主頁上都可以下載所需要的pimd-current.tar.gz 協(xié)議包和上面提到的兩個補丁。 用以下命令解壓縮 pimd-current.tar.gz 軟件包,并安裝:#tar zxf pimd-current.tar.gz #cd pimd-2.1.0-alpha29.16 #make #make install 以上命令執(zhí)行過程中可能會出現(xiàn)錯誤,需要手工將其完成,拷貝當(dāng)前目錄下的pimd文件:#cp pimd /usr/local/bin/ #chmod 755 pimd #cp pimd.conf /etc/ 至此,Pimd軟件協(xié)議包安裝完畢。還需要打開Linux系統(tǒng)的路由轉(zhuǎn)發(fā)功能,才能實現(xiàn)組播包的轉(zhuǎn)發(fā),即在配置文件rc.conf中增加以下代碼,重啟后生效。作者:龍宇翔 苑慶國
netstat命令是一個監(jiān)控TCP/IP網(wǎng)絡(luò)的非常有用的工具,它可以顯示路由表、實際的網(wǎng)絡(luò)連接以及每一個網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息。