一、什么是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

然后根据你的ISP作出相应的改动,比如ppp-on和ppp-on-dialer两个可执行文件:

ppp-on文件:只需要看我加入中文说明的地方

#!/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 the'ps' command. However, it is simple.

#

# These are the parameters. Change as needed.

TELEPHONE=32768 # ISP提供的上网电话号码

ACCOUNT=ynguo #账号名称

PASSWORD=faintyou #登录密码,注意修改本文件权限以便保密

LOCAL_IP=0.0.0.0 #本地IP地址,0.0.0.0表示由ISP动态分配

REMOTE_IP=0.0.0.0 #远端IP地址,一般为0.0.0.0

NETMASK=255.255.255.0 #子网掩码地址

#

# Export them so that they will be available at'ppp -on-dialer' 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 a'root' a ccount would be

# a security hole so don't ask.)

#

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

#

# Initiate the connection

#

# I put most of the common options on this command. Please, don't

# forget the'lock' 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. Don't use the'defaultroute' option if you currently

# have a default route to an ethernet gateway.

#

exec/usr/sbin/pppd debug lock modem crtscts/dev/tty S1115200

asyncmap20A0000 escape FF kdebug0$LOCAL_IP:$REMOTE_ IP

noipdefault netmask$NETMASK defaultroute connect$DI ALER_SCRIPT&

ppp-on-dialer文件:

#!/bin/sh

#

# This is part2 of the ppp-on script. It will perform the connection

# protocol for the desired connection.

#

exec chat-v

TIMEOUT3

ABORT'

BUSY

'

ABORT'

NO ANSWER

'

ABORT'

RINGING

RINGING

'

''

AT

'OK-+++c-OK' ATH0

TIMEOUT30

OK ATDT$TELEPHONE

CONNECT''

username:--username:$ACCOUNT

password:$PASSWORD

需要注意的是,在ppp-on脚本的最后一行用exec启动pppd的参数中,/dev/ttyS1代表modem连结在COM2口上,115200表示modem的速率,可以根据实际情况进行修改;此外,如果ISP提供的拨号提示不是username,而是login的话,需要将ppp-on-dialer中的username改为login (即把username和login去掉第一个字母)。

linux拨号教程,Linux拨号服务快速指南相关推荐

  1. Linux简易教程 Linux系统起源简介

    Linux简易教程 Linux系统起源简介 balabalabala Linux⽤⼾和权限 linux是⼀个多任务,多⽤⼾系统.多⽤⼾就带来了权限的问题,⽂件和⽂件夹都有明确的所有者和相应的读写权 限 ...

  2. usb网络linux系统安装教程,Linux系统入门学习:如何在树莓派上安装USB网络摄像头...

    Question: 我可以在树莓派上使用标准的USB网络摄像头么?我该如何检查USB网络摄像头与树莓派是否兼容?另外我该如何在树莓派上安装它? 如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头板 ...

  3. crf linux使用教程,Linux下CRF++的使用

    在之前使用CRF++的过程中一直是再Windows下运行的,由于训练文本不大,所以很顺利,但为提高结果准确率而增加训练语料内容,随之也出现问题,因为用自己的机子做会使cpu占用率在训练迭代时瞬间达到1 ...

  4. linux terminal教程,Linux入门教程 - 如何记录和重放Linux终端会话

    原标题:Linux入门教程 - 如何记录和重放Linux终端会话 来自:https://www.linuxmi.com/replay-linux.html 使用命令,我们可以在type文件中记录终端会 ...

  5. Linux学习教程 Linux入门教程(超全面 超详细)收藏这一篇就够了

    Linux是什么? linux是一个开源.免费的操作系统,其稳定性.安全性.处理多并发能力已经得到业界的认可,目前大多数企业级应用甚至是集群项目都部署运行在linux操作系统之上,很多软件公司考虑到开 ...

  6. linux informatica教程,linux下informatica服务安装和配置

    本文中将会用infa简称代替informatica 1.安装前准备 介质名称 版本信息 描述 Informatica Powercenter 9.5.1 for Linux 64 bit 必须 Jav ...

  7. linux服务器和客户端配置,Linux基础教程:YUM服务端与客户端配置步骤

    服务端配置:(分两种情况,rhce无需掌握,感兴趣的话可以研究): 情况1.yum直接使用光盘(光盘仓库默认做好了)做服务端配置 方式一:直接挂载光驱使用 mkdir /mnt/dvd mount / ...

  8. ansys 14.5 linux 安装教程,linux 安装 ansys14 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    Ansys14.0 安装简明教程 首先查看系统的版本,如果系统在6.1以上,网卡的名字应该被改变,eth0变成em1 这个时候需要把网卡的名字改成eth0,否则 ansys将无法正确读取mac地址,读 ...

  9. 服务器安全狗linux安装教程,[linux]安装linux版本64位服务器安全狗的图文教程

    [linux]安装linux版本64位服务器安全狗的图文教程 下载服务器安全狗Linux版64位版本 官网的说明 方法1:在官网直接下载软件安装包(.tar.gz 格式:safedog_linux64 ...

最新文章

  1. K:java中的序列化与反序列化
  2. 制作一个简单的linux
  3. C++实现输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
  4. 对话中国农民丰收节交易会 广东成立天然富硒转化联合体
  5. 【技术累积】【点】【java】【27】@JSONField
  6. Docker 部署java服务
  7. java 标志一个方法为过时方法
  8. 热烈祝贺《大数据》主编郑纬民教授当选中国工程院院士!!!
  9. 如何学习机器学习、看待算法竞赛?粉丝精选留言
  10. Zen Garden驾到:首批Metal游戏已登录iTunes应用商店
  11. 如何监测mysql主从复制状态_如何实时检测mysql主从状态,并做邮件告警?
  12. IO多路复用(番外篇)、poll、epoll三者的区别
  13. C#基础1:输入输出+变量定义
  14. CUDA: 共享内存与同步
  15. tomcat、redis session共存配置
  16. ubuntu 16.04 安装和卸载postman
  17. java 字符转换为字符串_java中将字符(Char)转换为字符串的四种方式
  18. IP66 IP67 防护等级介绍
  19. ISO27000系列标准
  20. mongodb mysql数据类型_插入mongodb类型

热门文章

  1. 【数据挖掘】关联规则知识点
  2. 必联路由器linux系统,必联网卡驱动下载_硬件驱动下载
  3. 债券研究系列之二——债券信息,报价,行情,交易及费用
  4. 将BP证书添加到浏览器中
  5. Qt之QTimer(定时器)
  6. PCM原始音频数据格式介绍
  7. 机器学习:BM25算法【TD-IDF的优化版本】
  8. Kotlin——高阶函数
  9. ×××要求付款、催付款英文信
  10. CUDA安装教程(超详细)