荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (人生不定式), 信区: Linux
标  题: 用wvdial和ppp轻松上网(转寄)
发信站: BBS 荔园晨风站 (Thu Sep 14 12:40:48 2000), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@smth.org 所发表 】
发信人: starw (虫二·抛愚引砖), 信区: Linux
标  题: 用wvdial和ppp轻松上网(转寄)
发信站: BBS 水木清华站 (Thu Sep 14 03:09:48 2000)

http://www.linuxaid.com.cn/solution/posts/wvdial_ppp.html

用wvdial和ppp轻松上网

LinuxAid工程师bye2000

wvdial是linux下的智能化拨号工具,利用wvdial和ppp可以实现linux下的轻松上
网。在整个过程中wvdial的作用是拨号并等待提示,并根据提示输入相应的用户
名和密码等认证信息;ppp的作用是与拨入方协商传输数据的方法并维持该连接。

一、wvdial及其相关配置

wvdial的功能很强大,会试探着去猜测如何拨号及登录到服务器,同时它还会对
常见的错误智能的进行处理,不象chat一样,要求你去写登录脚本。wvdial只有一
个配置文件 /etc/wvdial.conf。wvdial的启动过程是这样的:首先载入wvdial.
conf配置文件,然后再初始化modem并拨号,拨号后等待拨入方的响应,收到拨入
方响应后则启动pppd。

可以用wvdialconf程序自动生成wvdial.conf配置文件,自行该程序的格式为:
wvdialconf /etc/wvdial.conf
在执行该程序的过程中,程序会自动检测你的modem的相关配置,包括可用的设备
文件名,modem的波特率,初始化字符等等相关的拨号信息,并根据这些信息自动
生成wvdial.conf配置文件。如果/etc/wvdial.conf文件已经存在时,再次执行该
命令只会改变其中的 Modem、Band、Init等选项。一个典型的自动生成的配置文
件可能是这样的:


[Dialer Defaults]

Modem = /dev/ttyS1
Baud = 115200

Init1 = ATZ

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0

;Phone =

;Username =

;Password =

wvdial的执行格式为:
wvdial --help | --version | section
相关的说明如下:
--help:显示简单的帮助信息
--version:显示wvdial的版本号
section:这里的section有点象windows里的ini文件,一个wvdial.conf配置文件
可以有好多个section,每一个section由一些变量组成,即由 变量=值 的语句
组成,如上所示。使用wvdialconf自动生成配置文件时将会自动生成一些常用的
变量说明如下:

Inherits=InheritedSection:
使用wvdialconf自动生成配置文件时将会自动生成[Dialer Defaults],除此之外,
你还 可以自定义你自己的section。程序运行时,首先载入[Dialer Defaults],
然后再用指 定的section的相应选项覆盖[Dialer Defaults]的相应选项。比如,
我们在 wvdial.conf中还有[Dialer Tom],假如我们运行wvdail Tom,则系统将
先读入[Dialer Defaults],然后再用[Dialer Tom]覆盖[Dialer Defaults]的相
应选项。如果除了以上 的section之外还有[Dialer 169]并且内容如下:
[Dialer Tom]
Username=tom
Password=xxx
Inherits=169
[Dialer 169]
Phone=169
如果这时候我们执行wvdial Tom则系统将先读入[Dialer Defaults],然后再用
[Dialer Tom]覆盖[Dialer Defaults]的相应选项,最后再用[Dialer 169]的相应
选项来覆盖前二者的相应选项。由此可见,利用wvdial,我们可以很方便地在不
同的ISP或modem之间来回移动(假如你有几个ISP或medom的话)。

Medom=/dev/ttySx:用于指定是用的medom,缺省的为/dev/medom。当然,在这里
我们的medom是由wvdialconf自动检测并配置的,所以我们可以忽略该变量。

Band=57600:wvdial与modem通信的波特率,同上可以忽略。

Area Code=xxxx : 设置区号

Dial Prefix=x: 假如你正在使用分机,拨外线需拨9时,可设该值为9。

Username=xxxx:登录时的用户名

Passwd=xxxxxx:登录密码

Phone=xxxxx: 所拨的号码

PPPP Path=:设置pppd所在的路径,缺省为/usr/sbin/pppd

Force Address=x.x.x.x :设置静态ip,一般的isp都会为你分配动态的ip地址。

New PPPD= 1 or 0: pppd 2.3.0及其以上版本需要/etc/ppp/peers/wvdial文件,
如果你的pppd是2.3.0以上版本请设为1.

Auto Reconnect=on :断线时是否自动重新连接,缺省设为是。

以上只是wvdial.conf中的常用选项,具体情参考wvdial手册。

二、pppd及其相关配置
pppd的配置选项相对要复杂得多,你可以用命令行的形式引用有关的选项,也可
以把要引用的选项写到/etc/ppp/options中进行引用。
下面的示例文件包含了最常用的选项及其相关的说明:
# /etc/ppp/options


# 主机名称
mng.null.edu.cn


# 如果没有给定本地ip, pppd 将使用主机的第一个ip地址;
# 如果指定了"noipdefault" 选项, pppd将使用拨入方提供的ip地址


noipdefault


# 选定该选项, pppd 将接受拨入方提供的ip地址

ipcp-accept-local


# 选定该选项, pppd 将接受拨入方自己的ip地址

ipcp-accept-remote



# 设置缺省网关
defaultroute


# 在传输数据包之前,让拨入方先自我认证,注意一般的ISP(如169、163)都不
包含该机 # 制,故应选中noauth
noauth


# 使用硬件流控制
crtscts


#将拨号信息作日志
debug

以上只是options中的常用选项,具体情参考pppd手册。

三、一个实例
下面让我们来看一个具体的应用,在该应用中我们实现了拨号和断开连接的自动
化。涉及到的配置文件有:
/etc/wvdial.conf :wvdial的配置文件
/etc/ppp/option : pppd的配置文件
/etc/ppp/ppp-on :拨号自动化脚本
/etc/ppp/ppp-of : 断开连接自动化脚本

步骤一:确保modem已经正确连接,linux已检测并自动配置了该modem

步骤二:运行wvdialconf,生成 /etc/wvdial.conf 文件并修改如下:
[Dialer Defaults]

Modem = /dev/ttyS1
Baud = 115200

Init1 = ATZ

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0

New PPPD= 1
[Dialer Tom]
Phone =
169
Username =
tom
Password = *******

步骤三:编辑并配置/etc/ppp/options,如下所示:
noipdefault


ipcp-accept-local


ipcp-accept-remote



defaultroute


noauth


crtscts


debug

步骤四:编写自动化脚本
1.拨号脚本 /etc/ppp/ppp-on:
#!/bin/sh
# This script initiates the ppp connections by wvdial
wvdial tom &







2.断开连接自动化脚本/etc/ppp/ppp-off:
#!/bin/sh

#!stop wvdial
killall wvdial
# If the ppp0 pid file is present then the program is running. Stop it

if [ -r /var/run/ppp0.pid ]; then

kill -INT `cat /var/run/ppp0.pid`

echo "PPP link to ppp0 terminated."

else

echo "ERROR: PPP link is not active on ppp0"

exit 0

fi


exit 1


编辑完后,执行 chmod u+x /etc/ppp/ppp* 改变文件权限。到此大功告成,以后
只要运行 /etc/ppp/ppp-on 便自动拨号,执行 /etc/ppp/ppp-of 便自动断开连
接。


--

        寒山惟白云,寂寂绝埃尘。草座山家有,孤灯明月轮。
        石床临碧沼,鹿虎每为邻。自羡幽居乐,长为世外人。


※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.117.1.24]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店