第六章 linux網(wǎng)絡(luò)基礎(chǔ)_第1頁(yè)
第六章 linux網(wǎng)絡(luò)基礎(chǔ)_第2頁(yè)
第六章 linux網(wǎng)絡(luò)基礎(chǔ)_第3頁(yè)
第六章 linux網(wǎng)絡(luò)基礎(chǔ)_第4頁(yè)
第六章 linux網(wǎng)絡(luò)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE131Linux網(wǎng)絡(luò)基礎(chǔ)6.1Linux網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn)Linux在服務(wù)器領(lǐng)域已經(jīng)非常成熟,其影響力日趨增大。Linux的網(wǎng)絡(luò)服務(wù)功能非常強(qiáng)大,但是由于Linux的桌面應(yīng)用和Windows相比還有一定差距,除了一些Linux專(zhuān)門(mén)實(shí)驗(yàn)室之外,大多數(shù)企業(yè)在應(yīng)用Linux系統(tǒng)時(shí),往往是Linux和Windows(或UNIX)等操作系統(tǒng)共存形成的異構(gòu)網(wǎng)絡(luò)。

在一個(gè)網(wǎng)絡(luò)系統(tǒng)中,操作系統(tǒng)的地位是非常重要的。Linux網(wǎng)絡(luò)操作系統(tǒng)以高效性和靈活性而著稱(chēng)。它能夠在PC上實(shí)現(xiàn)全部的UNIX特性,具有多任務(wù)、多用戶(hù)的特點(diǎn)。Linux的組網(wǎng)能力非常強(qiáng)大,它的TCP/IP代碼是最高級(jí)的。Linux不僅提供了對(duì)當(dāng)前的TCP/IP協(xié)議的完全支持,也包括了對(duì)下一代Internet協(xié)議IPv6的支持。Linux內(nèi)核還包括了IP防火墻代碼、IP防偽、IP服務(wù)質(zhì)量控制及許多安全特性。Linux的網(wǎng)絡(luò)實(shí)現(xiàn)是模仿FreeBSD的,它支持FreeBSD的帶有擴(kuò)展的Sockets(套接字)和TCP/IP協(xié)議。它支持兩個(gè)主機(jī)間的網(wǎng)絡(luò)連接和Sockets通信模型,實(shí)現(xiàn)了兩種類(lèi)型的Sockets:BSDSockets和INETSockets。它為不同的通信模型提供了兩種傳輸協(xié)議,即不可靠的、基于消息的UDP傳輸協(xié)議和可靠的、基于流的TCP傳輸協(xié)議,并且都是在IP網(wǎng)際協(xié)議上實(shí)現(xiàn)的。INETSockets是在以上兩個(gè)協(xié)議及IP網(wǎng)際協(xié)議之上實(shí)現(xiàn)的。掌握OSI網(wǎng)絡(luò)模型、TCP/IP模型及相關(guān)服務(wù)對(duì)應(yīng)的層次對(duì)于理解Linux網(wǎng)絡(luò)服務(wù)器是非常重要的。TCP/IP四層模型和OSI七層模型表6-1是TCP/IP四層模型和OSI七層模型對(duì)應(yīng)表。我們把OSI七層網(wǎng)絡(luò)模型和LinuxTCP/IP四層概念模型對(duì)應(yīng),然后將各種網(wǎng)絡(luò)協(xié)議歸類(lèi)。

表6-1

TCP/IP四層模型和OSI七層模型對(duì)應(yīng)表OSI七層網(wǎng)絡(luò)模型LinuxTCP/IP四層概念模型對(duì)應(yīng)網(wǎng)絡(luò)協(xié)議應(yīng)用層應(yīng)用層TFTP,FTP,NFS,WAIS表示層Telnet,Rlogin,SNMP,Gopher會(huì)話(huà)層SMTP,DNS傳輸層傳輸層TCP,UDP網(wǎng)絡(luò)層網(wǎng)際層IP,ICMP,ARP,RARP,AKP,UUCP數(shù)據(jù)鏈路層網(wǎng)絡(luò)接口層FDDI,Ethernet,Arpanet,PDN,SLIP,PPP物理層IEEE802.1A,IEEE802.2到網(wǎng)絡(luò)接口網(wǎng)絡(luò)接口把數(shù)據(jù)鏈路層和物理層放在一起,對(duì)應(yīng)TCP/IP概念模型的網(wǎng)絡(luò)接口。對(duì)應(yīng)的網(wǎng)絡(luò)協(xié)議主要是:Ethernet、FDDI和能傳輸IP數(shù)據(jù)包的任何協(xié)議。

2.網(wǎng)際層網(wǎng)絡(luò)層對(duì)應(yīng)LinuxTCP/IP概念模型的網(wǎng)際層,網(wǎng)絡(luò)層協(xié)議管理離散的計(jì)算機(jī)間的數(shù)據(jù)傳輸,如IP協(xié)議為用戶(hù)和遠(yuǎn)程計(jì)算機(jī)提供了信息包的傳輸方法,確保信息包能正確地到達(dá)目的機(jī)器。這一過(guò)程中,IP和其他網(wǎng)絡(luò)層的協(xié)議共同用于數(shù)據(jù)傳輸,如果沒(méi)有使用一些監(jiān)視系統(tǒng)進(jìn)程的工具,用戶(hù)是看不到在系統(tǒng)里的IP的。網(wǎng)絡(luò)嗅探器Sniffers是能看到這些過(guò)程的一個(gè)裝置(它可以是軟件,也可以是硬件),它能讀取通過(guò)網(wǎng)絡(luò)發(fā)送的每一個(gè)包,即能讀取發(fā)生在網(wǎng)絡(luò)層協(xié)議的任何活動(dòng),因此網(wǎng)絡(luò)嗅探器Sniffers會(huì)對(duì)安全造成威脅。重要的網(wǎng)絡(luò)層協(xié)議包括ARP(地址解析協(xié)議)、ICMP(Internet控制消息協(xié)議)和IP協(xié)議(網(wǎng)際協(xié)議)等。

