熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

輕松建立Linux撥號服務

2013-11-13 22:10:46  來源: Oracle 

   PPP(Point to Point Protocol)協議即點對點協議是標准的Internet協議我們可以利用ppp撥號連接到Internet也可通過建立撥號服務器提供ppp撥入服務例如有些機構有多個外地部門在本地已連通Internet而外地部門有撥號到中心機房連上Internet的需求則要求中心機房有一台撥號服務器能提供ppp接入服務而用目前比較流行的Linux操作系統來做則顯得輕松有余本文以RedHat Linux為基礎詳細討論如何安裝配置ppp撥號服務器
  
    一軟件及網絡環境
    Redhat 內核pppd局域網Linux 服務器IP設為服務器名稱為jsred分配給撥號用戶的固定IP為主機名為admin
  
    二服務器端的安裝
    )安裝pppd
  
    在Linux服務器上查看有沒有安裝pppd缺省安裝是在/usr/sbin/子目錄下如果存在再查看系統內核有沒有提供對ppp的模塊支持如沒有可以進到/usr/src/liunx 子目錄用make menuconfig或make config對內核進行配置在PPP支持選項上選上模塊標志然後重新編譯內核用如下命令
  
    make dep; make clean; make zlilo; rdev R /vmlinuz
  
    )安裝調制解調器
  
    在物理線路正確連接後打開Modem的電源運行minicom來測試Modem是否已經正確安裝輸入minicom s 命令設置Modem相關參數首先查看缺省串行口缺省為 /dev/modem根據你所用的串行口將之改為/dev/ttyS或/dev/ttyS其次設置通信速率如果minicom 與Modem連接成功進入會話狀態輸入ATS=如果緊接著在下一行出現OK 且Modem 的AA燈亮起modem進入自動應答狀態表明minicom與Modem通訊正常Modem可以正常工作了否則修改串口設置重復上述步驟也可用當地的ISP的電話號碼撥號看能否正確連接一般是先有撥號音然後是嘈雜聲再就是握手表示接通出現登錄提示畫面可證明Modem已正確安裝
  
    如果遇到Modem能接通網卡不能工作或網卡能工作而Modem接不通則要查看是否由於Moem與網卡或其它設備中斷沖突引起的一般檢測串行口所占用的中斷號輸入
  
    # cat /proc/interrupts 命令查看當前串口占用的中斷號
  
    : timer
  
    : keyboard
  
    : serial
  
    可以看到當前串口占用的中斷是也可以用setserial 命令來給串口設置地址和中斷號(IRQ) 例如# /sbin/setserial/dev/ttys irq 賦給串口一(COM)中斷值為#/sbin/setserial/dev/ttys auto_irq 賦給串口任意一個空閒中斷號
  
    )創建登錄終端
  
    在Unix中將設備看成是一個特殊文件來進行訪問控制通過特殊文件可以訪問特定的設備Linux也不例外 Linux的標准虛擬終端有mingettyagetty等本文介紹用mgetty 作為ppp客戶登錄進來的虛終端你可以通過網上搜索得到該軟件Redhat 自帶RPM包mgettyirpm安裝命令為rpm ivh mgettyirpm 安裝完成後在/sbin子目錄下有二進制文件mgetty然後進到/etc子目錄在inittab文件之後加上一句
  
    s::respawn:/sbin/mgetty D s ttyS
  
    保存用init q命令重啟進程用ps aux命令可看到類似於
  
     ? S :/sbin/mgetty D s ttyS
  
    表明該終端已准備好可以接受用戶的撥入請求了
  
    )創建或修改PPP相關配置文件
  
    基於對撥號安全性的考慮pppd默認要求進行主客戶機的身份自驗證即對等驗證除非使用root用戶帳號撥號或服務器沒有連上Internet因此為了使pppd能正常工作需要在服務器端設置相應的主客戶機驗證信息
  
    )編輯/etc/ppp/options文件在其中加入
  
    detach
  
    crtscts
  
    netmask
  
    asyncmap
  
    proxyarp
  
    其中Asyncmap 表示在對遠程機進行串行聯接時連接可能將ASCII控制碼()用於特殊的用途所以這些代碼不能作為數據包的一部分進行傳送這就要告訴pppd不要直接用這些控制碼而用特殊的兩字符的轉義序列來代替它們Asyncmap 表示不需要對任何控制碼進行轉義處理
  
    基於TCP/IP協議的以太網並不直接利用IP地址而是利用網卡MAC地址來傳送數據包Proxyarp告訴它在遠程主機的Arp表中增加一項列出本地機的地址和遠程機的網卡MAC地址Netmask可以根據具體子網劃分修改為相應的子網掩碼值
  
    )創建/etc/ppp/yS或/etc/ppp/yS文件對相應端口進行設置在該文件中加入一行jsred:admin或:在/etc/hosts文件中為撥入進來的客戶機登記一項 admin
  
    )編輯/etc/ppp/papsecrets文件由於撥號采用PAP驗證時需在該文件中設置相應主客戶機信息及PAP驗證密碼在該文件中設置如下
  
    admin jsred
  
    第一項為客戶機名稱或IP第二項為撥號服務器名稱或IP第三項為PAP密碼由於我們使用標准的password文件來進行身份驗證因而將這裡的密碼置空第四項為動態分配給客戶機的IP地址
  
    )建立pcguest撥號用戶帳號創建登錄Shell
  
    用戶通過電話撥號進來以什麼樣的身份和權限進入網絡呢?這就要為撥入用戶建立相應的帳號和登錄Shell# adduser pcguest
  
    在選擇其Shell時不要選/bin/bash而是填入/etc/ppp/ppploginppplogin為撥入用戶的登錄Shell文件相當於Novell網用戶的登錄腳本它為撥號用戶初始化登錄環境
  
    腳本如下#! /bin/sh
  
    /usr/sbin/pppd auth chap +pap login :
  
    第一行表示腳本的其余部分用/bin/sh去解釋該腳本第二行的+pap login表示客戶端和服務器端采用PAP的驗證方式但使用/etc/password文件的內容分隔的兩項(IP地址)列出ppp撥號服務器和分配給客戶機的IP地址
  
    將該文件置為可執行模式 chmod ppploginpppd默認只能由root用戶執行為了使普通用戶能夠執行pppd需要運行命令#chmod u+s /usr/sbin/pppd
  
    最後別忘了在/etc/shells文件中加進一句話/etc/ppp/ppplogin然後存盤退出
  
    )啟用Linux的IP轉發功能為客戶機通過撥號服務器上Internet鋪平道路
  
    Redhat 默認是屏蔽IP轉發的功能為啟用IP轉發功能修改文件/etc/nf將 netipvip_forward = 改為netipvip_forward= 保存退出重啟Linux服務器服務器端設置工作完成
  
    三客戶端的安裝
    在Windows 客戶機上安裝撥號網絡新建一連接項選中該連接項單擊鼠標右鍵彈出菜單單擊屬性打開服務器標簽的TCP/IP配置對話窗口指定IP地址填入撥號服務器分配給遠端客戶的IP地址主控名稱服務器地址欄中輸入Internet上有效的DNS服務器的IP地址如果該Linux服務器能提供DNS服務也可填入Linux服務器的IP地址保存退出雙擊連接項進入撥號狀態當終端窗口中出現登錄提示輸入pcguest用戶名及相應密碼再點擊繼續按鈕則一個穩定快速的PPP連接就建立了
  
    四測試
    測試用戶有沒有撥進服務器可以在Linux服務器的控制台終端輸入
  
    # who
  
    root ttyp Apr :
  
    pcguest ttyS Apr :
  
    上面的pcguest即為通過ttyS終端登錄的ppp客戶
  
    或輸入命令# ifconfig
  
    你會發現除了以太網卡eth本地環路lo外還多一個ppp表明客戶已成功撥入打開客戶端的浏覽器如Netscape或IE看能否正常訪問Internet站點
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/18391.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.