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

Linux撥號服務快速指南

2013-11-13 22:14:23  來源: Oracle 

  作者HKILL
  
  
  摘要
    PPP是在串連連接上運行 IP以及其它網絡協議的一種協議串列連結可以是直接的串列連接(使用無數據機纜線)或是使用數據機以及電話線路所造出的連結使用 PPP 你可以把你的 Linux PC 連接到一台 PPP 服務器上並存取該服務器所連接的網絡資源就如同你是直接連接在該網絡上一般你也可以把你的 Linux PC 設為一台 PPP服務器這樣一來其它電腦就可以撥入你的電腦並且存取在你區域網絡裡的資源因為 PPP 是一種點對點的系統因此你也可以使用兩台 Linux PC 上的 PPP 把網絡連結在一起(或是把區域網絡連結到網間網絡上)( ::)
  
  
  By lanf
  
  
  一什麼是PPP協議
  
    既然是撥號上網就不能不提到PPP(pointtopoint protocol)協議PPP協 議具有以下特點
  
  是應用最廣泛的廣域網協議
  通過提供連接控制協議(LCP)和網絡控制程序(NCP)協議家族來配置網絡性能和網絡設備從而解決了Internet互聯的問題
  一個PPP會話分為四個步驟(連接建立連接質量控制網絡層協議配置連接終止)
  提供了密碼認證協議(PAP)或者邀請握手認證協議(CHAP)來保證連接安全
    簡而言之PPP是在串連連接上運行 IP以及其它網絡協議的一種協議串列連結可以是直接的串列連接(使用無數據機纜線)或是使用數據機以及電話線路所造出的連結使用 PPP 你可以把你的 Linux PC 連接到一台 PPP 服務器上並存取該服務器所連接的網絡資源就如同你是直接連接在該網絡上一般你也可以把你的 Linux PC 設為一台 PPP服務器這樣一來其它電腦就可以撥入你的電腦並且存取在你區域網絡裡的資源因為 PPP 是一種點對點的系統因此你也可以使用兩台 Linux PC 上的 PPP 把網絡連結在一起(或是把區域網絡連結到網間網絡上) 最主要的差異當然是速度 - 標准的以太網路連線是 Mbps(每秒百萬位元)而在撥號上網這方面最大是 kbps(每秒千位元)的速度(ISDN據說可以達到kbps)同時依據 PPP 連線的型態某些應用以及服務在使用上可能會有些限制
  
    當然對於我們用戶來講它也是一個server/client模型的應用這個快速指南包括怎麼在Linux下創建PPP server(客戶端假設為windows)在Linux下怎麼去撥號上網(當然是客戶端)
  
  二服務器
  
    如果用戶只想做為客戶端撥號上網則可以直接跳過本小節但是如果做為網絡應用的設計人員就必須知道怎麼搭建PPP服務器
  
     kernel必須支持如果是Kernelx以上的默認安裝肯定支持PPP啟動時可以看到PPP的信息
  
     獲取pppd的源碼版本越高越好適合Kernelx以上有ppptargz
  
    下載地址如果你在當地有搜索引擎自己找最近的
  
  ftp//csanueduau/pub/software/ppp/
  
    假設安裝到/usr/local/ppp目錄下
  
  bash$ cp ppptargz /usr/local/
  bash$ cd /usr/local/
  bash$ tar zxvf ppptargz
  bash$ cd ppp
  
   按照READMElinux操作不外乎是
  
  /configure
  make kernel
  make
  make install
  
  (必須在安裝目錄/usr/local/ppp/下操作)
  
     安裝完後運行pppd不必帶參數如果有亂碼則成功了一半 J
  
     cd /etc/ppp (沒有該目錄則創建一個)
  
    編輯options文件看起來象這樣
  
  
  asyncmap
  netmask
  proxyarp
  lock
  crtscts
  modem
  mtu  (改數視Linux的網絡參數而定用ifconfig可以看到它) 
  mru  (=mtu就行了)
  
   注意以上各行的意義參照pppd的說明檔幾乎不需要改動
  
     給每個用戶設立一個自動登陸的shell
  
     如用戶ppp (adduser 加入)問對應的bash時敲ppplogin
  
    ppplogin文件如下
  
   exec /usr/sbin/pppd passive /dev/ttyS netmask
   proxyarp : xxxx
  
   注意xxxx是ppp的登錄後獲得的IP比如你可以指定為等等
  
     嘗試登錄及享受成功
  
   為了簡單假設客戶端是windows准備從另一台Windows/機器登錄Windows中先設好撥號網絡(如果沒有modem可以用Null modem代替試驗其實就是串口+Cable推薦先使用Null modem嘗試)服務器類型必須是PPP啟動撥號程序(在連接modem配置選項裡設撥號前後出現終端窗口)連接後出現終端窗口輸入登錄名及口令(可能先要按幾下回車)OK出現亂碼! 按F繼續一會兒又有終端窗口及亂碼F繼續等一會就連接好了然後就可以正常的網絡通信了如果客戶端也是linux見下面小節
  
  三客戶端
  
    不同的linux廠家在xwindow下都有自己的撥號程序例如藍點linux下的KDE撥號就很方便但是由於是快速手冊我不可能列出各種軟件的使用如果你有更好的方法請加入的論壇發表你的觀點這裡我介紹最常用的在RedHat下的腳本撥號法我假設你用的是RedHat以上版本
  
    .找出modem在計算機的哪一個串口上modem如果通電MRHS燈應該亮但是TR燈不亮敲入下列命令
  
  bash$> echo AT>/dev/ttyS
  
   如果TR燈亮則modem連接在COM如果不亮則試/dev/ttyS亮則COM依此類推
  
    .用腳本撥號在/usr/doc/ppp/scripts目錄下有例子我們將其拷貝到正確的目錄下執行
  
  Bash$> cp /usr/doc/ppp/scripts/pppon /usr/sbin
  Bash$> cp /usr/doc/ppp/scripts/pppoff /usr/sbin
  Bash$> cp /usr/doc/ppp/scripts/pppondialer /etc/ppp
  Bash$> cd /usr/sbin
  Bash$> chmod +x pppon
  Bash$> chmod +x pppoff
  Bash$> cd /etc/ppp
  Bash$> chmod +x pppondialer
  
   然後根據你的ISP作出相應的改動比如pppon和pppondialer兩個可執行文件
  
    pppon文件只需要看我加入中文說明的地方
  
  #!/bin/sh
  #
  # Script to initiate a ppp connection This is the first part of the
  # pair of scripts This is not a secure pair of scr ipts as the codes
  # are visible with theps command However it is simple
  #
  # These are the parameters Change as needed
  TELEPHONE= # ISP提供的上網電話號碼
  ACCOUNT=ynguo #賬號名稱
  PASSWORD=faintyou #登錄密碼注意修改本文件權限以便保密
  LOCAL_IP= #本地IP地址表示由ISP動態分配
  REMOTE_IP= #遠端IP地址一般為
  NETMASK= #子網掩碼地址
  #
  # Export them so that they will be available atppp ondialer time
  export TELEPHONE ACCOUNT PASSWORD
  #
  # This is the location of the script which dials th e phone and logs
  # in Please use the absolute file name as the$PATH variable is not
  # used on the connect option(To do so on aroot a ccount would be
  # a security hole so dont ask)
  #
  DIALER_SCRIPT=/etc/ppp/pppondialer
  #
  # Initiate the connection
  #
  # I put most of the common options on this command Please dont
  # forget thelock option or some programs such as mgetty will not
  # work The asyncmap and escape will permit the PPP link to work with
  # a telnet or rlogin connection You are welcome to make any changes
  # as desired Dont use thedefaultroute option if you currently
  # have a default route to an ethernet gateway
  #
  exec/usr/sbin/pppd debug lock modem crtscts/dev/tty S 
  asyncmapA escape FF kdebug$LOCAL_IP:$REMOTE_ IP 
  noipdefault netmask$NETMASK defaultroute connect$DI ALER_SCRIPT&
  
   pppondialer文件
  
  #!/bin/sh
    #
    # This is part of the pppon script It will perform the connection
    # protocol for the desired connection
    #
    exec chatv 
    TIMEOUT 
    ABORT
  BUSY
   
    ABORT
  NO ANSWER
   
    ABORT
  RINGING
  RINGING
   
    
  AT 
    OK+++cOK ATH 
    TIMEOUT 
    OK ATDT$TELEPHONE  <
From:http://tw.wingwit.com/Article/program/Oracle/201311/18571.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.