3.傳輸層傳輸層對(duì)應(yīng)LinuxTCP/IP概念模型的傳輸層。傳輸層提供應(yīng)用程序間的通信。其功能包括:格式化信息流;提供可靠傳輸。為實(shí)現(xiàn)后者,傳輸層協(xié)議規(guī)定接收端必須發(fā)回確認(rèn)信息,如果分組丟失,必須重新發(fā)送。傳輸層包括TCP(TransmissionControlProtocol,傳輸控制協(xié)議)和UDP(UserDatagramProtocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議),它們是傳輸層中最主要的協(xié)議。TCP建立在IP之上,定義了網(wǎng)絡(luò)上程序到程序的數(shù)據(jù)傳輸格式和規(guī)則,提供了IP數(shù)據(jù)包的傳輸確認(rèn)、丟失數(shù)據(jù)包的重新請(qǐng)求、將收到的數(shù)據(jù)包按照它們的發(fā)送次序重新裝配的機(jī)制。TCP協(xié)議是面向連接的協(xié)議,類(lèi)似于打電話(huà),在開(kāi)始傳輸數(shù)據(jù)之前,必須先建立明確的連接。UDP也建立在IP之上,但它是一種無(wú)連接協(xié)議,兩臺(tái)計(jì)算機(jī)之間的傳輸類(lèi)似于傳遞郵件:消息從一臺(tái)計(jì)算機(jī)發(fā)送到另一臺(tái)計(jì)算機(jī),兩者之間沒(méi)有明確的連接。UDP不保證數(shù)據(jù)的傳輸,也不提供重新排列次序或重新請(qǐng)求的功能,所以說(shuō)它是不可靠的。雖然UDP的不可靠性限制了它的應(yīng)用場(chǎng)合,但它比TCP具有更好的傳輸效率。

4.應(yīng)用層應(yīng)用層、表示層和會(huì)話(huà)層對(duì)應(yīng)LinuxTCP/IP概念模型中的應(yīng)用層。應(yīng)用層位于協(xié)議棧的頂端,它的主要任務(wù)是應(yīng)用。一般是可見(jiàn)的,如利用FTP(文件傳輸協(xié)議)傳輸一個(gè)文件,請(qǐng)求一個(gè)和目標(biāo)計(jì)算機(jī)的連接,在傳輸文件的過(guò)程中,用戶(hù)和遠(yuǎn)程計(jì)算機(jī)交換的一部分是能看到的。常見(jiàn)的應(yīng)用層協(xié)議有:HTTP,F(xiàn)TP,Telnet,SMTP和Gopher等。應(yīng)用層是Linux網(wǎng)絡(luò)設(shè)定最關(guān)鍵的一層。Linux服務(wù)器的配置文檔主要針對(duì)應(yīng)用層中的協(xié)議。TCP/IP模型各個(gè)層次的功能和協(xié)議如表6-2所示。

表6-2

TCP/IP模型各個(gè)層次的功能和協(xié)議層次名稱(chēng)功能協(xié)議網(wǎng)絡(luò)接口負(fù)責(zé)實(shí)際數(shù)據(jù)的傳輸,對(duì)應(yīng)OSI參考模型的下兩層HDLC(高級(jí)鏈路控制協(xié)議)PPP(點(diǎn)對(duì)點(diǎn)協(xié)議)SLIP(串行線(xiàn)路接口協(xié)議)網(wǎng)際層負(fù)責(zé)網(wǎng)絡(luò)間的尋址、數(shù)據(jù)傳輸,對(duì)應(yīng)OSI參考模型的第三層IP(網(wǎng)際協(xié)議)ICMP(網(wǎng)際控制消息協(xié)議)ARP(地址解析協(xié)議)RARP(反向地址解析協(xié)議)傳輸層負(fù)責(zé)提供可靠的傳輸服務(wù),對(duì)應(yīng)OSI參考模型的第四層TCP(控制傳輸協(xié)議)UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)應(yīng)用層負(fù)責(zé)實(shí)現(xiàn)一切與應(yīng)用程序相關(guān)的功能,對(duì)應(yīng)OSI參考模型的上三層FTP(文件傳輸協(xié)議)HTTP(超文本傳輸協(xié)議)DNS(域名服務(wù)器協(xié)議)SMTP(簡(jiǎn)單郵件傳輸協(xié)議)NFS(網(wǎng)絡(luò)文件系統(tǒng)協(xié)議)6.3 TCP/IP提供的主要用戶(hù)應(yīng)用程序

1.Telnet程序Telnet程序提供遠(yuǎn)程登錄功能。

2.文件傳輸協(xié)議

文件傳輸協(xié)議(FTP)允許用戶(hù)將一個(gè)系統(tǒng)上的文件復(fù)制到另一個(gè)系統(tǒng)上。

3.簡(jiǎn)單郵件傳輸協(xié)議簡(jiǎn)單郵件傳輸協(xié)議(SMTP)用于傳輸電子郵件。

4.Kerberos協(xié)議

Kerberos是一個(gè)受到廣泛支持的安全性協(xié)議。

