Linux網絡常見故障排除步驟

Linux網絡常見故障排除步驟

目前Linux的擅長應用領域是:單一應用的基礎服務器應用,譬如DNS、Web服務器、NFS服務器、防火牆、文件服務器、代理服務器、中小型數據庫。Linux網絡故障大多與服務器配置有關。下面我們介紹一下故障排除步驟。

1、DNS服務器故障排除

Linux域名服務器使用的是Bind9版本。域名服務器包含數據庫的部分段的信息,並可提供被稱之爲解析器的客戶來訪問。如果在Linux網絡中無法進行域名解析,很可能是沒有在本地指定有效的域名服務器,通常這種情況比較常見。大多數DNS故障是因爲配置文件的語法錯誤,或者是對計算機分配了錯誤的地址造成的。當進行DNS故障診斷時,可參照下面的步驟:

(1)對全部記錄檢查和確認主機名稱的拼寫,記住絕對地址是以“.”結尾的。

(2)如果在區文件中做了任何修改,務必修改SOA記錄中的序列號,這將保證服務器正確地重新上載文件。

(3)確定輸入到主區的名稱和IP地址匹配反向指針文件中的反向指針信息。

(4)檢查防火牆相關程序。

2、Apache服務器故障排除

Apache源於NCSAhttpd服務器,經過多次修改,成爲世界上最流行的Web服務器軟件之一。如果在使用Apache服務器出現問題的時候,你可以嘗試下面幾個步驟:

(⒈)查看錯誤日誌

錯誤操作細節將寫到服務器的錯誤日誌裏面,這些信息經常足夠你診斷並修復錯誤(比如文件權限之類的)。錯誤日誌缺省是在/usr/local/apache.logs/error_log,但是你可以通過設置Apache配置文件裏面的ErrorLog項來修改它的位置。

(⒉)查看FAQ

在Apache主站點的頁面上可以找到最新的FAQ的連接,這些FAQ裏面列舉了一些常見問題。一般FAQ位於http://httpd.apache.org/docs/misc/FAQ.html

(⒊)查看Apache的Bug數據庫

