一、檢查物理線路
當(dāng)客戶端無(wú)法撥入時(shí),在服務(wù)器端首先要檢查物理線路是否通暢,即檢查調(diào)制解調(diào)器與服務(wù)器串口的連接情況。外置調(diào)制解調(diào)器和服務(wù)器串口(COM1或COM2)連接通常采用標(biāo)準(zhǔn)的RS-232C連接線纜。使用minicom可以很輕松地檢測(cè)出該線纜的連通情況。minicom是可以運(yùn)行在Linux系統(tǒng)上的一種實(shí)用工具,主要用來(lái)實(shí)現(xiàn)系統(tǒng)與調(diào)制解調(diào)器的通信及對(duì)調(diào)制解調(diào)器的控制。在Linux終端狀態(tài)下輸入命令:minicom,屏幕上顯示初始化調(diào)制解調(diào)器,接著在顯示歡迎等信息后顯示”OK”,表明系統(tǒng)與調(diào)制解調(diào)器連通順暢,否則得檢查線纜接頭有沒有松動(dòng)。有時(shí),線纜接頭的稍許松動(dòng)是看不出來(lái)的,這時(shí)使用minicom將會(huì)得心應(yīng)手。事實(shí)上,在解決一般網(wǎng)絡(luò)故障時(shí),我們都是從首先檢查物理線路連通情況開始的。
二、檢查/var/lock/LCK..ttySx設(shè)備鎖定文件
由于調(diào)制解調(diào)器是獨(dú)占性的資源,即當(dāng)一個(gè)用戶使用該資源時(shí),其它用戶便無(wú)法使用它,直到前一個(gè)用戶釋放該資源為止,Linux系統(tǒng)使用設(shè)備鎖定文件來(lái)控制該設(shè)備的使用。設(shè)備鎖定文件主要存在以下兩種情況:
當(dāng)服務(wù)器端的調(diào)制解調(diào)器電源關(guān)閉時(shí),該設(shè)備與計(jì)算機(jī)處于斷開狀態(tài),系統(tǒng)自動(dòng)在/var/lock/目錄下產(chǎn)生設(shè)備鎖定文件,表明該設(shè)備當(dāng)前不可用,此時(shí)客戶無(wú)法撥入進(jìn)來(lái),針對(duì)具體的串行口,產(chǎn)生如LCK..ttyS0或LCK..ttyS1的文件;而當(dāng)調(diào)制解調(diào)器電源打開時(shí),鎖定文件在數(shù)秒后自動(dòng)消失,設(shè)備回到接受撥入的狀態(tài)。
目錄下也會(huì)產(chǎn)生針對(duì)具體串口的設(shè)備鎖定文件,該鎖定文件表明已有用戶正在使用該獨(dú)占設(shè)備,其它用戶此時(shí)無(wú)法再使用該設(shè)備。撥入用戶斷開連接后,鎖定文件將很快自動(dòng)釋放,等待撥入的用戶這時(shí)可以撥入進(jìn)來(lái)了。檢查鎖定文件的主要目的是檢查服務(wù)器端調(diào)制解調(diào)器電源是否打開。
三、檢查IP轉(zhuǎn)發(fā)功能
當(dāng)用戶通過(guò)撥入服務(wù)器連上Internet時(shí),服務(wù)器的內(nèi)核必須支持IP轉(zhuǎn)發(fā)功能且允許IP轉(zhuǎn)發(fā),否則會(huì)發(fā)生撥通后從客戶機(jī)只能ping到撥號(hào)服務(wù)器而無(wú)法ping到其它服務(wù)器或本地網(wǎng)關(guān)的情形。檢查當(dāng)前系統(tǒng)的IP轉(zhuǎn)發(fā)功能有沒有打開使用命令:
cat /proc/sys/net/ipv4/ip_forward
如果輸出為1,表示IP轉(zhuǎn)發(fā)功能是打開的,如果輸出為0,表示該項(xiàng)功能是關(guān)閉的,可以使用命令”echo 1 > /proc/sys/net/ipv4/ip_forward”來(lái)打開該項(xiàng)功能,不過(guò)這種打開不是永久的,當(dāng)你重啟系統(tǒng)后,將恢復(fù)為原先設(shè)置的值。為了開啟這項(xiàng)功能并使之一直有效,最簡(jiǎn)單的辦法是以root身份修改/etc/sysclt.conf文件,在該文件找到:net.ipv4.ip_forward = 0,將其中的”0″改為”1″,重啟系統(tǒng)后即可生效。
四、檢查pppd的setuid位
如果撥號(hào)用戶在調(diào)制解調(diào)器連通后彈出的終端窗口中輸入用戶名和口令后,接著出現(xiàn)了如下信息:
-pppd:must be root to run -pppd,since it is not setuid -root
這是由于基于安全性的考慮,pppd只能由root或具有root權(quán)限的用戶來(lái)運(yùn)行,而系統(tǒng)已創(chuàng)建的撥號(hào)用戶沒有權(quán)限運(yùn)行pppd的緣故??梢酝ㄟ^(guò)在pppd上設(shè)置setuid位來(lái)解決這個(gè)問題。在某個(gè)可執(zhí)行二進(jìn)制文件上設(shè)置setuid,可以使得其它用戶以該文件所有者的身份來(lái)運(yùn)行該程序。輸入如下命令來(lái)設(shè)置pppd的setuid位:
chmod 4755 /usr/sbin/pppd
因pppd文件所有者為root,這樣普通用戶(如已創(chuàng)建的撥號(hào)用戶)就可以以root用戶身份執(zhí)行該程序了。另外,運(yùn)行l(wèi)inuxconf程序時(shí),因其要對(duì)文件系統(tǒng)安全性進(jìn)行檢查,有時(shí)會(huì)刪除pppd的setuid位,所以,運(yùn)行過(guò)linuxconf后,要注意檢查pppd的屬性設(shè)置。