5.域名服務(wù)器協(xié)議 域名服務(wù)器協(xié)議(DNS)能使一臺(tái)設(shè)備具有的普通名字轉(zhuǎn)換成某個(gè)特定的網(wǎng)絡(luò)地址。

6.簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)把用戶(hù)數(shù)據(jù)報(bào)協(xié)議(UDP)作為傳輸機(jī)制,它使用和TCP/IP不同的術(shù)語(yǔ),TCP/IP用客戶(hù)端和服務(wù)器,而SNMP用管理器(Manager)和代理(Agent),代理提供設(shè)備信息,而管理器管理網(wǎng)絡(luò)通信。

7.網(wǎng)絡(luò)文件系統(tǒng)協(xié)議 網(wǎng)絡(luò)文件系統(tǒng)協(xié)議(NFS)是由SUNMicrosystems公司開(kāi)發(fā)的一套協(xié)議,可使多臺(tái)計(jì)算機(jī)能透明地訪(fǎng)問(wèn)彼此的目錄。

8.遠(yuǎn)程過(guò)程調(diào)用 遠(yuǎn)程過(guò)程調(diào)用(RPC)是使應(yīng)用軟件能與另一臺(tái)計(jì)算機(jī)(服務(wù)器)通信的一些函數(shù)。

9.普通文件傳輸協(xié)議 普通文件傳輸協(xié)議(TFTP)是一種缺乏任何安全性的、非常簡(jiǎn)單落后的文件傳輸協(xié)議。

10.傳輸控制協(xié)議

傳輸控制協(xié)議(TCP/IP中的TCP部分)是一種數(shù)據(jù)可靠傳輸?shù)耐ㄐ艆f(xié)議。

11.網(wǎng)際協(xié)議

網(wǎng)際協(xié)議(IP)負(fù)責(zé)在網(wǎng)絡(luò)上傳輸由TCP/UDP裝配的數(shù)據(jù)包。

12.網(wǎng)際控制消息協(xié)議 網(wǎng)際控制消息協(xié)議負(fù)責(zé)根據(jù)網(wǎng)絡(luò)上設(shè)備的狀態(tài)發(fā)出和檢查消息,它可以將某臺(tái)設(shè)備的故障通知到其他設(shè)備。端口號(hào)分配TCP和UDP采用16b的端口號(hào)來(lái)識(shí)別應(yīng)用程序。那么這些端口號(hào)是如何選擇的呢?服務(wù)器一般都是通過(guò)知名端口號(hào)來(lái)識(shí)別的。例如,對(duì)于TCP/IP實(shí)現(xiàn)來(lái)說(shuō),每個(gè)FTP服務(wù)器的TCP端口號(hào)都是21,每個(gè)Telnet服務(wù)器的TCP端口號(hào)都是23,每個(gè)TFTP(普通文件傳輸協(xié)議)服務(wù)器的UDP端口號(hào)都是69。任何TCP/IP實(shí)現(xiàn)所提供的服務(wù)都用知名的1~1023之間的端口號(hào)。這些知名端口號(hào)由Internet號(hào)分配機(jī)構(gòu)(InternetAssignedNumbersAuthority,IANA)來(lái)管理。到1992年為止,知名端口號(hào)介于1~255之間。256~1023之間的端口號(hào)通常都是由UNIX系統(tǒng)占用,以提供一些特定的UNIX服務(wù),也就是說(shuō),提供一些只有UNIX系統(tǒng)才有的,而其他操作系統(tǒng)可能不提供的服務(wù)?,F(xiàn)在IANA管理1~1023之間所有的端口號(hào)。Internet擴(kuò)展服務(wù)與UNIX特定服務(wù)之間的一個(gè)差別就是telnet和rlogin,它們二者都允許通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)登錄到其他主機(jī)上。telnet是采用端口號(hào)為23的TCP/IP標(biāo)準(zhǔn),且?guī)缀蹩梢栽谒胁僮飨到y(tǒng)上進(jìn)行實(shí)現(xiàn)。相反,rlogin最開(kāi)始時(shí)只是為UNIX系統(tǒng)設(shè)計(jì)的(盡管許多非UNIX系統(tǒng)現(xiàn)在也提供該服務(wù)),因此在20世紀(jì)80年代初,它的端口號(hào)為513,客戶(hù)端通常對(duì)它所使用的端口號(hào)并不關(guān)心,只須保證該端口號(hào)在本機(jī)上是唯一的即可??蛻?hù)端口號(hào)又稱(chēng)做臨時(shí)端口號(hào)(即存在時(shí)間很短暫),這是因?yàn)樗ǔV皇窃谟脩?hù)運(yùn)行該客戶(hù)程序時(shí)才存在,而服務(wù)器則只要主機(jī)開(kāi)著,其服務(wù)就運(yùn)行。大多數(shù)TCP/IP實(shí)現(xiàn)給臨時(shí)端口分配1024~5000之間的端口號(hào)。大于5000的端口號(hào)是為其他服務(wù)器預(yù)留的(Internet上并不常用的服務(wù))。我們可以在后面看見(jiàn)許多給臨時(shí)端口分配端口號(hào)的例子。大多數(shù)Linux系統(tǒng)的文件/etc/services都包含了人們熟知的端口號(hào)。為了找到telnet服務(wù),可以運(yùn)行以下語(yǔ)句:“greptelnet/etc/services”。表1-3是一些常用TCP服務(wù)和端口。

表6-3

