2003 年 3 月 01 日
IBM 電子商務(wù)
架構師 Chris Walden 將通過(guò)他在 developerWorks 上發(fā)表的九篇系列文章來(lái)指導您如何在
Linux環(huán)境中運用您的
Windows 操作技巧。本部分將探討網(wǎng)絡(luò ),這是 Linux 做得最好的方面之一。
在如今這個(gè)時(shí)代,運行一臺沒(méi)有連接到網(wǎng)絡(luò )的計算機幾乎是難以想像的。電子郵件、Web 瀏覽和文件共享像打印和查看屏幕上的信息一樣,都是用戶(hù)所期待的。
幸運的是,Liunx 從一開(kāi)始就是為網(wǎng)絡(luò )而開(kāi)發(fā)的。事實(shí)上,網(wǎng)絡(luò )是 Linux 做得最好的事情之一。Linux 支持諸如TCP/IP 和 SMB(NetBIOS)等流行的網(wǎng)絡(luò )協(xié)議。Linux 還具有用于監控和過(guò)濾網(wǎng)絡(luò )流量的成熟工具。諸如 FTP、Windows 文件和打印共享以及 Web 托管等服務(wù)也是可用的。Linux 甚至還提供了用于集中目錄服務(wù)、
虛擬專(zhuān)用網(wǎng)(VPN)和遠程過(guò)程調用的工具。
Linux 能夠使用具有驅動(dòng)程序的任何網(wǎng)絡(luò )硬件。Linux 驅動(dòng)程序單獨地或以可加載模塊的形式編譯到內核中。Linux 內核默認支持許多流行的網(wǎng)卡。在選擇網(wǎng)絡(luò )硬件時(shí),最好總是使用“硬件兼容性列表”(參見(jiàn)
參考資料中的鏈接)中列出的設備。另外還要使用最新的 Linux
發(fā)行版本。
一般情況下,如果使用的是兼容的網(wǎng)絡(luò )硬件,
安裝系統時(shí)網(wǎng)卡會(huì )
自動(dòng)得到識別??梢允褂?ifconfig 命令來(lái)檢查系統上的網(wǎng)絡(luò )硬件。默認情況下, ifconfig 顯示活動(dòng)的網(wǎng)絡(luò )設備。給這個(gè)命令添加一個(gè) -a 開(kāi)關(guān)就能看到所有設備。
refname: ifconfig-a
[root@cmw-t30 root]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:09:6B:60:8B:1E
inet addr:9.41.209.160 Bcast:9.41.209.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47255 errors:0 dropped:0 overruns:0 frame:0
TX packets:32949 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:22140365 (21.1 Mb) TX bytes:13519623 (12.8 Mb)
Interrupt:11 Base address:0xf000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1308081 errors:0 dropped:0 overruns:0 frame:0
TX packets:1308081 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:183376967 (174.8 Mb) TX bytes:183376967 (174.8 Mb)
在上面的清單中,系統中只有一塊網(wǎng)卡,標識為 eth0。 lo 適配器是一個(gè)回環(huán)(lookback),由 Linux 用來(lái)與它自身通信。后面還會(huì )進(jìn)一步討論 ifconfig 命令。
Linux 網(wǎng)絡(luò )設備在配置時(shí)被賦予別名,該別名由一個(gè)描述性的縮略詞和一個(gè)編號組成。某種類(lèi)型的第一個(gè)設備的編號為 0,
其他設備依次被編號為 1、2、3,等等。在給設備命名時(shí)將使用下面的約定。本信息摘自 Linux Network Administrator‘s Guide(參見(jiàn)本文結尾處
參考資料 中的鏈接)。
eth0, eth1 ...
這些是以太網(wǎng)卡接口。它們用于大多數的以太網(wǎng)卡,包括許多并行端口以太網(wǎng)卡。 tr0, tr1 ...
這些是令牌環(huán)網(wǎng)卡接口。它們用于大多數的令牌環(huán)網(wǎng)卡,包括非 IBM 生產(chǎn)的網(wǎng)卡。 s10, s11 ...
這些是 SLIP 接口 。SLIP 接口與串行線(xiàn)關(guān)聯(lián),關(guān)聯(lián)順序就是它們被分配給 SLIP 的順序。 ppp0, ppp1 ...
這些是 PPP 接口。就像 SLIP 接口一樣,PPP 接口一旦被轉換到 PPP 模式,它就與串行線(xiàn)關(guān)聯(lián)。 plip0. plip1 ...
這些是 PLIP 接口。PLIP 接口通過(guò)并行線(xiàn)
傳輸 IP 數據報。這些接口在系統啟動(dòng)時(shí)由 PLIP 驅動(dòng)程序分配,并被映射到并行端口。在 2.0.x內核中,設備名稱(chēng)和并行端口的 I/O 端口之間存在直接的關(guān)系,但是在更新版本的內核中,設備名稱(chēng)是順序分配的,就像 SLIP 和 PPP 設備一樣。 ax0, ax1 ...
這些是 AX.25 接口。AX.25 是業(yè)余無(wú)線(xiàn)電操作人員使用的主要協(xié)議。AX.25 接口的分配和映射方式與 SLIP 設備類(lèi)似。
還有其他許多可用于其他網(wǎng)絡(luò )驅動(dòng)程序的接口類(lèi)型。我們僅列出了一些最常見(jiàn)的。
既然以太網(wǎng)是最常見(jiàn)的配置,下面就重點(diǎn)來(lái)討論它。欲了解關(guān)于其他種類(lèi)的連接的更多信息,請參見(jiàn)本文結尾處的
參考資料。
回頁(yè)首在安裝 Linux 發(fā)行版本時(shí),就得配置網(wǎng)絡(luò )。您或許已經(jīng)有一個(gè)來(lái)自初始配置的活動(dòng) eth0。這個(gè)配置對于當前的使用也許足夠,但是您可能需要隨著(zhù)時(shí)間的推移做出更改。下面將介紹與 IP 網(wǎng)絡(luò )相關(guān)的不同配置項,以及用于使用這些配置項的文件和工具。
Webmin 在 Networking 下的 Network Configuration 中提供一組優(yōu)秀的網(wǎng)絡(luò )配置工具。您可以配置單獨的接口并調整它們的當前設置或已保存的設置。還可以配置路由和網(wǎng)關(guān)、DNS
客戶(hù)端設置以及本地主機地址。在編輯好所有的配置之后,可以單擊 Apply Configuration來(lái)應用它們,不必重新啟動(dòng)系統。
本地主機地址包含在/etc/hosts 中。這個(gè)文件和 C:\winnt\system32\drivers\etc\hosts 文件等價(jià)。其中的條目顯示 IP 地址的別名,用于在不必查詢(xún) DNS 的情況下指派名稱(chēng)。
127.0.0.1 localhost.localdomain localhost
10.10.10.10 cmw-t30
每個(gè)發(fā)行版本都有它自己用于配置網(wǎng)絡(luò )設置的工具。 應該參考特定發(fā)行版本的文檔來(lái)確定要使用的工具。每種工具提供與 Webmin 工具基本上相同的配置選項。其中有些版本可能提供特定于該發(fā)行版本的選項。
手動(dòng)配置也是可能的,不過(guò)這是一個(gè)非常深奧的主題。請參考您的發(fā)行版本文檔和本文結尾處的
參考資料,以了解關(guān)于手動(dòng)網(wǎng)絡(luò )配置的更多信息。
回頁(yè)首Linux 附帶了許多工具來(lái)監控網(wǎng)絡(luò )任務(wù)。
ifconfig
我們在上面使用過(guò) ifconfig 命令來(lái)查看以太網(wǎng)卡的狀態(tài)。然而, ifconfig 還可以配置設備并報告關(guān)于設備的情況。假設您要建立一個(gè)臨時(shí)的網(wǎng)絡(luò )配置以供測試。您可以使用發(fā)行版本中的工具來(lái)編輯配置,但是需要注意在完成測試之后,將所有設置恢復回去。通過(guò)使用 ifconfig ,我們無(wú)需影響已保存的設置,就能夠快速地配置網(wǎng)卡:
ipconfig eth0 192.168.13.13 netmask 255.255.255.0 up
上面這條命令使用一個(gè) C 類(lèi) IP 地址將 eth0 設置到地址 192.168.13.13,并確保它正常運行。
ipconfig eth0 down
上面這條命令將關(guān)閉 eth0 設備。關(guān)于使用 ifconfig 的完整細節,請參見(jiàn) info ifconfig 頁(yè)面。
ifup/ifdown
要使用已保存的配置來(lái)激活和禁用網(wǎng)絡(luò )設備,請分別使用 ifup 和 ifdown 。
# Bring up eth0 using the saved configuration
ifup eth0
# Shut down eth0
ifdown eth0
netstat
使用 netstat 控制臺命令來(lái)輸出網(wǎng)絡(luò )連接、路由表、接口統計、偽裝連接和組播成員。 netstat 具有多個(gè)命令行開(kāi)關(guān)來(lái)控制其功能。下面是其中一些常用的開(kāi)關(guān):
netstat -p 顯示每個(gè)套接字所屬的程序的 PID 或名稱(chēng)
netstat -a 同時(shí)顯示偵聽(tīng)和非偵聽(tīng)套接字
netstat -t 顯示 TCP 連接
netstat -u 顯示 UDP 連接
netstat -e 顯示附加信息;使用這個(gè)選項兩次,可以獲得最詳細的信息
下面是 netstat -tp 的一個(gè)例子:
[root@cmw-t30 root]# netstat -tp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 localhost.localdo:29000 *:* LISTEN
2389/attvpnctl
tcp 0 0 *:10000 *:* LISTEN
5945/perl
tcp 0 0 *:x11 *:* LISTEN
1120/X
tcp 0 0 *:ftp *:* LISTEN
724/xinetd
tcp 0 0 *:ssh *:* LISTEN
710/sshd
tcp 0 0 *:ipp *:* LISTEN
797/cupsd
tcp 0 0 *:505 *:* LISTEN
1043/rcd
tcp 0 0 localhost.localdoma:ipp localhost.localdo:32772 ESTABLISHED
797/cupsd
tcp 0 0 sig-9-65-39-140.m:44916 sdoprods2.austin.i:1352 TIME_WAIT
-
tcp 0 0 10.100.100.101:33020 64.12.29.100:5190 ESTABLISHED
1433/gaim
tcp 0 0 localhost.localdo:44954 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44955 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44897 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44902 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44903 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44900 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 localhost.localdo:44901 localhost.localdoma:ipp TIME_WAIT
-
tcp 0 0 10.100.100.101:44888 cs9336-61.austin.r:pop3 TIME_WAIT
-
tcp 0 0 localhost.localdo:32772 localhost.localdoma:ipp ESTABLISHED
1246/gnome-cups-man
tcp 1 0 localhost.localdo:32774 localhost.localdoma:ipp CLOSE_WAIT
1246/gnome-cups-man
tcp 0 0 10.100.100.101:33019 cs46.msg.sc5.yahoo:5050 ESTABLISHED
1433/gaim
tcp 0 0 sig-9-65-39-140.m:35061 d03nm119.boulder.i:1352 CLOSE_WAIT
1720/wineserver
tcp 0 0 10.100.100.101:33021 64.12.30.4:5190 ESTABLISHED
1433/gaim
我最常使用 netstat 命令來(lái)查看處于 LISTEN 或 ESTABLISHED 狀態(tài)的連接。LISTEN 是系統上的服務(wù),它接受來(lái)自其他機器的連接。ESTABLISHED 是您的機器和其他機器之間的活動(dòng)連接。請確保您知道正在運行的所有 LISTEN 程序。如果看到某些無(wú)法識別的內容,它可能就是一個(gè)安全顧慮。 netstat 具有許多選項。請在命令行鍵入 info netstat 來(lái)獲得該命令的細節。
route
route 控制臺命令允許您顯示和操作 IP 路由表。
[root@cmw-t30 plugins]# route|grep -v ipsec
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
204.146.24.42 10.100.100.1 255.255.255.255 UGH 0 0 0 eth1
10.100.100.0 * 255.255.255.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 10.100.100.1 0.0.0.0 UG 0 0 0 eth1
不帶命令行開(kāi)關(guān)運行 route 將顯示當前路由表??梢允褂?route 對該路由表進(jìn)行非常精細的修改。
route add default gw 10.10.10.1
上面的命令添加一個(gè)默認的路由(它將在沒(méi)有其他路由匹配的情況下被使用)。使用這個(gè)路由的所有分組都將途經(jīng)網(wǎng)關(guān)“10.10.10.1”。實(shí)際將用于該路由的設備取決于我們如何到達“10.10.10.1”——到“10.10.10.1”的靜態(tài)路由必須預先設置好。
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
上面的命令添加一個(gè)通過(guò)“eth0”到網(wǎng)絡(luò ) 192.56.76.x 的路由。這里的 C 類(lèi)網(wǎng)絡(luò )掩碼修飾符實(shí)際上并不是必需的,因為 192.* 就是一個(gè) C 類(lèi) IP 地址。這里的單詞“dev”也可以省略。
路由選擇是一個(gè)非常深奧的主題。關(guān)于 route 選項的完整信息可通過(guò) info route 命令獲得。
回頁(yè)首Linux 從一開(kāi)始就是為網(wǎng)絡(luò )而設計的。它內置了以前僅在高端企業(yè)產(chǎn)品中才可見(jiàn)到的成熟功能。然而,盡管擁有所有這些強大的能力,Linux 網(wǎng)絡(luò )的配置卻遠沒(méi)有 Windows 網(wǎng)絡(luò )的配置復雜。諸如 Webmin、redhat-config-network 和 YAST這樣的工具允許執行圖形化的配置。諸如 ifconfig 和 route 這樣的工具允許通過(guò)控制臺或腳本查看和修改網(wǎng)絡(luò )參數。諸如 netstat 這樣的工具允許查看單獨的網(wǎng)絡(luò )連接,并顯示它們與運行著(zhù)的進(jìn)程的關(guān)系。
您可以參閱本文在 developerWorks 全球站點(diǎn)上的
英文原文.
閱讀
Windows 到 Linux 之旅系列文章的其他部分( developerWorks, 2003 年 11 月)。
在線(xiàn)的
Linux Network Administrator‘s Guide, Second Edition 是在 Liunx 環(huán)境中進(jìn)行網(wǎng)絡(luò )管理的通用參考指南。初學(xué)者和有經(jīng)驗的用戶(hù),都能夠從中找到關(guān)于幾乎每個(gè)重要管理活動(dòng)的信息,這些活動(dòng)是管理 Linux 網(wǎng)絡(luò )配置所必需的。
Linux Ethernet HOWTO包含了關(guān)于哪些以太網(wǎng)設備可用于 Linux,以及如何設置它們的信息(重點(diǎn)放在硬件和以太網(wǎng)卡的低級驅動(dòng)程序方面)。
“Linux 文檔計劃”也有一個(gè)
分類(lèi) HOWTO 列表,幫助您容易地查找相關(guān)文檔。
“硬件控制列表”包括
Red Hat 硬件搜索頁(yè)面、
SuSE Linux 組件數據庫和
UnitedLinux 認證和兼容的硬件。
在 IBM developerWorks教程“
LPI certification 102 exam prep, Part 3: Networking”中,您會(huì )找到關(guān)于網(wǎng)絡(luò )基礎的更多信息。
IBM developerWorks教程“
LPI certification 102 exam prep, Part 4: Secure shell and file sharing”介紹了文件共享和安全。
系統安全是一個(gè)廣博而復雜的主題,但是在互連的世界中,它影響著(zhù)每個(gè)人。幸運的是,現在開(kāi)始著(zhù)手加強系統安全還不算太早也不算太遲。文檔
Adding Security to Common Linux Distributions和
Strategies for Keeping a Secure Server(這是前面提到過(guò)的 Linux Administration Made Easyguide 一書(shū)的第 12 章 )將幫助您加強系統安全。
IBM developerWorks文章“
Linux 硬件穩定性指南”展示了如何診斷和修復許多潛在的硬件問(wèn)題。
在 IBM developerWorks文章“
在 Linux(或異構)網(wǎng)絡(luò )上共享計算機”中學(xué)習更多關(guān)于網(wǎng)絡(luò )的知識。
遵循 IBM developerWorks文章“
在 Linux 上構建網(wǎng)絡(luò )路由器”的指導來(lái)模擬 Cisco 路由器的行為。
采用更好的安全性 —— IBM developerWorks文章“
使用 ssh 進(jìn)行安全的連接”展示了如何實(shí)現這一點(diǎn)。
對那些從 Windows 轉向 Linux 的讀者來(lái)說(shuō),另一個(gè)重要的參考資料是
Linux 用戶(hù)技術(shù) FAQ。
要開(kāi)始在 Linux 上使用 IBM 的
軟件產(chǎn)品,
為您的 Linux 應用開(kāi)發(fā)加油提速 將為您提供最好的參考資料。您可以找到關(guān)于 DB2、Lotus Domino、WebSphere Application Server、WebSphere Studio 等多種應用軟件的安裝提示和參考資料。您還可以登錄獲得免費的 Linux Software Evaluation Kit,里面有試用軟件和培訓資料。
在 developerWorksLinux 專(zhuān)區可以找到更多
為 Linux 開(kāi)發(fā)者準備的參考資料。
Chris Walden 是位于德克薩斯州奧斯汀的 IBM Developer Relations Technical Consulting(也稱(chēng)為
dragonslayers )的一名電子商務(wù)架構師,該公司為 IBM 商業(yè)伙伴提供教育、實(shí)現和咨詢(xún)。他致力于 Linux 相關(guān)工作,一有機會(huì )就向身邊的人宣傳 Linux 的種種好處。除了完成他的架構師的職責之外,他還精通Linux 基礎設施服務(wù)器的各個(gè)領(lǐng)域,包括混合平臺用戶(hù)環(huán)境下的文件、打印以及其他應用服務(wù)等。Chris 有 10 年的計算機行業(yè)經(jīng)驗,從現場(chǎng)支持到 Web 應用開(kāi)發(fā)和顧問(wèn),各個(gè)領(lǐng)域他都曾涉足。您可以通過(guò)
cmwalden@us.ibm.com與 Chris 聯(lián)系。