Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Linux拨号服务快速指南

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

一、什么是PPP协议

  既然是拨号上网,就不能不提到PPP(point-to-point protocol)协议。PPP协 议具有以下特点:

  • 是应用最广泛的广域网协议;
  • 通过提供连接控制协议(LCP)和网络控制程序(NCP)协议家族来配置网络性能和网络设备,从而解决了Internet互联的问题;
  • 一个PPP会话分为四个步骤(连接建立、连接质量控制、网络层协议配置、连接终止);
  • 提供了密码认证协议(PAP)或者邀请握手认证协议(CHAP)来保证连接安全;
  •   简而言之,PPP是在串连连接上运行 IP以及其它网络协议的一种协议,串列连结可以是直接的串列连接(使用无数据机缆线)或是使用数据机以及电话线路所造出的连结。使用 PPP, 你可以把你的 Linux PC 连接到一台 PPP 服务器上并存取该服务器所连接的网络资源就如同你是直接连接在该网络上一般。你也可以把你的 Linux PC 设为一台 PPP服务器,这样一来其它电脑就可以拨入你的电脑并且存取在你区域网络里的资源。因为 PPP 是一种点对点的系统,因此你也可以使用两台 Linux PC 上的 PPP 把网络连结在一起(或是把区域网络连结到网间网络上)。 最主要的差异当然是速度 - 标准的以太网路连线是10 Mbps(每秒百万位元),而在拨号上网这方面最大是33.6 kbps(每秒千位元)的速度(ISDN据说可以达到128kbps)。同时,依据 PPP 连线的型态,某些应用以及服务在使用上可能会有些限制。

      当然,对于我们用户来讲,它也是一个server/client模型的应用。这个快速指南包括怎么在Linux下创建PPP server(客户端假设为windows),在Linux下怎么去拨号上网(当然是客户端)。

    二、服务器

      如果用户只想做为客户端拨号上网,则可以直接跳过本小节。但是如果做为网络应用的设计人员,就必须知道怎么搭建PPP服务器。

      1. kernel必须支持,如果是Kernel2.0.x以上的默认安装,肯定支持PPP,启动时可以看到PPP的信息;

      2. 获取pppd的源码,版本越高越好,适合Kernel2.0.x以上有ppp-2.3.5.tar.gz:

      下载地址:如果你在当地有搜索引擎,自己找最近的。

    
    ftp://cs.anu.edu.au/pub/software/ppp/ 
    

      3. 假设安装到/usr/local/ppp目录下,则

    
    bash$ cp ppp-2.3.5.tar.gz /usr/local/
    bash$ cd /usr/local/
    bash$ tar zxvf ppp-2.3.5.tar.gz
    bash$ cd ppp-2.3.5 
    

      4. 按照README.linux操作,不外乎是:

    
    ./configure
    make kernel
    make
    make install
    

     (必须在安装目录/usr/local/ppp-2.3.5/下操作)

      5 安装完后运行pppd,不必带参数,如果有乱码,则成功了一半; J

      6 cd /etc/ppp (没有该目录则创建一个)

      编辑options文件,看起来象这样:

    
    0.0.0.0
    asyncmap 0
    netmask 255.255.255.0
    proxyarp
    lock
    crtscts
    modem
    mtu 1500 (改数视Linux的网络参数而定,用ifconfig可以看到它) 
    mru 1500 (=mtu就行了)
    

      注意以上各行的意义参照pppd的说明档,几乎不需要改动。

      7. 给每个用户设立一个自动登陆的shell

       如用户ppp0 (adduser 加入),问对应的bash时敲ppp0login;

      ppp0login文件如下:

    
    exec /usr/sbin/pppd passive /dev/ttyS0 115200 netmask 
        255.255.255.0 proxyarp : x.x.x.x 
    

      注意x.x.x.x是ppp0的登录后获得的IP,比如你可以指定为192.168.0.2等等。

      8. 尝试登录及享受成功

     为了简单,假设客户端是windows。准备从另一台Windows95/98机器登录。Windows中先设好拨号网络(如果没有modem,可以用Null modem代替试验--其实就是串口+Cable,推荐先使用Null modem尝试),服务器类型必须是PPP。启动拨号程序(在连接--modem--配置--选项里设拨号前后出现终端窗口),连接后出现终端窗口,输入登录名及口令(可能先要按几下回车),OK,出现乱码! 按F7继续,一会儿又有终端窗口及乱码,F7继续,等一会就连接好了,然后就可以正常的网络通信了。如果客户端也是linux,见下面小节。

    三、客户端

      不同的linux厂家在x-window下都有自己的拨号程序。例如蓝点linux下的KDE拨号就很方便,但是由于是快速手册,我不可能列出各种软件的使用,如果你有更好的方法,请加入www.linuxaid.com.cn的论坛发表你的观点。这里我介绍最常用的在RedHat下的脚本拨号法。我假设你用的是RedHat5.2以上版本。

      1.找出modem在计算机的哪一个串口上。modem如果通电,MR、HS灯应该亮,但是TR灯不亮。敲入下列命令:

    
    bash$> echo AT>/dev/ttyS0 
    

      如果TR灯亮,则modem连接在COM1;如果不亮,则试/dev/ttyS1,亮则COM2;依此类推。

      2.用脚本拨号,在/usr/doc/ppp-2.3.5/scripts目录下有例子。我们将其拷贝到正确的目录下执行。

    
    Bash$> cp /usr/doc/ppp-2.3.5/scripts/ppp-on /usr/sbin 
    Bash$> cp /usr/doc/ppp-2.3.5/scripts/ppp-off /usr/sbin 
    Bash$> cp /usr/doc/ppp-2.3.5/scripts/ppp-on-dialer /etc/ppp 
    Bash$> cd /usr/sbin 
    Bash$> chmod +x ppp-on 
    Bash$> chmod +x ppp-off 
    Bash$> cd /etc/ppp 
    Bash$> chmod +x ppp-on-dialer 
    


     如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



    上一篇:理解IDS的主动响应机制   下一篇:ProFtpd快速指南

    文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
    更多相关文章