輕松建立Linux撥號服務(wù)
2024-07-21 02:37:02
供稿:網(wǎng)友
PPP(Point to Point PRotocol)協(xié)議,即點對點協(xié)議,是標準的Internet協(xié)議。我們可以利用ppp撥號連接到Internet,也可通過建立撥號服務(wù)器,提供ppp撥入服務(wù)。 例如,有些機構(gòu)有多個外地部門,在本地已連通Internet,而外地部門有撥號到中心機房連上Internet的需求,則要求中心機房有一臺撥號服務(wù)器能提供ppp接入服務(wù),而用目前比較流行的linux操作系統(tǒng)來做,則顯得輕松有余。本文以RedHat Linux為基礎(chǔ),具體討論如何安裝配置ppp撥號服務(wù)器。
一、軟件及網(wǎng)絡(luò)環(huán)境
Redhat 7,內(nèi)核2.2.16-22,pppd-2.3.11,局域網(wǎng),Linux 服務(wù)器ip設(shè)為202.194.177.9,服務(wù)器名稱為jsred,分配給撥號用戶的固定IP為202.194.177.66,主機名為admin。
二、服務(wù)器端的安裝
1)安裝pppd
在Linux服務(wù)器上查看有沒有安裝pppd,缺省安裝是在/usr/sbin/子目錄下。假如存在,再查看系統(tǒng)內(nèi)核有沒有提供對ppp的模塊支持,如沒有,可以進到/usr/src/liunx 子目錄,用make menUConfig或make config,對內(nèi)核進行配置。在PPP支持選項上,選上模塊標志。然后重新編譯內(nèi)核,用如下命令:
make dep; make clean; make zlilo; rdev -R /vmlinuz
2)安裝調(diào)制解調(diào)器
在物理線路正確連接后打開Modem的電源,運行minicom來測試Modem是否已經(jīng)正確安裝。輸入minicom -s 命令設(shè)置Modem相關(guān)參數(shù),首先查看缺省串行口,缺省為 /dev/modem。根據(jù)你所用的串行口將之改為/dev/ttyS0或/dev/ttyS1,其次設(shè)置通信速率。假如minicom 與Modem連接成功,進入會話狀態(tài),輸入ATS0=1,假如緊接著在下一行出現(xiàn)OK , 且Modem 的AA燈亮起,modem進入自動應(yīng)答狀態(tài)。表明minicom與Modem通訊正常,Modem可以正常工作了;否則修改串口設(shè)置,重復上述步驟。也可用當?shù)氐腎SP的電話號碼撥號,看能否正確連接。一般是先有撥號音,然后是嘈雜聲,再就是握手,表示接通,出現(xiàn)登錄提示畫面,可證實Modem已正確安裝。
假如碰到Modem能接通,網(wǎng)卡不能工作或網(wǎng)卡能工作而Modem接不通,則要查看是否由于Moem與網(wǎng)卡或其它設(shè)備中斷沖突引起的。一般檢測串行口所占用的中斷號。輸入:
# cat /proc/interrupts 命令查看當前串口占用的中斷號,例:
0: 8889830 timer
1: 11557 keyboard
4: 1940 serial
可以看到當前串口占用的中斷是4。也可以用setserial 命令來給串口設(shè)置地址和中斷號(IRQ), 例如:# /sbin/setserial/dev/ttys0 irq 4 賦給串口一(COM1)中斷值為4。或:#/sbin/setserial/dev/ttys0 auto_irq 賦給串口任意一個空閑中斷號。
3)創(chuàng)建登錄終端
在Unix中,將設(shè)備看成是一個非凡文件來進行訪問控制。通過非凡文件可以訪問特定的設(shè)備,Linux也不例外。 Linux的標準虛擬終端有mingetty、agetty等,本文介紹用mgetty 作為ppp客戶登錄進來的虛終端,你可以通過網(wǎng)上搜索得到該軟件,Redhat 7自帶RPM包:mgetty-1.1.22-1.i386.rpm,安裝命令為:rpm -ivh mgetty-1.1.22-1.i386.rpm ,安裝完成后在/sbin子目錄下有二進制文件mgetty。然后進到/etc子目錄,在inittab文件之后加上一句:
s1:1235:respawn:/sbin/mgetty -D -s 38400 ttyS0
保存,用init q命令重啟進程。用ps -aux命令可看到類似于:
219 ? S 0:00/sbin/mgetty -D -s 38400 ttyS0
表明該終端已預(yù)備好,可以接受用戶的撥入請求了。
4)創(chuàng)建或修改PPP相關(guān)配置文件
基于對撥號安全性的考慮,pppd默認要求進行主客戶機的身份自驗證,即對等驗證。除非使用root用戶帳號撥號或服務(wù)器沒有連上Internet,因此為了使pppd能正常工作,需要在服務(wù)器端設(shè)置相應(yīng)的主客戶機驗證信息。
4.1)編輯/etc/ppp/options文件,在其中加入:
-detach
crtscts
netmask 255.255.255.0
asyncmap 0
proxyarp
其中,Asyncmap 表示,在對遠程機進行串行聯(lián)接時,連接可能將ASCII控制碼(0-31)用于非凡的用途,所以,這些代碼不能作為數(shù)據(jù)包的一部分進行傳送,這就要告訴pppd,不要直接用這些控制碼。而用非凡的兩字符的轉(zhuǎn)義序列來代替它們。Asyncmap 0表示不需要對任何控制碼進行轉(zhuǎn)義處理。
基于TCP/IP協(xié)議的以太網(wǎng),并不直接利用IP地址,而是利用網(wǎng)卡MAC地址來傳送數(shù)據(jù)包。Proxyarp告訴它在遠程主機的Arp表中增加一項,列出本地機的地址和遠程機的網(wǎng)卡MAC地址。Netmask可以根據(jù)具體子網(wǎng)劃分,修改為相應(yīng)的子網(wǎng)掩碼值。
4.2)創(chuàng)建/etc/ppp/options.ttyS0或/etc/ppp/options.ttyS1文件,對相應(yīng)端口進行設(shè)置,在該文件中加入一行:jsred:admin或202.194.177.9:202.194.177.66。在/etc/hosts文件中為撥入進來的客戶機登記一項:202.194.177.66 admin。
4.3)編輯/etc/ppp/pap-secrets文件,由于撥號采用PAP驗證時,需在該文件中設(shè)置相應(yīng)主客戶機信息及PAP驗證密碼。在該文件中設(shè)置如下:
admin jsred "" 202.194.177.66
第一項為客戶機名稱或IP,第二項為撥號服務(wù)器名稱或IP,第三項為PAP密碼,由于我們使用標準的passWord文件來進行身份驗證,因而將這里的密碼置空,第四項為動態(tài)分配給客戶機的IP地址。
5)建立pcguest撥號用戶帳號,創(chuàng)建登錄Shell
用戶通過電話撥號進來,以什么樣的身份和權(quán)限進入網(wǎng)絡(luò)呢?這就要為撥入用戶建立相應(yīng)的帳號和登錄Shell。如:# adduser pcguest
在選擇其Shell時,不要選/bin/bash,而是填入/etc/ppp/ppplogin,ppplogin為撥入用戶的登錄Shell文件,相當于Novell網(wǎng)用戶的登錄腳本。它為撥號用戶初始化登錄環(huán)境。
腳本如下:#! /bin/sh
/usr/sbin/pppd auth -chap +pap login 202.194.177.9:202.194.177.66
第一行表示腳本的其余部分用/bin/sh去解釋該腳本。第二行的“+pap login”表示客戶端和服務(wù)器端采用PAP的驗證方式但使用/etc/password文件的內(nèi)容。用“:”分隔的兩項(IP地址)列出ppp撥號服務(wù)器和分配給客戶機的IP地址。
將該文件置為可執(zhí)行模式: chmod 755 ppplogin;pppd默認只能由root用戶執(zhí)行,為了使普通用戶能夠執(zhí)行pppd,需要運行命令:#chmod u+s /usr/sbin/pppd。
最后別忘了在/etc/shells文件中加進一句話:/etc/ppp/ppplogin,然后存盤退出。
6)啟用Linux的IP轉(zhuǎn)發(fā)功能,為客戶機通過撥號服務(wù)器上Internet鋪平道路
Redhat 7默認是屏蔽IP轉(zhuǎn)發(fā)的功能,為啟用IP轉(zhuǎn)發(fā)功能,修改文件/etc/sysctl.conf將 net.ipv4.ip_forward = 0 改為net.ipv4.ip_forward=1 ,保存退出。重啟Linux服務(wù)器,服務(wù)器端設(shè)置工作完成。
三、客戶端的安裝
在Windows 98客戶機上,安裝撥號網(wǎng)絡(luò),新建一連接項,選中該連接項,單擊鼠標右鍵彈出菜單,單擊“屬性”,打開“服務(wù)器”標簽的“TCP/IP配置”對話窗口,在“指定IP地址”欄,填入撥號服務(wù)器分配給遠端客戶的IP地址,如202.194.177.66,在“主控名稱服務(wù)器地址”欄中輸入Internet上有效的DNS服務(wù)器的IP地址,假如該Linux服務(wù)器能提供DNS服務(wù),也可填入Linux服務(wù)器的IP地址,保存退出。雙擊連接項,進入撥號狀態(tài),當終端窗口中出現(xiàn)登錄提示,輸入pcguest用戶名及相應(yīng)密碼,再點擊“繼續(xù)”按鈕,則一個穩(wěn)定、快速的PPP連接就建立了。
四、測試
測試用戶有沒有撥進服務(wù)器,可以在Linux服務(wù)器的控制臺終端輸入:
# who
root ttyp1 Apr 1 09:13
pcguest ttyS0 Apr 1 09:29
上面的pcguest即為通過ttyS0終端登錄的ppp客戶。
或輸入命令:# ifconfig
你會發(fā)現(xiàn)除了以太網(wǎng)卡eth0,本地環(huán)路lo外,還多一個ppp0項。表明客戶已成功撥入。打開客戶端的瀏覽器,如Netscape或IE,看能否正常訪問Internet站點。