Apache的開發組在Bug數據庫(http://bugs.apache.org/)裏面存放了使用者報告的Bug,可以到裏面查找你的問題是否已經列舉在裏面。如果關於此問題的報告還處於開放狀態,那麼建議你週期性地查看它。你也可以考慮給問題的提交者發信,因爲關於這個問題的一些討論可能是通過信件交流的。

(⒋)使用相關的郵件列表或者新聞組

很多問題之所以從未被添加到Bug數據庫裏面,是因爲它們已經在郵件列表和新聞組裏面頻繁出現了。你可以到http://httpd.apache.org/userslist.html或者news:comp.infosystems.www.servers.unix獲取這些信息。

(⒌)若以上方法全部失敗,那麼請到Bug數據庫裏面去報告一下這個問題。

3、NFS服務器故障檢查和排除

網絡文件服務器(Network File System,簡稱NFS),是分佈式計算系統的一個組成部分,可實現在異種網絡上共享和裝配遠程文件系統。NFS由Sun公司開發,目前已經成爲文件服務的一種標準(RFC1904,RFC1813)。其最大的功能就是可以通過網絡,讓不同操作系統的計算機可以共享數據,所以也可以將它看做是一個文件服務器。

NFS網絡出現了故障,可以從以下幾個方面着手檢查:

(1) 檢查NFS客戶機和服務器的負荷是否太高,Server和Client之間的網絡是否正常;

(2) 檢查/etc/exports文件的正確性;

(3) 必要時重新啓動NFS或portmap服務;

(4)運行下列命令重新啓動portmap和NFS:

service portmap restart 
service nfs start

(5) 檢查Client上的mount命令或/etc/fstab的語法是否正確;

(6) 查看內核是否支持NFS和RPC服務。

普通的內核應有下列選項:

CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_SUNRPC=m

這裏可以使用常見的網絡連接和測試工具ping、tracerroute來測試網絡連接及速度是否正常。網絡連接正常是NFS能起作用的基礎。 rpcinfo命令用於顯示系統的RPC信息,一般使用-p參數列出某臺主機的RPC服務。用rpcinfo-p命令檢查服務器時,應該能看到portmapper、status、mountd nfs 和nlockmgr。用該命令檢查客戶端時,應該至少能看到portmapper服務。

常見問題解決方法:

當mount NFS文件系統時,如果錯誤信息是“Permission denied”,則表示NFS服務器不讓客戶機掛接。一般可以用更改服務端上的/etc/exports文件來解決問題,使用exportfs-rv命令重新導出文件系統。

如果出現的錯誤是“Program not registed”,那麼則是NFS服務可能沒有啓動或者運行不正常。最常用的解決方法是重新啓動NFS服務。

如果出現“RPC:Unable to receive”,則可能是服務端沒有啓動portmap服務;如果已經啓動了,則可能是被防火牆所屏蔽。

還有一種情況是mount文件系統的時候,客戶端沒有任何反應,這多半是因爲客戶端沒有啓動portmap服務。

4、Samba文件服務器故障排除

在Linux異構網絡,利用Linux建立文件服務器是一個很好的解決方案。針對企業內部網中的絕大部分客戶機採用Windows的情況,我們可以通過使用Samba來實現文件服務器功能。 Samba是在Linux及Unix上實現SMB(Server Message Block)協議的一個免費軟件,由服務器及客戶端程序構成。這裏我們只介紹服務器程序。我們首先介紹一些SMB協議的情況。SMB協議是建立在NetBIOS協議之上的應用協議,是基於TCP138、139兩個端口的服務。

Samba服務器搭建後或許會發現客戶端無法連接,通常有三個原因:

客戶端應安裝tcp/ip、 netbios、 ipx協議。

lmhosts, IP地址和netbios名子對應問題。

iptables防火牆設定不當。做各種配置前把先把iptables給關閉。

解決某個系統的問題應從最底層的共同特性開始入手。一般步驟是:

用Testpram命令檢查語法錯誤,或S WAT那樣的G U I配置文件檢查smb . conf選項。

用ifconfig、wini pcfg、netstat和ping命令檢查網絡的連通性。

用ps、netstat、smbstatus和smbclient命令檢查Samba守護進程操作。

在Windows客戶機上用NET命令或Windows 資源管理器→工具→映射網絡驅動器測試網絡連通性。

用nmblookup確定域名服務操作。

用Windows NBTSTAT 查閱工作組和域中不同的SMB信息。

檢驗Samba配置文件中的語法和選項。

用smbclient命令檢查認證和共享訪問。

用testprns命令使對共享打印機的訪問合法。

訪問Samba Web站點和討論組可以獲得其他幫助。

5、Linux病毒造成網絡故障的排除

爲Linux郵件服務器和代理服務器安裝防病毒軟件,計算機病毒(包括蠕蟲)是許多網絡故障的禍首,Unix經過20多年的發展和完善,已經變得非常堅固,而Linux基本上繼承了它的優點。在Linux裏,如果不是超級用戶,那麼惡意感染系統文件的程序將很難得逞。當然,這並不是說Linux就無懈可擊,病毒從本質上來說是一種二進制的可執行的程序。叢2003年到現在,網絡經過了速客一號(Slammer)、衝擊波(Blast)、霸王蟲(Sobig)、 米蟲(Mimail)、勞拉(Win32.Xorala)、Mydom的輪番轟炸。通常情況下企業接入互聯網大多數使用代理服務器的發生。目前這些爆發的病毒雖然不會侵害Linux代理服務器,但是卻會傳播給訪問它的Windows系統平臺的計算機。所以發生頻頻方式網絡故障時應當在Linux服務器上安裝防病毒軟件。Samba可以和使用Windows操作系統的機器很好的協作,在Windows的機器看來,Samba的服務就是網上鄰居里的顯示的一臺服務器,我們可以把Windows下的文件保存在這個服務器上面。你可以把其他Windows機器的共享掛到Samba的目錄下,然後一起殺,連Windows機器上的病毒也殺得乾乾淨淨。

6、對於Linux服務器攻擊造成網絡故障

對於Linux服務器來說,最大的危險是遠程攻擊。對Linux服務器攻擊的定義是:攻擊是一種旨在妨礙、損害、削弱、破壞Linux服務器安全的未授權行爲。攻擊的範圍可以從服務拒絕直至完全危害和破壞Linux服務器。最嚴重的是遠程用戶獲得根權限。Linux網絡中超級用戶擁有最高權限。一旦遠程用戶獲得根權限你的網絡隨時可能被摧毀。所以部署IDS是防止這類網絡故障的選擇。當然你還要採取其他措施。信息情況可以查看筆者的:分級防禦對Linux服務器的攻擊。(網管員世界2003年10月刊)。

7、主機服務是否關掉了服務權限

一個比較常見的問題是客戶機無法實現服務器提供的某些服務,也就是說可以ping到網絡上的某部服務器,但是無法執行下載文件等任務。所以,首先必須瞭解該服務器是否關閉某些服務。最常見到的就是叢Red Hat 7.0開始中,FTP與Telnet已經缺省爲關閉。這時,就必須通過修改/etc/xinetd.d文件,來打開這些功能。

8、Linux系統本身漏洞及其軟件的BUG造成網絡故障

操作系統是計算機系統靈魂,維護着系統的底層,對內存、進程等子系統進行管理和調度。如果操作系統本身出現了漏洞,其影響將會是致命的。操作系統的內核,對於網絡安全是至關重要的。目前,內核的維護主要分兩種模式:對於私有操作系統,如Windows/Solaris等,由於個人用戶不能直接接觸其源代碼,其代碼由公司內部開發人員維護,其安全性由同樣的團隊保證,內核的修正與其他應用程序一樣,以patch/SP包的方式發佈。對於Linux這樣的開放式系統,是一種開放的結構。應該說,開放的模式是雙刃劍。從機制上講,全世界的開發人員都能獲得源代碼,從而找出其中的紕漏,似乎安全性應該更好;但是同時,如果網絡管理人員不能及時更新內核,也會留下安全隱患。如果你是一個Linux網管員,你經常需要上相應的網站看,是否有補丁,是否有了bug fix,是否需要升級。千萬不要報僥倖心理,否則一個script boy就可能拿下你的網站。套用一句名言:你的服務器永遠可能在第二天被黑客接管。

Linux服務器運行的軟件主要包括:samba,ftp,telnet,ssh,mysql,php,apache,Mozilla等,這些軟件,大都是開源軟件,而且都在不停升級,穩定版和測試版交替出現。在www.samba.orgwww.apache.org 上,最新的ChangeLog中都寫着:bug fix, security bug fix的字樣。所以Linux網管員要經常的關注相關網站的bug fix和升級,及時升級或添加補丁。

總結:

掌握OSI模型、TCP/IP分層模型及相對應的相關協議和正確網絡拓撲結構,對於Linux網絡故障分析與排除是非常重要的。當對OSI模型有一個透徹地瞭解時,故障診斷就變得易如反掌。另外Linux網絡往往比較複雜需要你對多種網絡操作系統都比較熟悉,還需要採取多種措施。如果能夠配合使用一些網絡檢測工具(例如網絡測試儀、網絡嗅探器等),對於網絡故障分析與排除也是非常有用的。

網絡管理員的職責:有人說過,網管的主要工作就是每天去看看有沒有新的補丁。這對windows網管適用,對Linux/unix系統的管理人員也同時適用。對操作系統和系統中應用程序的狀況要胸有成竹,出了意外,馬上就能覺察並修補

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章