Linux 版 (精华区)
发信人: howdoit (教练让我上场!!!), 信区: Linux
标 题: Setting Up an Internet Connection
发信站: 哈工大紫丁香 (Tue May 18 08:48:07 1999), 转信
《Linux公报》……让Linux更富魅力!
Setting Up an Internet
Connection
Last updated: November 15, 1998
Development stage: Beta
翻译:salty_fish
If you have advice or problem remember to mail me,Welcome to
points incorrectness.Good luck .
建立Internet连接是让人迷惑的,尤其如果你是一个Linux新手。
如果你的ISP和大多数人一样,它使用点对点协议。我首先分别介绍配
置使用minicom和ppd,和使用chatscrip.你能使用很多方法中的一
种,如果其中一种对你没有用,试试其它的。如果都有用,那你可以
选一种较方便的。
如果你想快速的配置,有一种web-based配置脚本它将对你有用。
它使用CGI脚本为你创建文件并复制到你的配置文件目录/etc/ppp/。
The URL is http://www.linux.net.nz/pppconfig/。
Lord Pyromage 提到的pppsetup程序,它来自于Slackware。在他
看来,它使PPP配置变的很容易。所以如果你有Slackware,如果你不想
阅读本页你可以试用一下。
如果你现在没有被吓跑,那么往下读吧。
Using Minicom with PPPd
首先启动配置minicom(一个终端拨号程序)。在Linux提示符,
使用root,输入minicom -s.
这将引导minicom进入配置模式,这样,现在可以使用配置:
modem初始符(如果你使用标准modem它的初始符你可能使用的是
AT&D2;查阅你modem手册各种参数),波特率,等等。确认所有的都做
了,再从minicom主菜单中选择‘Save as dfl'(保存为默认)。;
如果minicom没有包含/dev/modem,退出程序键入ln -sf
/dev/ttyS1 /dev/modem.如果你的modem在DOS或WINDOWS下是COM2,就
用它。否则你使用COM1,列如,你用ttys0代替ttyS1。字母后面的数
字小一位,因为Linux从0开始而不是1。
Stuff to Watch Out For
你必须看一下你使用的波特率。不要使用太高的波特率,否则你
可能因不稳定的连接而断线。我使用的波特率只稍高于最快传输率。
你的初始符也可能有某些方面造成不稳定连接。如果你不知那些要做
(就象我一样),我建议使用简单的初始符就象AT&D2.
DNS and Nameserver Configuration
在再出现Linux提示符时,键入pico /etc/resolv.conf 输入名称
服务器地址。
插入就象下面几行,使用的自己的代替它们:
search local.net
nameserver 205.136.28.2
名称服务器是一台机器提供从Internet上转换主机名到它的IP得
志(列如,转换www.local.net到205.136.38.10)。许多ISP有一个以
上名称服务器,当你询问你的ISP名称服务器信息时,不要拒绝接受二
个或更多的地址。你可能想一些人已经使用Linux在你的ISP主机上做
了一个dnsquery。列如,你的ISP是Local Net(我的)和他们的主页
是http://www.local.net,那么无论谁怎么做DNS查询就象这样:
dnsquery local.net
Or:
dnsquery www.local.net
还有,我用我的ISP为例。你的ISP那儿可能有二个名称服务器,
你可以使用其中的一个,最好二个都用。名称服务器在dnsquery的最
后一行;确信做dnsquery的人知道这些。如果你使用Local Net作为你
的提供者这将是不同的。我想IP地址ns2.local.net不是主机名。
ns2.local.net是205.136.38.2所以我在这写了这些
在/etc/resolv.conf中在“nameserver"那一行后面添上名称服务
器的实际IP地址(2085.136.38.2)并完成以下的过程。如果你找不到
任何一个使用Linux的人,你可以通过电话找你的ISP问他们IP名称服
务器的IP地址。如果你知道了你的ISP名称服务器,那么你不需要读前
面几段有关名称服务器的内容。
就我所知,你可以使用任何一个人的名称服务器作为你的IP地址
(数字的如:205.226.256.2),意思是你可以把你的
/etc/resolv.con文件写成想我一样的并且它仍能工作。
PPP Options
现在你可以编辑/etc/ppp/options,使用 pico
/etc/ppp/options。这对使用点对点协议的很重要。如果你不填的话
你每次使用pppd必须带参数,那就很麻烦了,把下面几行插入文件:
0.0.0.0:
/dev/ttyS1
lock
crtscts
defaultroute
asyncmap 0
mtu 576
mru 576
你仅需要改变设备那一栏告诉它PPP使用那个设备。在我的计算机
我外置的modem使用COM2,它是/dev/ttyS1。你必须知道你的modem使
用哪个COM端口,或者从你的经验丰富的DOS/WINDOWS用户或技术全面
的Linux用户得到这些(你可能不是...但从现在开始)。
一旦你找到这些,你可以使用静态连接把/dev/ttySX('X'是相应
的数字)指定到/dev/modem设备。用以下输入可以做到
ln -s /dev/ttyS1 /dev/modem
如果必要的话,用你使用的设备代替ttyS1。基本上是ttyS0对应
DOS下的COM1,ttyS1是COM2,ttyS2是COM3,等等;ttyS后面的数字比
DOS或WINDOWS下的数字小一。
0.0.0.0:是你使用动态地址这是必须输入的PPP选项(你的IP地
址/主机名通常是你连接时ISP随机给出的并且每次不同),如果你有
静态IP地址(它在每次连接时是相同的),我不能肯定你是否可以不
填或填入你指定的IP地址。如果谁能为我解释这一点,请let me
know.
我认为mru和mtu的几行是你接收传送包的大小。我听一些人在IRC
提问怎么减少包的大小,那样,大的下载在同一时间就可以通过其它路
径传送了。传输的速度其实一样的,只是包比较小。一个576的包比
1024的包要小。
所有的一切都做了以后,你可以以root身份输入minicom再以root
身份输入pppd。Minicom所有用户都可以执行,但点对点协议守护神只
有超级用户可以执行(root)。我试过改变文件/usr/sbin/pppd的用户
权限。如果你曾偶然改变pppd文件的可执行权限,以root在/usr/sbin
目录使用chmod 755 pppd。如果你没有修改权限,你不需要做chmod这
一项。
Using PAP or CHAP?
许多ISP都使用PAP或CHAP鉴定,这需要一些额外的工作。幸好,
这并不难。如果你的ISP不使用PAP或CHAP,你可以跳到下一节。如果
你使用PAP或CHAP,你不在minicom拨号时不会出现login提示,所以这
就是为什么你要知道。
如果你使用ISP或PAP,你需要填写/etc/ppp/pap-secrets,或
/etc/ppp/chap-secrets。那些文件应该已经存在,如果不,创建你所
需要的。所有你所需在chap-secrets(or pap-secrets)输入的类似于
以下:
# Secrets for authentication using CHAP
# client server secret IP addresses
dork * unpopular
这儿'dork'是用户名,'unpopular'是密码。星号可以不管。
pap-secrets文件使用一样的语法,只是文件名不同而已。
在PPP选项文件(/etc/ppp/options)中差不多,除了一行例外。
0.0.0.0:
/dev/ttyS1
lock
crtscts
defaultroute
asyncmap 0
mtu 552
mru 552
name dork
额外的一行是name dork,它告诉pppd使用chap-secrets(or
pap-secrets)验证时用这个用户名。
我新的ISP使用CHAP验证,他们使用username@domain.net代替
username(有点怪,呵呵?),所以在/etc/ppp/options中用使用"name
dork@ynn.com"。如果有人做同样的事let me know。否则写入用户名
就可以了。
Dialing In
现在,建立拨号连接,执行minicom.当它启动,它会显示初始符
号,光标在文字的尾部,键入回车它会显示"OK"。输入ATDT#phone#,
这#phone#是拨号的号码。当做号以后,它提示输入用户名和密码,这
是必须的(除非你使用PAP或CHAP,如果你是的,使用Alt-q组合建回答
“Yes")。一些ISP将提问是否使用PPP或不,回答YES。当显示PPP数据
(看起来象 *&*&*!^%#!^$!%%@#&^$%&*!$%的垃圾),按Alt-Q"Exit
without reset?"回答'yes'.这下回到提示符下,在这使用pppd。键入
pppd建立连接
Possible Routing Problems
如果你的ISP使用网关(一台连接外部Internet的计算机)对于拨
号来讲这是一中不同的机器。这儿你要做什么呢。你需要改变你机器
的routing配置,以便确认你的机器存在于Internet。改变routing的
方法是以root执行ifconfig,它通过modem显示你的IP地址,但你使用
IP地址,但是有些主机ping不能得到的。怎么处理?首先,键入route
显示与下类似:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref U
se Iface 127.0.0.0 * 255.0.0.0 U 0
0 3 lo 205.226.158.252 * 0.0.0.0 U 0
0 7 ppp0
就如你所认为的,当你配置时许多IP地址可能不同。最后一行
route对我不适用,所以修改了一下,输入route del
205.226.158.252 ppp0 把那一行删掉,输入route addd default
ppp0 设置新route.或者你不想删掉旧的route,你可以只设置新的
route,它一样可以工作。
有二件事我不得不做,因为某些我不知到的原因,很明显网关是
对的,并且我成功的得到ping的结果。
Other Sources of Help
现在可以拨号连接。如果还不行,继续尝试或请求帮助(使用一些
Linux新闻组或IRC频道...我总是通过网络申出援助之手。
通常,我全力工作,所以用joshuago@usa.net写信给我。你也可
以使用help form或guestbook(这是实时回复模式)
Using a Chatscript
这时一个非常便利的连接到Internet的途径。一旦你设置好了,
你可以键入单一的命令就可以连接了。首先你必须知道一件事。在这
我就写在下面:
你的登录提示看起来象什么呢?一些ISP是login:;其它的是
username:。如果你用PAP或CHAP,一定就是这样。
你的密码提示看起来象什么呢?通常是password:但你要它工作
要怎么填写呢,比如你的ISP提示。PAP和CHAP不会有密码提示。
之间有多少巷,是不是说,CONNECT 38400是第一个提示?这就
是你为什么使用许多\n。
第一次登录时是否有许多其它的提示呢?
现在建立正真的脚本。使用root,创建一个实际的chatscrip文件
(这个文件告诉chat程序怎样同modem通讯)。我建议用.chat作为文件
的后缀;
现在输入下列行到yourispname.chat:
""AT&D2
OK ATDT#phone#
38400 \n
ogin: foobar
word: altm.415
在AT&D2那儿可以插入你使用的初始符。在#phone#你可以写入你
的modem所拨入的号码,我用的时ATDT4755868。'38400'显示你接入的
速率,'\n'告诉chat使用新行。'ogin:foobar'部分告诉chat'ogin:'
时提示’foobar'是回答。下一行一样。如果你使用PAP或CHAP不要写
入最后二行,因为密码并不是用明显的text验证的。
一般的写入你所看见的提示,并写入你发送出的字母。提示和回
答用空格分开。
如果你拨入,查看你波特率那一行(比如38400)和login:提示;如
果隔开一行用一个\n分开;如果是二行,使用二个\n,等等。记住这
一点。
避免root以外的用户读这个文件并发现你的登录密码,你必须改
变chatscript文件的权限,使只有root可以读它。我用chmod go-rwx
yourispname.chat做到这一点。
现在,你必须创建另外一个脚本——一个普通(shell)脚本。转到
/usr/sbin用root创建脚本。取名为yourispname。现在我们在
/usr/sbin可以使用pico yourispname修改文件。记住你可以改成任何
你所想取的名字。
pppd connect 'chat -f /root/yourispname.chat' /dev/modem 38400 0.0.0.0: asy
ncmap 0 crtscts defaultroute
你可以改变yourispname.chat,只要在路径就行。输入这一行
后,使文件可执行但只有root可以存取,使用chmod 700
yourispname.chat。
要连接,所有要做的是键入你创建文件的名字。所有要做的都要
以root身份。
Disconnecting
断开连接我使用killall pppd,这条命令杀死pppd程序,这样可
以断开你的modem和ISP的通讯。
Jas建议使用这个脚本:
#!/bin/sh
kill -TERM `cat /var/run/ppp0.pid`
意思是你可以使用pico或vim编辑器建立该文件,存为你所想存的
文件名(Jas使用ppp-down.sh)。然后会道提示符下,键入chmod +x
ppp-down.sh,这样文件可以被执行。我想我下线可以试试。
Modem Trouble
当你连接你的调制解调器是可能遇到一大堆的问题,对于大多数人来
说这是一个障碍。
PnP and Winmodem
Linux用户在使用即插即用(PnP)的 modem或Us Robotics的notorius
WinModem时,Linux可能在认出modem时有许多麻烦。最好的解决方法
是换一个modem,确信它不是"WinModem","Plug n' Play","PnP",
"Exclusivly for Windows",或相近的。
让Linux认识你的PnP设备有二种方法,骗过你的BIOS(把即插即用
"PnP OS Installed"选项关掉"off")或先启动Windws95,再使用DOS下
的程序Loadlin启动Linux核心的副本,通常在你的/boot/目录能找到
vmlinuz的文件(或开头的或相近的)。文件LOADLIN.EXE通常存在于销
售媒体,要么FTP或CD-ROM。
IRQ Conflict
你的modem可能试图共用一个,意思是和系统通讯时使用和其它设备同
一个中断请求,或IRQ,症状通常时连接很慢,发送配置请求超时,和
短时间内断线。
来自IRC on the Undernet的HydroFlow告诉我他不得不键入setserial
/dev/modem irq 10使它正常工作,当然,那是系统,所以选择适合你
系统的IRQ。那样指令才可能工作。
你可以用cat /proc/interrupts检查什么设备使用什么IRQ设置。
Author's Notes
当你用同样的内置modem,从14.4升级到33.6时,你仅仅需要改变
minicom或chatscrip的波特率和初始符。标准的拨叫符(ATDT)对于新
老modem均适用。
No Pico?
如果你没有安装pico,试试其它文本编辑器(emacs,vi,joe,jed)这样
你才能编辑使用文件。用它们替换"pico"毕竟"pico"象一个命令。你
使用何种文本编辑器并不重要。
最后修改时间98-12-08 13:28
Copyright 1997-1998 Joshua Go (joshuago@usa.net). All
rights reserved. Permission to use, distribute, and copy
this document is hereby granted. You may modify this
document as long as credit to me is given.
版权所有 (C) 1998 NJLUG
出版于第35期《Linux公报》1998年12月 中文版第二期
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.051毫秒