常用TCP服務(wù)和端口TCP端口服務(wù)名功能7echoecho字符(用于測(cè)試)9discard丟棄字符串(用于測(cè)試)13daytime日期服務(wù)19chargen字符生成器21ftp文件傳輸協(xié)議(FTP)22ssh安全shell23telnet遠(yuǎn)程登錄25smtp電子郵件37time時(shí)間服務(wù)42nameserveTCP名字服務(wù)43whoisNICwhois服務(wù)53domain域名服務(wù)(DNS)79finger用戶(hù)信息80httpWWW(萬(wàn)維網(wǎng))110pop3郵局協(xié)議3(POP3)111sunrpcSUN的遠(yuǎn)程過(guò)程調(diào)用(RPC)113auth遠(yuǎn)程用戶(hù)名認(rèn)證服務(wù)119nntp網(wǎng)絡(luò)新聞傳輸協(xié)議(NNTP143imap交互式郵件訪(fǎng)問(wèn)協(xié)議443https用SSL加密的HTTP512exec在遠(yuǎn)程UNIX主機(jī)上執(zhí)行命令513login登錄到遠(yuǎn)程UNIX主機(jī)(rlogin)514shell從遠(yuǎn)程UNIX主機(jī)獲得shell(rsh)515printer遠(yuǎn)程打印1080socksSOCKS應(yīng)用代理服務(wù)2049NFSTCP之上的NFS(NFSoverTCP)6000~6001XXWindow系統(tǒng)UDP為運(yùn)行于同一臺(tái)或不同機(jī)器之上的兩個(gè)或多個(gè)程序之間傳輸數(shù)據(jù)包提供了簡(jiǎn)單的、不可靠的連接?!安豢煽俊币馕吨僮飨到y(tǒng)不保證每個(gè)發(fā)出的包都能到達(dá),也不保證包能夠按序到達(dá)。不過(guò)UDP是盡力傳輸?shù)?,在LAN中UDP通常能達(dá)到100%的可靠性。UDP的優(yōu)點(diǎn)在于它比TCP的開(kāi)銷(xiāo)少,較少的開(kāi)銷(xiāo)使得基于UDP的服務(wù)可以用TCP10倍的吞吐量傳輸數(shù)據(jù)。UDP主要用于SUN的NFS、NIS、主機(jī)名解析和傳輸路由信息。對(duì)于有些服務(wù)而言,偶然丟失一個(gè)包并不會(huì)帶來(lái)太大的負(fù)面影響,因?yàn)樗鼈儠?huì)周期性地請(qǐng)求一個(gè)新包,或者那些包本身并不是很重要。這些服務(wù)包括who、talk和一些時(shí)間服務(wù)。表6-4是一些常用UDP服務(wù)和端口。

表6-4

常見(jiàn)UDP服務(wù)和端口UDP端口服務(wù)名功能7echo在另一個(gè)數(shù)據(jù)包中返回用戶(hù)的數(shù)據(jù)9discard什么也不做13daytime返回日期19chargen字符生成器37time返回時(shí)間53domain域名服務(wù)(DNS)69tftp普通文件傳輸協(xié)議111sunrpcSUN的遠(yuǎn)程過(guò)程調(diào)用(RPC)123ntp網(wǎng)絡(luò)時(shí)間協(xié)議(NetworkTimeProtocol,NTP)161snmp簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議512biff新郵件提示513who收集關(guān)于用戶(hù)登錄到同一子網(wǎng)的其他機(jī)器的廣播514syslog系統(tǒng)日志工具517talk發(fā)送talk請(qǐng)求518ntalk一個(gè)“新”的talk請(qǐng)求520route路由信息協(xié)議533netwall寫(xiě)每個(gè)用戶(hù)的終端2049NFS網(wǎng)絡(luò)文件系統(tǒng)協(xié)議(NFS)6.5 Linux的TCP/IP網(wǎng)絡(luò)配置Linux從一開(kāi)始就是為網(wǎng)絡(luò)而設(shè)計(jì)的。它內(nèi)置了以前僅在高端企業(yè)產(chǎn)品中才可見(jiàn)到的成熟功能。然而,盡管擁有這些強(qiáng)大的能力,Linux網(wǎng)絡(luò)的配置卻遠(yuǎn)沒(méi)有Windows網(wǎng)絡(luò)的配置復(fù)雜。諸如Webmin、redhat-config-network和YaST允許執(zhí)行圖形化的配置;諸如ifconfig和route允許通過(guò)控制臺(tái)或腳本查看和修改網(wǎng)絡(luò)參數(shù);諸如netstat允許查看單獨(dú)的網(wǎng)絡(luò)連接,并顯示它們與運(yùn)行著的進(jìn)程的關(guān)系。Linux的TCP/IP網(wǎng)絡(luò)配置文件除非另行指定,RedHatLinux系統(tǒng)中大多數(shù)配置文件都在/etc目錄中。配置文件如表1-5所示。

表6-5

