一、Linux 上的 PPP
Linux 中已经包括了点对点协议PPP,其主体是 pppd ,如果你已经使用过 Windows95 或 NT 的拨号网络,那么你已经具备了 PPP 的基本经验了。在 Windows95 的 PPP 在同 ISP 连接后,视 ISP 情况不同,会自动为 Windows 客户机提供 IP 地址和 DNS 服务器地址,而 Linux 的 PPP 不会自动接收 DNS 地址,这是Linux 与 Windows 的一点区别,所以,Linux 上的 PPP 在协议连接成功后,要多一步 DNS 的配置。
二、Kernel 的准备
你的 Linux 系统必须在 kernel 中配置支持 PPP 功能。如果你的 kernel 目前不支持 PPP,你需要重新生成一个支持 PPP 的 kernel。重新编译 kernel 的方法可看相关 Howto。
三、用辅助脚本配置 PPP 拨号网络
我一开始想运行 pppd 来连接拨号网络,但很快发现这是太麻烦了,因为选项太多。后来我发现,其实在Linux 上已经提供了几个 PPP 拨号程序模版,只要对这些模板略作修改,就可轻松联上 PPP 了。根据我的经验,如果顺利的话,10分钟就能完成配置。
(1)拨号程序所在的目录
对于 RedHat 5.0,这几个拨号程序(Script)在 /usr/doc/ppp-2.2.0f/scripts 下,如果要使用这些脚本,需要把它们拷贝到正确的目录中,具体如下:
ppp-on: PPP 连接脚本 拷贝到 /usr/sbin
ppp-off: PPP 断开脚本 拷贝到 /usr/sbin
ppp-on-dialer: PPP 登录会话脚本 拷贝到 /etc/ppp
ppp-redialer: 可轮循多个电话号码的登陆脚本 拷贝到 /usr/sbin (本文不用)
对于 Slackware 的用户,这些脚本已经安装到正确的目录了,无需做什么。
假定你在你的系统上找不到上述文件,可直接在本文后面的附录中cut。
(2)创建自己的拨号程序
假定现在我们要用 PPP 连接 163 网,我们就可以利用上述脚本来作很简单的配置。虽然我们可以直接在这些模板上做修改,我还是建议为自己拷贝一份模板,在新的拷贝上作修改比较好。所以,我们先做如下拷贝:
cd /usr/sbin
cp ppp-on ppp.163
chmod +x ppp.163
cd /etc/ppp
cp ppp-on-dialer dialer.163
chmod +x dialer.163
此外,要保证 ppp-off 也是可执行的
(3)定制自己的拨号程序
首先编辑你的 ppp.163,其中多数内容都不必改动,只要修改以下几处:
TELEPHONE=163
ACCOUNT=
PASSWORD=
DIALER_SCRIPT=/etc/ppp/dialer.163
另外,在最后的 exec 启动 pppd 一行里,注意提供你的 Modem 所在的串口设备文件(通常是COM1 /dev/cua0 或 /dev/ttyS0,COM2 /dev/cua1 或 /dev/ttyS1),并设置串口的通信速度(缺省是 38400,对于现在的高速 Modem,这个速度太低了,可设置成 57600以上)。完成后的 ppp.163 内容是:
#!/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 scripts as the codes
# are visible with the 'ps' command. However, it is simple.
#
# These are the parameters. Change as needed.
TELEPHONE=163 # 拨号号码
ACCOUNT=YourUserName # 用户名
PASSWORD=YourPassword # 口令,注意限制其他人读取本文件!
LOCAL_IP=0.0.0.0 # 本地IP地址,0.0.0.0 表示动态分配
REMOTE_IP=0.0.0.0 # 原端IP地址,一般是 0.0.0.0
NETMASK=255.255.255.0 # 子网掩码
export TELEPHONE ACCOUNT PASSWORD
#
# This is the location of the script which dials the 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' account would be
# a security hole so don't ask.)
#
DIALER_SCRIPT=/etc/ppp/dialer.163 # 拨号登录脚本文件名
#
# 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/ttycua0 57600 \
asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \
noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
然后,检查一下你的登录会话程序 /etc/ppp/dialer.163,在我所在的 163 ISP,这个从模板拷贝过来的会话程序可直接使用,如果有以下情况,你需要对这个会话程序略作改动:
(1)如果拨号提示输入用户名的提示符不是 login:
(2)如果登录成功后还要用户再交互打入命令 ,才启动 ppp 协议
本文后面的附录三是一个根据上述要求略加修改后的登录脚本。
建议:假如你有多个 ISP 可连接,就创建多个拨号 PPP 连接脚本和相应的 PPP 登录脚本。
四、启动 PPP 和断开 PPP
启动你的 PPP 连接唯一要做的就是开启 Modem,运行刚才写好的 ppp.163。你的 ppp.163 脚本将自动拨号、送出登录信息、完成协议认证,等你看到你的 Modem 上的数据传输指示灯不再闪动并保持连接状态,PPP 连接就完成了,你可以打命令:
netstat -r
查看当前的路由表,如果 PPP 协议连接成功的话,路由表里就会有连接你的 ISP 的缺省路由。你的 PPP已经配置成功了。
如果没有成功,注意看一下 /etc/ppp 下的 PPP 出错记录文件。
要断开 PPP 连接,运行 ppp-off。
五、DNS 的配置
PPP 连接成功后,如果要使用 WWW 浏览器、Ftp、Telnet 等服务,必须正确配置 DNS 域名解析。所以,一旦 PPP 连接完毕,应该在 /etc/resolv.conf 中加入一行:
nameserver
注意 nameserver 后面的是你的 ISP 的 DNS 服务器的 IP 地址,并且这一行说明必须放在其他的nameserver 说明之前,否则,你的 Linux 系统不会访问你的 ISP 的 DNS 服务器。然后,你就能使用各项 Internet 服务了。
六、自动配置 DNS 解析
本节内容并不是配置 PPP 必需的,但能对 PPP 的使用提供一些方便。
由于你的 Linux 并不总是连在 Internet 上,所以在不连接 PPP 时,需要的 resolv.conf 是不同的。所以,我们希望有一种办法能根据不同的情况,在 Linux 系统上自动设置合适的 resolv.conf 。
在 /etc/ppp 下,有两个根据 PPP 连接状态自动运行的脚本,ip-up 和 ip-down,分别在 PPP 建立连接和断开连接时运行,如果用户希望在 PPP 连接或断开时执行某些命令,可以在 /etc/ppp 目录下建立脚本文件 ip-up.local 和 ip-up.local,在这两个文件中放入要执行的命令。当 PPP 建立连接后,ip-up会调用 ip-up.local,执行用户命令;当 PPP 断开连接后,ip-down 会调用 ip-down.local ,执行用户命令。
所以我们可以利用这个机制实现 DNS 解析的自动配置,方法如下:
(1)在 /etc 下编辑分别适用于 PPP 连接状态和正常本地状态的 DNS 解析配置文件,我们假定这两个文件是 resolv.ppp 和 resolv.normal。
(2)在 /etc/ppp 下建立 ip-up.local,设置其执行权限,并在文件中加入: cp /etc/resolv.ppp /etc/resolv.conf
(3)在 /etc/ppp 下建立 ip-down.local,设置其执行权限,并在文件中加入: cp /etc/resolv.normal /etc/resolv.conf 这样设置后,每当 PPP 连接成功后,/etc/resolv.conf 的内容就是 resolv.ppp,而 PPP 断开后,/etc/resolv.conf 被恢复成 resolv.normal 的内容。
附录一:PPP 连接脚本模板 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 scripts as the codes
# are visible with the 'ps' command. However, it is simple.
#
# These are the parameters. Change as needed.
TELEPHONE=555-1212 # The telephone number for the connection
ACCOUNT=george # The account name for logon
PASSWORD=gracie # The password for this account
LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0 # The proper netmask if needed
#
# 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 the phone and logs
# in. Please use the absolute file name as the $PATH variable is not
# used on the con
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
·共享上网专题 (1826篇文章)
·Linux集群技术 (7455篇文章)
·体验Linux的音影世界 (7209篇文章)
·Linux驱动大全 (7806篇文章)
·Linux下的路由的配置与应用 (10580篇文章)
·Linux命令简介 (8806篇文章)
·Linux防火墙 (8679篇文章)
·Linux日志专题 (7571篇文章)
·Linux服务器的安全性能 (17829篇文章)
·揭秘Linux内存管理 (7263篇文章)
·Linux集群技术 (7455篇文章)
·体验Linux的音影世界 (7209篇文章)
·Linux驱动大全 (7806篇文章)
·Linux下的路由的配置与应用 (10580篇文章)
·Linux命令简介 (8806篇文章)
·Linux防火墙 (8679篇文章)
·Linux日志专题 (7571篇文章)
·Linux服务器的安全性能 (17829篇文章)
·揭秘Linux内存管理 (7263篇文章)
·Red Hat Enterprise Linux AS 4 Update 3 ( (7371次浏览)
·Linux下的FTP服务器配置 (3068次浏览)
·Linux入门时必学60个文件处理命令 (3067次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (3019次浏览)
·Linux系统中如何实现远程控制 (2834次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2829次浏览)
·linux下安装软件的办法 (2775次浏览)
·菜鸟大学堂:一步一步配置WEB服务器 (2654次浏览)
·Linux下用vsftpd构建FTP服务器 (1102次浏览)
·Windows外衣Linux心 红旗桌面版详测 (1081次浏览)
·Linux下的FTP服务器配置 (3068次浏览)
·Linux入门时必学60个文件处理命令 (3067次浏览)
·清爽漂亮 Ubuntu 7.04 新手指南 (3019次浏览)
·Linux系统中如何实现远程控制 (2834次浏览)
·RedHat7.2下ADSL双网卡共享上网实战 (2829次浏览)
·linux下安装软件的办法 (2775次浏览)
·菜鸟大学堂:一步一步配置WEB服务器 (2654次浏览)
·Linux下用vsftpd构建FTP服务器 (1102次浏览)
·Windows外衣Linux心 红旗桌面版详测 (1081次浏览)
·更好用的Linux:Mandriva 2008正式发布 10-12
·Debian下系统时间比正常时间快8小时的问题 10-12
·开源空间:交叉编译Linux内核(2.6.22.6) 10-12
·新手学堂:类Linux中各种各样的编程语言 10-12
·用Tftp向目标板烧写Linux的系统内核过程 10-11
·RedHat Linux9.0 安装过程 10-11
·7大最有影响力的GNU/Linux发行版 10-11
·Linux系统下的C语言开发都需要学些什么 10-11
·Linux 技巧: 用cron 和at 调度作业 10-11
·各种Linux操作系统版本安装图解教程下载 10-11
·Debian下系统时间比正常时间快8小时的问题 10-12
·开源空间:交叉编译Linux内核(2.6.22.6) 10-12
·新手学堂:类Linux中各种各样的编程语言 10-12
·用Tftp向目标板烧写Linux的系统内核过程 10-11
·RedHat Linux9.0 安装过程 10-11
·7大最有影响力的GNU/Linux发行版 10-11
·Linux系统下的C语言开发都需要学些什么 10-11
·Linux 技巧: 用cron 和at 调度作业 10-11
·各种Linux操作系统版本安装图解教程下载 10-11
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容



