(Linux)- Linux 常見的故障與處理方法
(Linux)- Linux 常見的故障與處理方法
一般常見簡單的 Linux 故障,可以在此找到解決的方法。
與 Windows 系統一樣,Linux 操作系統也會存在很多問題和故障,很多 Linux 新手都害怕故障,面對出現的問題顯得無可奈何,更有甚者,由此放棄了 Linux,其實,我們不應該懼怕問題,學習就是一個發現問題與解決問題的過程,只要掌握了解決問題的基本思路,一切故障都會迎刃而解,當然前提是我們已經具備了解決問題的思路和紮實的知識功底。
一、處理 Linux 系統故障的思路
作為一名合格的 Linux系統管理員,一定要有一套清晰、明確的解決故障思路,當問題出現時,才能迅速定位、解決問題,這裡給出一個處理問題的一般思路:
1. 重視報錯提示信息:每個錯誤的出現,都是給出錯誤提示信息,一般情況下這個提示基本定位了問題的所在,因此一定要重視這個報錯信息,如果對這些錯誤信息視而不見,問題永遠得不到解決。
2. 查閱日誌文件:有時候報錯信息只是給出了問題的表面現象,要想更深入的了解問題,必須查看相應的日誌文件,而日誌文件又分為系統日誌文件(/var/log)和應用的日誌文件,結合這兩個日誌文件,一般就能定位問題所在。
3. 分析、定位問題:這個過程是比較複雜的,根據報錯信息,結合日誌文件,同時還要考慮其它相關情況,最終找到引起問題的原因。
4. 解決問題:找到了問題出現的原因,解決問題就是很簡單的事情了。
從這個流程可以看出,解決問題的過程就是分析、查找問題的過程,一旦確定問題產生的原因,故障也就隨之解決了。
二、 忘記 Linux root 密碼
這個問題出現的幾率是很高的,不過,在 Linux 下解決這個問題也很簡單,只需重啟 Linux 系統,然後引導進入linux 的單用戶模式(init 1),由於單用戶模式是不需要輸入登錄密碼的,因此,可以直接登錄系統,修改 root密碼即可解決問題.下面是詳細的處理方法,這裡我們以 Redhat Linux 為基準,操作步驟如下:
1. 重啟系統,待 Linux 系統啟動到 grub 引導菜單時,找到當前系統引導選項(可以按方向鍵展開隱藏的菜單,單處理器只有一個引導項,多處理器有 3 個或 3 個以上引導項,一般默認選項就是系統當前引導選項)。
2. 通過方向鍵將游標放到當前系統引導項上,然後按鍵盤字母 “ e ” ,進入編輯狀態。
3. 然後通過上下鍵,選中帶有 kernel 指令的一行,繼續按鍵盤字母 “ e ”,編輯該行,在行末尾加個空格,然後添加 single,類似與這樣:
kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet single
4. 修改完成,按回車 ( Enter ) 鍵,返回到剛才的界面。
按鍵盤 “ b ”,系統開始引導。
這樣系統就啟動到了單用戶模式下,這裡的單用戶根 Windows 下的安全模式類似,在單用戶模式下,只是啟動最基本的系統,網路以及應用服務均不啟動.單用戶模式啟動完畢,系統會自動進入到命令行狀態下,類似與 “ sh-3.1# ”,然後直接執行 passwd,按回車 ( Enter ),系統會提示輸入新的 root 密碼兩次,會看到修改密碼成功的提示,這樣就完成了 root 密碼的修改.如果需要正常啟動系統,現在只需輸入 “ init 3 ”,就進入了多用戶模式.用 root 用戶重新登錄系統,看看設置的新密碼是否生效。
三、 Linux系統無法啟動的解決辦法
導致linux無法啟動的原因有很多,常見的原因有如下幾種:
1. 文件系統配置不當,比如 /etc/inittab 文件、/etc/fstab 文件等配置錯誤或丟失,導致系統錯誤,無法啟動。
2. 不正常關機,導致 root 文件系統破壞,也就是 Linux 根分區破壞,系統無法正常啟動。
3. Linux 內核崩潰,從而無法啟動。
4. 系統引導程序出現問題,比如 grub 丟失或者損壞,導致系統無法引導啟動。
5. 硬體故障,比如主板、電源、硬碟等出現問題,導致 Linux 無法啟動。
從這些常見的故障可知,導致系統無法啟動的主要有兩個問題,硬體原因和操作系統原因,對於硬體出現的問題,只需通過更換硬體設備,即可解決,而對於操作系統出現的問題,雖然出現的問題可能千差萬別,不過在多數情況下都可以用相對簡單統一的一些方法來恢復系統,下面我們就針對上面提出的幾個問題,結合 Red hat Linux 系統環境,給出一些常用的、普遍的解決問題的方法。
1. /etc/fstab文件丟失,導致系統無法啟動
/etc/fstab 文件存放了系統中文件系統的相關信息,如果正確的配置了該文件,那麼在 Linux 啟動時,系統會讀取此文件,自動掛載 Linux 的各個分區,如果此文件配置錯誤,或者丟失,就會導致系統無法啟動,具體的故障現象是在檢測 mount partition 時出現:
starting system logger
此後系統啟動就停止了。
針對這個問題,我們的第一思路就是想辦法恢復 /etc/fstab 這個文件的信息,只要恢復了此文件,系統就能自動掛載每個分區,正常啟動.可能很多讀者想到的是將系統切換到單用戶模式下,然後手動掛載分區,結合系統信息,重建 /etc/fstab 文件。
但是這種方法是行不通的,fatab 文件丟失導致 Linux 無法掛載任何一個分區,即使 Linux 還能切換到單用戶下,那麼此時的系統也只是一個 read-only 的文件系統,無法向磁碟寫入任何信息。
我們介紹另外一個方法,就是利用 Linux rescue 修復模式登錄系統,進而獲取分區和掛載點信息,重構 /etc/fstab 文件。
這裡以 RHEL 5 為例,將系統第一章光碟放入光碟機,設置 BOIS 從光碟機啟動,這樣系統就從光碟機引導,然後在 boot 後輸入:linux rescue,如圖1 所示:
圖1 設置 Linux 進入修復模式
接著系統自動開始引導,進入圖2 所示畫面:
圖2 選擇語言
這裡是選擇模式使用的語言,可以按照自己需要設定,我們這裡選擇 “ English “,然後按 tab 鍵,選中 “ ok ”,回車進入下一步。
下面進入的是鍵盤選擇界面,如圖3 所示,這裡選擇默認的 “ us ” 即可。
圖3 選擇鍵盤類型
下面進入網路配置界面,如圖4 所示:
圖4 是否啟用網路
這裡是選擇是否啟用網路,由於系統已經無法啟動,我們已經在 Linux 系統上進行操作了,啟用網路與否都無所謂,這裡選擇不啟用。
下面到了最關鍵的步驟了,如圖 5 所示,修復模式會自動將系統的所有分區掛載到 /mnt/sysimage 目錄下,選擇 “ Continue ”,則修復環境進入到 read-write 狀態下,可以對分區進行讀寫操作,選擇 “ Read-Only ”,修復環境進入到只讀模式,由於我們要重建 fstab 文件到 /etc 目錄下,因此選擇 “ Continue ” 進入可讀寫模式下。
圖 5 選擇修復模式的啟動方式
下面是一個友情提示界面,如圖6 所示,由於 fstab 文件丟失,修復模式找不到任何可掛載的分區,從這裡可知,修復模式在這裡也讀取 /etc/fstab 文件,按回車 ( Enter ),進入下一步。
圖6 無法掛載系統任何分區
下面就進入了修復環境下,可以進行操作了.如圖7 所示
圖7 修復模式命令行
上面詳細演示了如何進入 Linux 的修復模式,其實很多情況下,Linux 無法啟動時,都可以通過這個方式登錄系統進行修復和更改操作。
下面是恢復 /etc/fstab 文件的詳細過程:
查看一下系統分區情況,如下所示:
sh-3.1# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 1300 10241437+ 83 Linux
/dev/sda3 1301 1682 3068415 83 Linux
/dev/sda4 1683 5221 28427017+ 5 Extended
/dev/sda5 1683 1873 1534176 83 Linux
/dev/sda6 1874 2064 1534176 83 Linux
/dev/sda7 2065 2255 1534176 83 Linux
/dev/sda8 2256 2382 1020096 83 Linux
/dev/sda9 2383 2484 819283+ 82 Linux swap / Solaris
/dev/sda10 2485 5221 21984921 83 Linux
分區並沒有損壞,通過 fdisk 命令可以查看到系統分區的完整信息,但是每個分區對應的 label name 信息我們還不知道,下面通過 e2label 命令查看每個分區對應的 label name:
sh-3.1# e2label /dev/sda1
/boot
sh-3.1# e2label /dev/sda2
/usr
sh-3.1# e2label /dev/sda3
/
sh-3.1# e2label /dev/sda5
/var
sh-3.1# e2label /dev/sda6
/tmp
sh-3.1# e2label /dev/sda7
/home
sh-3.1# e2label /dev/sda8
/opt
sh-3.1# e2label /dev/sda10
/webdata
這樣,就得到了所有分區的掛載點信息,接下來就可以構造一個 fstab 文件了。
小技巧:可以參考其它系統中 fstab 文件的格式,結合本系統的分區和掛載點信息,構造出自己的 fstab 文件來。
由於 fstab 文件是存放在系統根目錄下的,因此需要掛載原來系統的根分區,從上面可知根分區對應的設備名為/dev/sda3,接著在修復模式創建的臨時根分區下創建一個掛載點,然後掛載原來系統的根分區.操作過程如下所示:
sh-3.1# pwd
/
sh-3.1# mkdir temp
sh-3.1# mount /dev/sda3 /temp
sh-3.1# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev 515644 0 515644 0% /dev
/tmp/loop0 79872 79872 0 100% /mnt/runtime
/dev/sda3 2972268 259916 2558932 10% /temp
這樣以來,原有根分區的文件全部掛載到了/temp目錄下,接著就可以創建我們需要的 fatab 文件了。
sh-3.1# vi /temp/etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
LABEL=/cicro /cicro ext3 defaults 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
LABEL=/opt /opt ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=/tmp /tmp ext3 defaults 1 2
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
LABEL=SWAP-sda9 swap swap defaults 0 0
配置完畢,保存退出,然後重啟系統。
sh-3.1#reboot
2、root文件系統破壞,導致系統無法啟動
Linux 下普遍採用的是 ext3 文件系統,ext3 是一個具有日誌記錄功能的日誌文件系統,可以進行簡單的容錯和恢復,但是在一個高負荷讀寫的 ext3文件系統下,如果突然發生掉電,就很有可能發生文件系統內部結構不一致,導致文件系統破壞。
Linux在啟動時,會自動去分析和檢查系統分區,如果發現文件系統有簡單的錯誤,會自動修復,如果文件系統破壞比較嚴重,系統無法完成修復時,系統就會自動進入單用戶模式下或者出現一個交互界面,提示用戶介入手動修復,現象類似下面所示:
checking root filesystem
/dev/sdb5 contains a file system with errors, check forced
/dev/sdb5:
Unattached inode 68338812
/dev/sdb5: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
(i.e., without -a or -p options)
FAILED
/contains a file system with errors check forced
an eror occurred during the file system check
****dropping you to a shell;the system will reboot
****when you leave the shell
Press enter for maintenance
(or type Control-D to continue):
give root password for maintenance
從這個錯誤可以看出,系統根分區文件系統出現了問題,系統在啟動時無法自動修復,然後進入到了一個交互界面,提示用戶進行系統修復。
這個問題發生的機率很高,引起這個問題的主要原因就是系統突然掉電,引起文件系統結構不一致。一般情況下解決此問題的辦法是採用 fsck 命令,進行強制修復。
根據上面的錯誤提示,當按下 “ Control-D ” 組合鍵后系統自動重啟,當輸入 root 密碼後進入系統修復模式,在修復模式下,可以執行 fsck 命令,具體操作過程如下:
[root@localhost /]#umount /dev/sdb5
[root@localhost /]#fsck .ext3 -y /dev/sdb5
e2fsck 1.39 (29-May-2006)
/ contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 6833812 ref count is 2, should be 1. Fix<y>? yes
Unattached inode 6833812
Connect to /lost found<y>? yes
Inode 6833812 ref count is 2, should be 1. Fix<y>? yes
Pass 5: Checking group summary information
Block bitmap differences: -(519–529) -9273
Fix<y>? yes
…… ……
/: ***** FILE SYSTEM WAS MODIFIED *****
/: 19/128520 files (15.8% non-contiguous), 46034/514048 blocks
上面就是 fsck 修復受損文件系統的過程.需要注意的是,在執行 fsck 的時候,一定要先卸載要修復的分區,然後再執行修復操作,切記!
四、其它故障的一般解決方案
如果是 Linux 的引導程序出現問題,那麼也可以通過光碟引導的方式進入 Linux 修復模式,然後修改對應的引導程序或者重新安裝引導程序。
如果 Linux 內核崩潰或者丟失,同樣可以先進入 Linux rescue下,然後載入 root 分區,重新編譯內核。
如果出現了最壞的情況,文件系統破壞嚴重,同時內核也崩潰,那麼此時重新安裝系統反而比較容易,在這種情況下可以先將 Linux 上有用的數據和文件備份轉移到其它設備,然後對整個文件系統進行全新安裝。
五、Linux 下常見網路故障處理
Linux 網路服務功能非常強大,在Linux上可以部署 Web Server、DNS Server、Mail Server、Db server、Ftp server 等等,但是也由此產生了很多網路問題,據統計,在 Linux 系統下產生的故障,有60%來自網路方面,40% 來自系統本身,可見熟練解決 Linux 下故障,對於熟練掌握 Linux 有著巨大的幫助。
解決 Linux 網路問題的順序應該是從 Linux 操作系統自身的底層網路開始,然後逐步有點及面的向外擴展,網路問題的一般解決流程為:
網路硬體傳輸問題,可以通過檢查網線是否正常,網卡、集線器、路由器、交換機等是否正常來確認是否由硬體問題造成網路故障。
檢查網卡是否能正常工作,可以從網卡是否正常載入、網卡 IP 設置是否正確、系統路由是否設置正確3個方面進行檢查確認。
檢查 DNS 是否設定正確,可以從 Linux 的 DNS 客戶端配置文件 /etc/resolv.conf,本地主機文件 /etc/hosts 進行檢查確認。
服務是否正常打開,可以通過 telnet 或者 netstat 命令的方式檢測服務是否開啟。
訪問許可權是否打開,可以從本機 iptables 防火牆、Linux 內核強制訪問控制策略 selinux 兩方面入手,進行檢查確認。
區域網主機之間聯機是否正常; 可以通過 ping 自身 IP,ping 區域網其它主機 IP,ping 網關地址來確認區域網是否連接正常。
接下來,我們就針對上面給出的解決網路問題的一般思路,詳細展開講述。
1. 檢查網路硬體傳輸問題
檢查網路故障,要排除的是網路硬體設備是否存在問題,比如網線是否正常,網卡、集線器、路由器、交換機等是否正常,這些是網路正常運行的基本條件,如果發現某些設備出現故障,只需更換硬體即可解決問題。
2.檢查網卡是否能正常工作
(1)檢查網卡是否正常載入
通過 lsmod、ifconfig 命令可以判斷網卡是否正常載入,如果通過 ifconfig 可以顯示網路介面(eth0、eth1 等等)的配置信息,表示系統已經認到了網卡驅動程序,檢測到了網路設備,網卡載入正常。
(2)檢查網卡 IP 設置是否正確
接下來就要檢查網卡的軟體設定,比如 IP 是否配置,配置是否正確,確保 IP 的配置和區域網其它計算機配置沒有衝突。
(3)檢查系統路由表信息是否正確
就是要檢查系統的路由表設置是否正確,如果一個 Linux 系統有兩塊網卡,同時兩塊網卡設置的 IP 不在一個網段,要特別注意系統路由表的設置。
例如下面這個系統的網路介面信息:
eth0 Link encap:Ethernet HWaddr00:12:3F:FF:65:24
inetaddr:10.10.1.239 Bcast:10.10.1.255 Mask:255.255.255.0
inet6 addr: fe80::212:3fff:feff:6524/64Scope:Link
UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1
RX packets:20632289errors:0 dropped:0 overruns:0 frame:0
TX packets:20223702errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:793608426(756.8 MiB) TX bytes:2567481473 (2.3 GiB)
Interrupt:201
eth1 Link encap:Ethernet HWaddr00:12:3F:FF:65:25
inetaddr:192.168.200.30 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr:fe80::212:3fff:feff:6525/64 Scope:Link
UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1
RX packets:15496910errors:0 dropped:0 overruns:0 frame:0
TX packets:8028739errors:0 dropped:0 overruns:0 carrier:0
collisions:0txqueuelen:1000
RX bytes:1048038084(999.4 MiB) TX bytes:3195989266 (2.9 GiB)
Interrupt:209
lo Link encap:Local Loopback
inetaddr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128Scope:Host
UP LOOPBACKRUNNING MTU:16436 Metric:1
RX packets:508961errors:0 dropped:0 overruns:0 frame:0
TX packets:508961errors:0 dropped:0 overruns:0 carrier:0
collisions:0txqueuelen:0
RX bytes:574086961 (547.4MiB) TX bytes:574086961 (547.4 MiB)
從上面輸出可知,本系統有兩塊網卡,分別配置不同網段的 IP 地址,假定 eth0 通過映射的方式對外提供 ssh 連接服務,而 eth1 僅供區域網主機之間共享數據使用。
現在的問題是,外界無法 ssh 遠程登錄到此系統,而網卡載入沒有問題,網卡 IP 設置也沒問題,接下來看看此系統的路由設置:
[root@webserver ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags MetricRef Use Iface
10.10.1.0 * 255.255.255.0 U 0 0 0eth0
192.168.200.0 * 255.255.255.0 U 0 0 0eth1
default 192.168.200.1 0.0.0.0 UG 0 0 0eth1
到這裡,問題已經基本排查出來了:從 route 的輸出可知,Linux 的預設路由是 192.168.200.1,而 192.168.200 段的 IP 僅僅供區域網主機之間共享數據使用,沒有連接出去的訪問許可權,因而,外界無法連接到linux系統,也是理所當然的事情了。
定位了問題,解決方法很簡單,刪除 192 段的預設路由,然後增加 10 段的預設路由即可:
[root@webserver ~]# route delete default
[root@webserver ~]#route add default gw 10.10.1.254
此時外界就可以通過 ssh 服務遠程連接到 Linux 系統了。
3.檢查 DNS 解析文件是否設置正確
在Linux系統中,有兩個文件用來指定系統到哪裡尋找相關域名解析的庫。分別是文件 /etc/host.conf 和 /etc/nsswitch.conf。
/etc/host.conf 文件指定系統如何解析主機名,Linux 通過域名解析庫來獲得主機名對應的 IP 地址。下面是RedHat Linux 安裝后預設的 /etc/host.conf 內容:
order hosts,bind
其中,order 指定主機名查詢順序,這裡表示查找 /etc/hosts 文件對應的解析,如果沒有找到對應的解析,接著就根據 /etc/resolve.conf 指定的域名伺服器進行解析。
/etc/nsswitch.conf 文件是由 SUN 公司開發的,用於管理系統中多個配置文件查詢的順序,由於 nsswich.conf提供了更多的資源控制方式,nsswich.conf 文件現在已經基本取代了 hosts.conf,雖然 LINUX 系統中默認這兩個文檔都存在,但實際上起作用的是 nsswitch.conf 文件。
nsswitch.conf 文件每行的配置都以一個關鍵字開頭,後跟冒號,緊接著是空白,然後是一系列方法的列表。
例如這段信息:
hosts: files dns
表示系統查詢主機庫文件,如果沒有找到對應的解析,接著會去 DNS 配置文件指定的 DNS 伺服器進行解析。
清楚了 Linux 下域名解析的原理和過程,我們就可以根據這兩個文件的設定,確定解析的順序,從而判斷出域名解析可能出現的問題。
4.檢查服務是否正常打開
在一個應用出現故障時,必須要檢查的就是服務本身,比如服務是否開啟,配置是否正確等等,檢查服務是否正確打開,分為兩步,第一步是查看服務的埠是否打開:
例如,我們不能用 root 用戶 ssh 登錄到 192.168.60.133 這台 Linux 伺服器,檢查 sshd 服務的 22 埠是否打開:
[root@localhost init.d]# telnet 192.168.60.133 22
SSH-2.0-OpenSSH_4.3
這個輸出表示 192.168.60.133 的 22 埠對外開放,或者可以說 sshd 服務是處於打開狀態.如果沒有任何輸出,可能是服務沒有啟動,或者服務埠被屏蔽。
也可以在伺服器上通過 netstat 命令檢查 22 埠是否打開:
[root@localhost xinetd.d]# netstat -ntl
tcp 0 00.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0:::80 :::* LISTEN
tcp 0 0:::22 :::* LISTEN
可以看到,22 埠在伺服器上是打開的,同時,伺服器上打開的還有 3306、80 埠。
接著進行第二步的檢查,既然服務已經打開,可能是 sshd 服務配置的問題,檢查 sshd 服務端配置文件 /etc/ssh/sshd_config,發現有下面一行信息:
PermitRootLogin no
由此可知是 ssh 服務端配置文件限制了 root 用戶不能登錄系統,如果需要 root 登錄系統,只需更改為如下即可:
PermitRootLogin yes
到這裡為止,我們通過對埠和服務配置文件的層層檢查,最終找到了問題的根源.需要說明的是,這裡的重點不是講述如何讓 root 登錄 Linux系統,而是要通過這個例子讓讀者學會處理類似問題的思路和方法。
5.檢查訪問許可權是否打開
(1)檢查系統防火牆 iptables 的狀態
當某些服務不能訪問時,一定要檢查是否被 Linux 本機防火牆 iptables 屏蔽了,可以通過 iptables -L 指令查看 iptables 的配置策略,例如我們不能訪問某台 Linux 伺服器提供的 www 服務,通過檢查,系統網路、域名解析都正常,並且服務也正常啟動,然後檢查了伺服器的 iptables 策略配置,信息如下:
[root@localhost ~]# iptables -L -n
Chain INPUT (policy DROP)
target prot optsource destination
Chain FORWARD (policy ACCEPT)
target prot optsource destination
Chain OUTPUT (policy DROP)
target prot optsource destination
從上面的輸出可知,這個 Linux 伺服器僅僅設置了預設策略,而致命的是將 INPUT 鏈和 OUTPUT 鏈都設置為DROP,也就是所有外部數據不能進入伺服器,伺服器數據也不能出去,這樣的設置相當於沒有網路。
為了能訪問這台伺服器提供的 www 服務,增加兩條策略即可:
[root@localhost ~]#iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
[root@localhost ~]#iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT
這樣以來,internet 上的其他人就能訪問我們的 www 服務了。
(2)檢查 selinux 是否打開
在前面的章節,我們已經講述過 selinux 的含義和功能,它可以最大限度地保證 Linux 系統的安全,但是selinux 有時也會給 Linux 下軟體的運行帶來一些問題,這些問題大部分是對 selinux 不了解造成的,為了迅速定位問題,最簡單的方法是先關閉 selinux,然後測試軟體運行是否正常,這不是個好方法,但是對於判斷問題往往是很有用的,selinux 是個很好的安全訪問控制軟體,可是如果你還不能熟練運用 selinux 訪問控制策略的話,還是建議將它暫時關閉,等到對 linux 有了更深入的認識后,再開啟 selinux 不失為一個明智的策略。
6.檢查區域網主機之間聯機是否正常
通過上面 5 步的檢查,Linux系統自身的問題已經基本排除,接下來需要擴展到 Linux 主機之外的網路環境,檢查網路之間的連通是否存在故障,可以先通過 ping 命令測試區域網主機之間的連通性,然後 ping 網關,檢測主機到網關的通信是否正常。
任何網路故障的出現,都是有原因的,只要我們根據上面給出的解決問題流程,逐一排查,99% 的問題都能得到很好的解決。
免責聲明:
1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題。
2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業。
3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。