配置文件配置文件名稱(chēng)功能/etc/gated.confgated的配置,只能被gated守護(hù)進(jìn)程所使用/etc/gated.versiongated守護(hù)進(jìn)程的版本號(hào)/etc/gateway由routed守護(hù)進(jìn)程可選擇地使用/etc/networks列舉機(jī)器所連接的網(wǎng)絡(luò)中可以訪(fǎng)問(wèn)的網(wǎng)絡(luò)名和網(wǎng)絡(luò)地址。通過(guò)路由命令使用,允許使用網(wǎng)絡(luò)名稱(chēng)/etc/protocols列舉當(dāng)前可用的協(xié)議,請(qǐng)參閱網(wǎng)絡(luò)管理員指南和聯(lián)機(jī)幫助頁(yè)/etc/resolv.conf在程序請(qǐng)求“解析”一個(gè)IP地址時(shí),告訴內(nèi)核應(yīng)該查詢(xún)哪個(gè)名稱(chēng)服務(wù)器/etc/rpc包含RPC指令/規(guī)則,這些指令/規(guī)則可以在NFS調(diào)用、遠(yuǎn)程文件系統(tǒng)安裝等中使用/etc/exports要導(dǎo)出的網(wǎng)絡(luò)文件系統(tǒng)(NFS)和對(duì)它的權(quán)限/etc/services將網(wǎng)絡(luò)服務(wù)名轉(zhuǎn)換為端口號(hào)/協(xié)議,由inetd、telnet、tcpdump和一些其他程序讀取,有一些C訪(fǎng)問(wèn)例程/etc/xinetd.confxinetd的配置文件,請(qǐng)參閱xinetd聯(lián)機(jī)幫助頁(yè)。包含每個(gè)網(wǎng)絡(luò)服務(wù)的條目,inetd必須為這些網(wǎng)絡(luò)服務(wù)控制守護(hù)進(jìn)程或其他服務(wù)。注意,服務(wù)將會(huì)運(yùn)行,但在/etc/services中將它們注釋掉了,這樣即使這些服務(wù)在運(yùn)行也將不可用/etc/hostname該文件包含了系統(tǒng)的主機(jī)名稱(chēng),包括完全的域名,例如/etc/host.conf該文件指定如何解析主機(jī)名。Linux通過(guò)解析器來(lái)獲得主機(jī)名對(duì)應(yīng)的IP地址/etc/sysconfig/network指出NETWORKING=yes或no,由rc.sysinit讀取/etc/sysconfig/network-scripts/if*RedHat網(wǎng)絡(luò)配置腳本/etc/hosts機(jī)器啟動(dòng)時(shí),在查詢(xún)DNS以前,機(jī)器需要查詢(xún)一些主機(jī)名與IP地址的匹配信息,這些匹配信息存放在/etc/hosts文件中。在沒(méi)有域名服務(wù)器情況下,系統(tǒng)上的所有網(wǎng)絡(luò)程序都通過(guò)查詢(xún)?cè)撐募?lái)解析對(duì)應(yīng)于某個(gè)主機(jī)名的IP地址網(wǎng)絡(luò)配置工具在安裝Linux發(fā)行版本時(shí),需要配置網(wǎng)絡(luò)。你或許已經(jīng)有一個(gè)來(lái)自初始配置的活動(dòng)eth0,這個(gè)配置對(duì)于當(dāng)前的使用也許足夠,但是隨著時(shí)間的推移你可能需要做出更改。下面將介紹與IP網(wǎng)絡(luò)相關(guān)的不同配置項(xiàng),以及使用這些配置項(xiàng)的文件和工具。手動(dòng)修改配置文件手動(dòng)配置是最直接的方式,熟練的Linux用戶(hù)在平時(shí)維護(hù)系統(tǒng)的時(shí)候更喜歡使用手工配置,因?yàn)槭止づ渲糜泻芏鄡?yōu)點(diǎn):

①熟悉命令之后,手工配置更快速,并且不需要重新啟動(dòng);

②能夠使用配置命令的高級(jí)特性;

③更容易維護(hù)配置文件,找出系統(tǒng)故障;

④能更深刻地了解系統(tǒng)配置是如何進(jìn)行的。

2.使用Linux命令雖然Linux桌面應(yīng)用發(fā)展很快,但是命令在Linux中依然有很強(qiáng)的生命力。Linux是一個(gè)由命令行組成的操作系統(tǒng),其精髓在于命令行,無(wú)論圖形界面發(fā)展到什么水平這個(gè)原理是不會(huì)變的。Linux網(wǎng)絡(luò)設(shè)備操作命令包括ifconfig,ip,ping,netstat,route,ip,arp,hostname和arpwatch。

3.WebminWebmin在Networking下的NetworkConfiguration中提供了一組網(wǎng)絡(luò)配置工具。你可以配置單獨(dú)的接口,并調(diào)整它們的當(dāng)前設(shè)置或已保存的設(shè)置。還可以配置路由和網(wǎng)關(guān)、DNS客戶(hù)端設(shè)置,以及本地主機(jī)地址。編輯好所有的配置之后,可以單擊“ApplyConfiguration”來(lái)應(yīng)用它們,不必重新啟動(dòng)系統(tǒng)。

4.不同發(fā)行版本中的工具每個(gè)發(fā)行版本都有它自己用于配置網(wǎng)絡(luò)設(shè)置的工具。應(yīng)該參考特定發(fā)行版本的文檔來(lái)確定要使用的工具。每種工具都提供了與Webmin工具基本相同的配置選項(xiàng)。其中有些版本可能提供特定于該發(fā)行版本的選項(xiàng)。RedHatLinux使用system-config-network工具,如圖6-1所示。圖6-1網(wǎng)絡(luò)配置界面配置網(wǎng)絡(luò)接口1.網(wǎng)卡的選擇一般來(lái)說(shuō),2.4版本以后的Linux可以支持的網(wǎng)卡芯片組數(shù)量已經(jīng)很完備了,包括著名廠(chǎng)商,如Intel,以及使用廣泛的RealTek、Via等網(wǎng)卡芯片都已經(jīng)被支持,所以使用者可以很輕松地設(shè)定好他們的網(wǎng)卡。但是由于Linux發(fā)行版本眾多(目前超過(guò)188個(gè)),使用前最好先查看Linux發(fā)行版本的文檔。以RHEL5.0為例,這個(gè)設(shè)備列表在Ethernet-HOWTO文檔中。另外最直接的方法是查看目錄/lib/modules/release/kernel/drivers/net,其中release是內(nèi)核版本,可以使用命令“uname-r”獲得,對(duì)于RHEL5.0內(nèi)核版本是2.6.18-5EL[root@localhost]#ls/lib/modules/2.6.18-8.el5xen/kernel/drivers/net/3c59x.kodummy.konetconsole.kor8169.kotg3.ko8139cp.koe1000ns83820.kos2io.kotlan.ko8139too.koe100.kopcmciasis190.kotokenring8390.koepic100.kopcnet32.kosis900.kotulipacenic.kofealnx.kophyskge.kotun.koamd8111e.koforcedeth.koppp_async.kosky2.kotyphoon.kob44.koifb.koppp_deflate.koslhc.kovia-rhine.kobnx2.koixgbppp_generic.koslip.kovia-velocity.kobondingmii.koppp_mppe.kostarfire.kowirelesscassini.komyri10gepppoe.kosungem.kochelsionatsemi.kopppox.kosungem_phy.kodl2k.kone2k-pci.koppp_synctty.kosunhme.ko可以看到這個(gè)目錄列出所有Linux內(nèi)核支持的網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。其中大部分是以太網(wǎng)卡(8139、3COM、Intel),也有一些是其他類(lèi)型的設(shè)備。對(duì)于初學(xué)者應(yīng)當(dāng)盡量選擇目錄中已經(jīng)列出的網(wǎng)卡。以.o后綴結(jié)束的文件就是驅(qū)動(dòng)程序,而沒(méi)有后綴的是驅(qū)動(dòng)程序目錄。檢查網(wǎng)卡是否加載驅(qū)動(dòng)硬件是操作系統(tǒng)最基本的功能,操作系統(tǒng)通過(guò)各種驅(qū)動(dòng)程序來(lái)駕馭硬件設(shè)備,和Windows系統(tǒng)不同,Linux內(nèi)核目前采用可加載的模塊化設(shè)計(jì)(LKMs,LoadableKernelModules),就是將最基本的核心代碼編譯在內(nèi)核中,網(wǎng)卡驅(qū)動(dòng)程序是作為內(nèi)核模塊動(dòng)態(tài)加載的,可以使用命令“l(fā)smod”查看加載情況:##lsmod

Module

Size

Usedby

dm_mod

54741

0

button

6481

0

battery

8901

0

ac

4805

0

md5

4033

1

joydev

10241

0

uhci_hcd

31065

0

ehci_hcd

30917

0

snd_via82xx

26437

0

snd_ac97_codec

63889

1snd_via82xx

snd_pcm_oss

49017

0

soundcore

9889

1snd

tulip

45025

1

via_rhine

23113

2

mii

4673

1via_rhine

ext3

116809

2

jbd

71257

1ext3對(duì)每行而言,第一列是模塊名稱(chēng);第二列是模塊大小;第三列是調(diào)用數(shù)。調(diào)用數(shù)后面的信息對(duì)每個(gè)模塊而言都有所不同。如果(unused)被列在某模塊的那行中,說(shuō)明該模塊當(dāng)前未被使用。如果(autoclean)被列在某模塊的那行中,說(shuō)明該模塊可以被rmmod-a命令自動(dòng)清除,當(dāng)這個(gè)命令被執(zhí)行后,所有自從上次被自動(dòng)清除后,未被使用的且標(biāo)記了“autoclean”的模塊都會(huì)被卸載。從以上粗體字符可以看到Linux計(jì)算機(jī)中兩塊網(wǎng)卡模塊tulip和via_rhine已經(jīng)加載。對(duì)應(yīng)的網(wǎng)卡商業(yè)型號(hào)分別是:

tulip

Lite-OnCommunicationsIncLNE100TX[LinksysEtherFast10/100]。

via_rhine

ViaVT6102[Rhine-II]常見(jiàn)主板集成網(wǎng)卡。如果沒(méi)有檢測(cè)到硬件,用硬件檢測(cè)程序kuduz檢測(cè)網(wǎng)卡,它和Windows中添加新硬件功能差不多。kudzu程序是通過(guò)查看/usr/share/hwdata/目錄下的文件識(shí)別各種硬件設(shè)備的。如果內(nèi)核支持該硬件,并且有該驅(qū)動(dòng)程序就可自動(dòng)裝載。首先需要說(shuō)明的是,Linux下對(duì)網(wǎng)卡的支持往往是針對(duì)芯片的,所以對(duì)某些不是很著名的網(wǎng)卡,需要知道它的芯片型號(hào)以配置Linux,比如Toplink網(wǎng)卡,就不存在Linux的驅(qū)動(dòng),但是因?yàn)樗cNE2000兼容,所以把它當(dāng)做NE2000就可以在Linux下使用了。所以當(dāng)你有一塊網(wǎng)卡不能使用,在未找到Linux的驅(qū)動(dòng)程序之前,一定搞清楚這個(gè)網(wǎng)卡使用的是什么芯片,跟誰(shuí)兼容,比如3c509,NE2000等。這樣的型號(hào)一般都在網(wǎng)卡上最大的一塊芯片上印著,抄下來(lái)就是了。對(duì)于ISA接口的NE2000卡,首先需要將網(wǎng)卡設(shè)定為Jumpless模式。目前很多網(wǎng)卡默認(rèn)的都是PnP模式,這在Windows下的確能減少很多麻煩,但是Linux不支持,所以L(fǎng)inux下必須是Jumpless模式。一般所有網(wǎng)卡都帶有驅(qū)動(dòng)盤(pán)和在DOS下可執(zhí)行的一個(gè)設(shè)定程序,用該程序?qū)⒕W(wǎng)卡設(shè)為Jumpless。對(duì)于PCI網(wǎng)卡,可以使用lspci命令來(lái)查看。在顯示的列表中找到“EthernetController”,記下廠(chǎng)商和型號(hào),然后使用modprobe嘗試加載正確的模塊,比如modprobe3c509。如果出現(xiàn)錯(cuò)誤,說(shuō)明該模塊不存在。這時(shí)候你應(yīng)該找到正確的模塊并且重新編譯。如果你使用的是比較罕見(jiàn)的一些網(wǎng)卡,或者是Linux核心支持不夠的網(wǎng)卡,以致在安裝Linux時(shí)無(wú)法檢測(cè)到網(wǎng)卡,那也不用擔(dān)心,我們可以使用較為簡(jiǎn)單的核心模塊編譯來(lái)支持這塊網(wǎng)卡。下面以3COM的3CR990-TX-97網(wǎng)卡為例(一款具有安全特性的網(wǎng)卡)看看如何進(jìn)行模塊編譯。首先在其網(wǎng)站/infodeli/tools/nic/linuxdownload.htm下載適合你使用內(nèi)核版本的相關(guān)驅(qū)動(dòng)程序,這里以2.4內(nèi)核為例。#wegt/infodeli/tools/nic/3c990-1.0.0a另外在開(kāi)始編譯核心模塊之前,因?yàn)轵?qū)動(dòng)程序需要配合核心來(lái)編譯,所以會(huì)使用到kernelsource或者是kernelheader的數(shù)據(jù),此外,也需要編譯器(compiler)的幫助,因此,先確定你的Linux系統(tǒng)當(dāng)中已經(jīng)存在下列軟件:kernel-source,kernel,gcc,make。#tarzxvf3c990-1.0.0a.tar.gz

此時(shí)會(huì)產(chǎn)生3c990.o驅(qū)動(dòng)模塊,然后使用命令復(fù)制到相應(yīng)位置,查看加載是否正常。#modprobe3c990

#cp3c990.o

/lib/modules/2.4.20-8/kernel/drivers/net

#depmod–a然后使用lsmod命令檢查加載情況,如果一切正常,可以讓系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載該模塊:#echo“aliaseth03c990”>>/etc/modules.conf為新網(wǎng)卡設(shè)定IP地址Linux網(wǎng)絡(luò)設(shè)備在配置時(shí)被賦予別名,該別名由一個(gè)描述性的縮略詞和一個(gè)編號(hào)組成。某種類(lèi)型的第一個(gè)設(shè)備的編號(hào)為0,其他設(shè)備依次被編號(hào)為1,2,3等。但是網(wǎng)卡并不是作為裸設(shè)備出現(xiàn)在/dev目錄下,而是存在內(nèi)存中。eth0、eth1是以太網(wǎng)卡接口,它們用于大多數(shù)的以太網(wǎng)卡,包括許多并行端口以太網(wǎng)卡。本節(jié)主要討論這類(lèi)網(wǎng)卡。為L(zhǎng)inux以太網(wǎng)卡設(shè)定IP地址的方式非常靈活,你可以選擇適合你工作情況的方法。

(1)使用ip或ifconfig命令ifconfig命令是最重要的Linux網(wǎng)絡(luò)命令,它最主要的用途是設(shè)定、修改網(wǎng)卡的IP地址:

#ifconfigeth0netmask默認(rèn)情況下,ifconfig顯示活動(dòng)的網(wǎng)絡(luò)設(shè)備。給這個(gè)命令添加一個(gè)“-a”開(kāi)關(guān)就能看到所有設(shè)備。但是ifconfig命令設(shè)置完網(wǎng)絡(luò)設(shè)備的IP地址,當(dāng)系統(tǒng)重新啟動(dòng)后設(shè)置會(huì)自動(dòng)失效,所以它主要用于網(wǎng)卡狀態(tài)調(diào)試。假設(shè)你要建立一個(gè)臨時(shí)的網(wǎng)絡(luò)配置以供測(cè)試,你可以使用發(fā)行版本中的工具來(lái)編輯配置,但是需要注意,在完成測(cè)試之后,將所有設(shè)置恢復(fù)回去。通過(guò)使用ifconfig命令,我們無(wú)須影響已保存的設(shè)置,就能夠快速地配置網(wǎng)卡。ip命令是iproute2軟件包中的一個(gè)強(qiáng)大的網(wǎng)絡(luò)配置工具,它能夠替代一些傳統(tǒng)的網(wǎng)絡(luò)管理工具,例如ifconfig、route等?,F(xiàn)在,絕大多數(shù)Linux發(fā)行版和絕大多數(shù)UNIX都使用古老的arp、ifconfig和route命令。雖然這些工具能夠工作,但它們?cè)贚inux2.2和更高版本的Linux內(nèi)核上顯得有些落伍。使用iproute2前,你應(yīng)該確認(rèn)已經(jīng)安裝了這個(gè)工具。這個(gè)包的名字在RedHatLinux9.0叫做“iproute2”,也可以在ftp://ftp.inr.ac.ru/ip-routing/下載源代碼安裝。

在以太網(wǎng)接口eth0上增加一個(gè)地址,掩碼長(zhǎng)度為24位,標(biāo)準(zhǔn)廣播地址,標(biāo)簽為“eth0:Alias:”#ipaddradd/24brd+deveth0labeleth0:Alias

(2)使用setup命令setup命令是對(duì)RedHatLinux進(jìn)行配置的一個(gè)常用工具,可以對(duì)linux系統(tǒng)進(jìn)行多方面的設(shè)置。其中有設(shè)置網(wǎng)絡(luò)設(shè)備的選項(xiàng)。可以配置系統(tǒng)的IP地址,利用setup命令的網(wǎng)絡(luò)配置選項(xiàng)配置的網(wǎng)絡(luò)信息可以永久保存設(shè)置。使用方法是:運(yùn)行setup命令,如圖6-2所示,選中其中的網(wǎng)絡(luò)配置,可以對(duì)網(wǎng)卡eth0進(jìn)行設(shè)置,如圖6-3所示。設(shè)定結(jié)束后,用“Tab”鍵選擇“OK”,即可保存設(shè)置并且退出,然后使用命令“servicenetworkrestart”激活,即可生效。圖6-2setup命令界面圖6-3設(shè)置ip地址界面

(3)使用neat命令

使用neat命令需要配置好XWindow系統(tǒng),在命令行下運(yùn)行neat命令后,添加IP地址和其他相關(guān)參數(shù)后保存設(shè)置,重新啟動(dòng)網(wǎng)絡(luò)和網(wǎng)絡(luò)服務(wù)或計(jì)算機(jī),如圖6-4所示。圖6-4neat命令配置界面另外,neat命令還有一個(gè)等價(jià)命令“redhat-config-network”,二者完全相同。neat和redhat-config-config命令可以永久保存設(shè)置。

(4)修改TCP/IP網(wǎng)絡(luò)配置文件除非另行指定,RedHatLinux網(wǎng)卡相關(guān)的TCP/IP網(wǎng)絡(luò)配置文件是/etc/sysconfig/network-scripts/ifcfg-eth×,其中×從0開(kāi)始,第一個(gè)以太網(wǎng)配置文件即/etc/sysconfig/network-scripts/ifcfg-eth0。使用vi編輯器可以修改這個(gè)文件,也可以修改網(wǎng)卡IP地址。#vi/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

//設(shè)定網(wǎng)卡的名稱(chēng),要跟文件名稱(chēng)對(duì)應(yīng)

ONBOOT=yes

//是否在開(kāi)機(jī)的時(shí)候啟動(dòng)網(wǎng)卡

BOOTPROTO=static

//啟動(dòng)的時(shí)候IP取得的協(xié)議,這里是固定

的,如果是動(dòng)態(tài)主機(jī)的話(huà),要改成dhcp

IPADDR=

//IP地址

NETMASK=

//子網(wǎng)掩碼

NETWORK=

//該網(wǎng)段的第一個(gè)IP

BROADCAST=55

//最后一個(gè)同網(wǎng)段的廣播地址

GATEWAY=

//網(wǎng)關(guān)地址#

#GATEWAYDEV=eth0存盤(pán)后使用命令“servicenetworkrestart”激活即可生效。該方法同樣可以永久保存設(shè)置。

(5)為網(wǎng)卡添加IPv6地址和Windows操作系統(tǒng)相比,Linux對(duì)IPv6的支持更好,最早的支持IPv6的Linux內(nèi)核是2.2。一般基于2.4內(nèi)核的Linux發(fā)行版本都可以直接使用IPv6,使用前要看系統(tǒng)的IPv6模塊是否被加載,如果沒(méi)有被加載可以使用命令手工加載,這需要超級(jí)用戶(hù)的權(quán)限。然后使用命令檢測(cè),如果顯示IPv6地址(inet6addr:fe80::200:e8ff:fea0:2586/64),證明IPv6已經(jīng)加載。#modprobeIPv6;#ifconfig–a如果希望Linux系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載IPv6模塊,可以在配置文件/etc/modules.conf中加入一行:aliasnet?pf?10ipv6#automaticallyloadIPv6moduleondemand調(diào)整網(wǎng)卡工作模式現(xiàn)在的網(wǎng)卡大多是自適應(yīng)工作模式,在配置網(wǎng)卡參數(shù)時(shí),我們很少考慮它的工作模式,有時(shí)發(fā)現(xiàn)一些網(wǎng)卡模塊已經(jīng)加載,但是在某些模式工作不穩(wěn)定。如一塊XXX品牌的雜牌RTL-8139C芯片10/100自適應(yīng)網(wǎng)卡,在100M全雙工狀態(tài)下極其不穩(wěn)定(在Qcheck的TCP和UDP的測(cè)試過(guò)程中,數(shù)據(jù)包遺失率9.12%)。在Linux環(huán)境下,我們可以使用系統(tǒng)自帶的工具mii-tool命令來(lái)配置網(wǎng)卡工作模式。顯示Linux服務(wù)器網(wǎng)卡支持的所有以太網(wǎng)卡類(lèi)型,使用命令:#mii-tool-v

eth0:negotiated100baseTx-FD,linkok

productinfo:vendor00:00:00,model0rev0

basicmode:

autonegotiationenabled

basicstatus:autonegotiationcomplete,linkok

capabilities:100baseTx-FD100baseTx-HD10baseT-FD10baseT-HD

advertising:

100baseTx-FD100baseTx-HD10baseT-FD10baseT-HD

linkpartner:100baseTx-FD100baseTx-HD10baseT-FD10baseT-HD從以上信息中可以看出,這塊網(wǎng)卡工作在100M全雙工自適應(yīng)模式下,“100baseTx-FD”表示100MFullDuplex。這里可以強(qiáng)制網(wǎng)卡工作在100M半雙工模式下,輸入命令:#mii-tool

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論