Linux 版 (精华区)
发信人: netiscpu (说不如做), 信区: Linux
标 题: Linux安装指南,第3部分
发信站: 哈工大紫丁香 (Tue May 18 08:01:20 1999), 转信
《Linux公报》……让Linux更富魅力!
---------------------------------------------------------------------------
-----
Linux 安装入门,第三部分
By Ron Jenkins 翻译:gaia
第三部分:网络及拨号上网的设置
好,现在我们将开始这个系列的第三部分,设置基本的网络功能,并把你的Linux和世
界连接在一起.如同本系列的每一部分,不同发行套件要求执行的操作不尽相同.和以前
一样, 我会在必要时介绍它们之间的差异. 在这一部分里,我将介绍如下内容:
网络基础
设置网络前的准备工作
设置回送(loopback)设备
基本网络设置
连接你的ISP
设置在拨号连接中使用的域名服务
设置在拨号连接中使用的Sendmail
测试并诊断你的基本网络设置和拨号连接
如果所有办法都失败了,这里有补救办法
傻瓜上网技巧
更多的信息资源
关于作者
网络基础
想必你会对诸如"Internet的发展历史"之类的琐屑细节感到乏味,不过要是你能一
般性地了解网络及TCP/IP,就会在使用网络时更加得心应手. 从根本上说,网络至少需要
三样东西才能工作:
网络接口,进出计算机的数据包要通过它
某种形式的物理连接,用于在不同地点之间传送数据
最后,要有双方都同意的传输数据的格式和方法,通常叫协议
就像只说法语的人和只说英语的人之间很难交流一样(不管他们用多大声音或说的
多慢),不同的网络如果没有共同的语言即协议,也不能相互通讯. 粗略地说,在Int
ernet世界,这种共同语言就是TCP/IP.
TCP/IP基于一种数字地址,叫IP地址.我敢说你们都见过像xxx.xxx.xxx.xxx之类的
东西, 其中x代表某个数值.一个实例就是204.252.102.2,我们当地ISP的域名服务器(D
NS)的地址.
"且慢,我可没输入这样的一堆东西,而是像www.foobar.com这样的地址,照样工作得
很棒.那一堆数字是怎么回事?
哈,机灵鬼.这正是DNS在施展身手呢.
DNS是通过一些互连的服务器组成的系统,它的运作方式就像一个倒放的金字塔一样
.
塔尖是从你当地的DNS开始的,它只能识别本地网段上的机器.至于它不能确定的名
字, 它知道如何告诉更 高级别的某台机器.就这样直到金字塔最宽的地方,那些机器储
存了所有的主域即"root"域的信息,如 .com, .net, .edu, .org等等.(这里我可有点糊
涂了.我看的一些书里讲的DNS运作大致是这样:客户机的resovler例程发送请求数据报
给本地DNS服务器,这没错;本地DNS服务器要么询问附近的其它DNS服务器,从CACHE 里得
到相应信息;要么向root域的DNS服务器发送请求,root域服务器返回要解析的主机名中
相应的top域(.com,.edu,.org...)DNS服务器的地址,top域服务器再返 回下一级DNS服
务器的IP地址...逐步接近所请求的域名,直到查到那个主机的信息.--译者注) DNS就是
这样一个巨大的,不停变化的数据库,储存了连到Internet上的所有机器的信息,并且24
小时不停地组织,校验,排序.
简单的说,在DNS服务器里面,本地网络内的任何机器都在"ZONE FILES"中有两项:
一个IP地址和一个主机名.在本文中,我们假设你的主机名叫tester,域名叫foobar.net
. (你需要从你的ISP那里得到相应信息并代替这些,详见后文.)这叫地址解析,它解释了
"www" 之类的字串是如何被处理的.
任何时候你送出一个请求,如果你请求的主机名在本地网络上,这些精干的小家伙把
它翻译成IP地址;否则,就把它往上级服务器送.明白了吧?
就本文而言,我们作如下工作来设置你的三个网络要素:
设置一个叫回送设备(loopback adapter)的网络接口.
物理连接就是你的电话线
使用的协议是TCP/IP
设置网络前的准备工作
如果你还没有ISP,你要了解什么信息
如果你已经有ISP,你需要了解什么信息
无论以上哪种情况你都需要了解的信息
如果你还没有ISP,你要了解什么信息
以下是你选择ISP时要考虑的几件事:
我把你要考虑的事情用问题的形式写出来,必要时加上解释.如果你想尽可能提高你
的上网效率,了解这些是非常重要的.
首先,你在和候选的ISP联系时会被推销员缠住.要求与技术人员谈话,或者电话里协
商. 否则,为了引你上钩推销员会吹得天花乱坠.技术人员则能有效地回答以下问题.如
果推销员或技术人员拒绝谈这些问题,或者含糊其词,谢谢他们的时间并且转身走人.这
并不是你想要的ISP.所以,不要急于作决定,我们这就开始:
你们提供什么类型的接入服务?无限制的还是按量计费(metered(即*plan)?无限制的好
.它总能保持稳定的速率.而metered和*plans不好,这些计划多半是每月有一些"免费"
上网时间,超过基数就每分钟或每小时加收费用.这很恶劣,把信息高速公路变成了收费
公路. 用我的帐号能使用UNIX shell吗?这告诉你两件事--如果回答为"是",那么你可能
连在一个UNIX机上.很好.如果不是,那就可能是NT系统,或者这家ISP不打算提供shell访
问. 这很糟糕.如果你有shell,并可以telnet 进你的帐号,你就可以干很多绝妙的事情
,见后文"傻瓜上网技巧". 你们和Internet的主干连接是什么类型?什么速度?很多小IS
P只有T-1型(用户带 宽1.534MBPS),甚至更糟,只有所谓Fractional T-1型,范围从64KB
PS一直到1.5M, 以64K为增量.然后他们通过终端服务器让像你一样的许多用户共用单个
网络出口.更好的是一种叫T-3的连接,它以45MBPS的速率运行,应该作为你能接受的最低
标准.如果候选的ISP连T-3连接都没有,找一家够标准的. 你们的用户/modem比例有多大
?这其实是问"相对于支持的用户数,你们有多少物理连接设备?"如今,大于4:1是不能接
受的,即每个modem支持4个用户. 至于你们的主干连接,你们有几条?通过几个提供者?好
的ISP应至少有一条T-3线路,连接到一家主干线路提供者,和多条(至少两条)T-1线路,每
条分别与一个主干线路提供者连接.设想一下, 如果你只有一个ISP,一旦它出了毛病,你
要等他们修好才能上网;而如果你分别从两个ISP得到两个帐号,一个不行了你可以换另
一个.对ISP们来说也是这个道理. 他们用什么机器?什么操作系统?如果回答是NT,劝您
还是换一家吧.特别要问他们是否用 UNIX主机,是否能用你的帐号使用shell,telnet,f
tp.如果是否定回答,再找几家看看. 你们使用什么用户认证协议?可接受的协议是clea
r-text,PAP,CHAP.不能接受的是 RADIUS, KERBEROS(可以考虑,但你可能需要帮助)GUA
RDIAN,或MS-CHAP.这些协议引起不必要的麻烦,让设置更复杂.除非你为NSA之类的机构
工作,否则并不需要这些. 再特别问一下给你的个人帐号分配多大的存储空间和Web空间
.至少应该有10M,越多越好. 最后,问一下是否支持一般的UNIX客户程序,特别是Linux客
户程序.如果他们不支持,就可能是NT机,不予考虑. 如果你已经有ISP,你需要了解什么
信息 如果你能成功连接到你的ISP,至少在基本功能的层次上你已经达到要求了.但
是,如果你只是用Windows系统连接过,你不一定能顺利地用Linux连接.有关NT的问题,看
看下面的 "注意"和"特别注意".
无论以上哪种情况你都需要了解的信息
在你动手之前,你需要从你的ISP那里获得以下信息:
拨号上网的电话号码
你的帐号的用户名及口令
你的ISP使用哪种认证措施.可能的选择有 Clear Text,PAP,CHAP
你的ISP使用静态还是动态IP地址分配.静态地址分配意味着你每次得到同样的IP地址(
这样对你更有利,)而动态地址分配每次从一个预留出来的IP集里面给你指定一个不同的
IP地址 (这样对他们有利.) 在你的ISP的网段上缺省网关的IP地址
他们的初级和次级DNS服务器的IP地址
你的ISP的技术支持电话,值守时间
注意:每个ISP有自己的偏好,有自己的一套步骤来获得接入服务.我在这篇文章
里所讲的仅仅是让你能与ISP建立物理连接并登录.某些服务或许需要额外的步骤才能实
现其全部功能. 特别注意:很多ISP不明智地(在我看来)依赖NT系统提供远程访
问.这给你设置系统增加了额外的麻烦,很多是专一于Microsoft的设置步骤.如果你的I
SP属于这一类,想办法在你设置时与技术人员联系.假如他们不能或不愿支持UNIX或Lin
ux系统,换一家愿意的.这样做是划算的,因为可以简化你的设置;而且,你的帐号拥有sh
ell,你就可以做所有后面"傻瓜上网技巧" 里介绍的绝妙的事情 即便如此,如果你的IS
P不愿意或不能支持你的Linux系统,看看我的"补救办法"这一节以获得一些解决办法.
设置回送(loopback)设备
回送设备对于网络连接正常工作是必需的.简单地说,任何一个网络连接,或按UNIX
世界的话叫"接口",都必须"绑缚"在一个物理的,同时也是逻辑的接口设备上.回送设备
的功能的实现并不需要像网络接口卡即(NIC)那样的真正的接口设备. 我们用回送
设备一方面作测试用,另一方面将其"绑缚"在与你的ISP之间的网络连接上, 这样把你的
modem作为网络接口.
Slackware 3.5:
在安装时应该为你做了这些工作.如果没有,从命令行敲入netcfg <return> , 按照
提示输入127.0.0.1作为你的网络接口.
RedHat 5.1:
同样,在安装过程中也涉及到这一点.如果没有,启动X并选择 "Control Panel/Net
work Configuration",然后在对话框下部,选择Add并按照提示进行.
基本网络设置
Slackware 3.5:
完成基本网络设置可通过直接编辑设置文件,使用netconfig工具,或混合使用这两
种方法.
RedHat 5.1:
利用前面提到的"Control Panel/Network Configuration",你可以完成大多数网络
设置.较新的RedHat 系统也可以使用linuxconf工具.
基本上,你只需要找到 /etc/hosts,为你的机器选择一个主机名和域名.我想一般
Slackware缺省用的是darkstar,RedHat 用localhost.重要的是,不要用Internet上已经
有了的主机名.把你的ISP的域名作为你的域名.所以,如果你的ISP是psi.net,你的机器
就可以是:
darkstar.psi.net
在最简单的情况下,如果你没有与一个LAN连接,而只是拨号到你的ISP,你的/etc/h
osts 就只需要包括loopback设备这一项.
连接你的ISP
Slackware 3.5:
如果你按照我前面说的那样找到合适的ISP,和他们的技术人员取得联系,让他们帮
你完成他们所要求的设置步骤.
如果没有,也可以继续读下去以便有一个大致的印象
在安装时,应该已经建立了到/dev/modem的符号连接,如果没有,就做一个.(ln -s
/dev/cuaX(或/dev/ttySX,总之是连接了你的modem的那个串行设备) /dev/modem)
一开始,你必须用minicom手工连接到你的ISP,看看你的ISP有那些要求:
minicom <return>
在它抱怨完没有作为root运行之后,按ALT+Z进入设置菜单,选择合适的设置选项 ,
干完这些后,按照提示把你的设置保存为缺省设置并退出.
现在,你可以在终端窗口里看见"OK".如果没有,回过头检查你的设置.
现在,拨你的ISP的电话号码:
ATDT你的ISP的号码
比如,
ATDT3659968 <return>
如果一切顺利,你会看到一个login提示符.键入ISP分配给你的用户名,按回车.然后
你被提示输入口令.输入口令.
这时,如果不出差错,你的屏幕上将出现一堆乱字符.这是好兆头,是另一端的ppp守
护进程正在试图和你的机器联系.
为了和它交谈,我们必须关闭minicom而不能重置(reset)modem(按ALT+Z进入菜单,
再按Q).下一步我们要启动我们自己的ppp守护进程.我的键盘输入很差,所以做了个小
脚本程序启动pppd连接:
vi unicom.connect <return>
#!/bin/sh
pppd /dev/modem (我更喜欢写 /dev/cua1 即 COM2,) crtscts defaultroute
好,我们保存并退出这个文件:
按ESC键进入命令模式,按Shift+:,然后是wq <return> 写入文件并退出 .
现在,咱们用以下命令把这个文件变成可执行的(类似DOS里的.EXE文件):
chmod +x 文件名 (在这个例子中是unicom.connect.)
OK!一切就绪.从某些方面讲,在我们做这些工作时minicom本该去休息.如果没有,按ALT
-Z, 这次要重置modem(在菜单里选X).
到此为止,我们做了以下事情:
启动minicom
拨ISP的号码
在登录提示符下键入用户名
按照提示键入口令
一旦乱字符出现,按下ALT-Z ,然后是q,退出minicom而不会重置modem
当shell提示符重新出现时,运行你的连线脚本.如上面写的unicom.connect
输入ifconfig .现在应该能看见两项,一个是loopback设备,另一个是ppp0.
跳起来庆贺吧!你已经连到Internet上了!
RedHat 5.1:
如果你按照我前面说的那样找到合适的ISP,和他们的技术人员取得联系,让他们帮
你完成他们所要求的设置步骤.
如果没有,也可以继续读下去以便有一个大致的印象:
首先,确认你的modem连在哪一个接口上.这项信息对你很有用.你的/dev/modem设备
应该是一个符号连接,它指向你的modem所连接的那个串口的设备文件.如果没有这个符
号连接, 用Control Panel里的modemtool来建立一个.你还可以在弹出的对话框里直接
输入这个端口.详见下文.
一般来说,似乎应使用符号连接/dev/modem,所以我也不打算解释为什么我不用.但
如果你碰到麻烦,你应该知道它代表哪一个端口.即:
COM 1: /dev/cua0; or /dev/ttyS0
COM2: /dev/cua1; or /dev/ttyS1
...
等等.
对于RedHat用户来说,如果不需要什么特殊要求的设置,下面要做的就相当简单了.
选择 Control Panel/Network Configuration/Interfaces,点击Add.当提示选择 Inte
rface Type时,选择PPP.下一步,输入ISP的电话号码,登录名,口令.
如果你的modem需要一些特殊设置,从对话框里选择Customize.完成设置后,选save
然后是quit.你可以选择两种方法激活这个网络接口,第一种是点击Network Configur
ator 里的ppp0项,然后点Active;在较新的系统中,可以使用Usernet工具.如果一切顺利
, 你的modem会发出一阵尖叫,然后登录,然后你就可以在网上尽情畅游了!
设置在拨号连接中使用的域名服务
这极其容易.我们只要告诉Linux让它使用ISP的DNS来解析主机名.首先,如果你正运
行 named(DNS守护进程),或BIND(一组使named运行的程序),检查/etc/host.conf,确认
里面包括了下面一行: order hosts, bind
现在,我们告诉resovler(一个神奇小家伙,不断地发送机器的查询请求)如何查询外
面的世界,并和世界对话.
从终端窗口或命令行,编辑/etc/resolv.conf,按照以下格式加上你的ISP的名字服
务器:
nameserver <space> 名字服务器的IP地址
比如:
nameserver 196.356.2.4
nameserver 196.356.2.5
注意:使用DNS服务器是按照它们在文件中出现的次序进行.所以,把你要优先查询的
DNS 服务器放在第一项,其余的放在后面.
在设置过程中,设置程序可能向这个文件写入了其它信息.如果是这样,在这些信息
行前面加一个"#"号将它们注释掉.
为了防止收到太多讨论这个话题的e-mail,我要说,我已经注意到在这个文件里你有
很多选项可以设置,而且你可以有做很多DNS方面的工作来提高resovler的性能,如设置
一个 caching-only服务器.这些将在以后的文章里讨论,所以耐心一点.
设置在拨号连接中使用的Sendmail
设置Sendmail,和设置DNS一样,本身就是高难技术.不过,以下是一些一般性建议:
cd /etc
编辑sendmail.cf,找到以下几行:
# "Smart" relay host (may be null)
DSyour.isp.mailmachine
接着找这几行:
#who do I send unqualified names to (null means deliver locally)
DRyour.isp.mailmachine
#who gets all local email traffic ($R has precedence for unqualified names)
DHyour.isp.mailmachine
最后,你或许想使用下面这行--读过文档以后再决定
#who do I masquerade as (null for no masquerading) (see also $=M)
DMyour.isp.domain.name
测试并诊断你的基本网络设置和拨号连接
就连接状况而言,你要么连上了,要么没有,二者必居其一.查看一下/var/log/mess
ages, 或许能有一些线索指出什么地方出毛病了.
如果你连上网却不能干某些事,原因可就五花八门了.不过以下是诊断问题的一些一般性
建议:
你能ping通别的机器的IP地址吗?如果是,接着往下看.否则,你的连接有问题或设置错误
. 这时候该用上ifconfig 和netstat -r 了. 你能ping通别的机器的主机名吗?如果是
,接着往下看.否则,你的域名解析有问题.检查一下你的/etc/resolv.con文件,确认里面
只有ISP的DNS服务器.再检查/etc/hosts文件,确认里面有localhost(使用loopback接口
)这一项. 是否有时候你能连到网上,但在数据传输阻塞时会掉线,或者你的线路没有任
何反应?这可能是你的ISP运行了自动中断程序,象一个连环杀手,以防止因用户modem不
正常退出而导致的线路长时间被占用.解决办法是运行"ping-forever"或keepalive之类
的脚本程序,每隔一段时间向服务器发送一次数据包以对付对方的定时程序,尽管一些I
SP会对此不满. 如果所有办法都不行,这里有补救办法
如果用Sendmail收e-mail或news有问题,可以用Netscape从ISP的服务器上取回你的
邮件. Netscape自己能处理POP3,假如你在对话框里输入了正确的信息,就不需要其它的
程序.
傻瓜上网技巧
访问速度慢的站点是不是很苦恼?下载大文件时常常断线吧?下面是我以前学到的一个小
窍门.如果你是按照我前面的建议做的,你应该已经有了一个完全合乎我们的标准的ISP
,至少用T-3连到Internet, 并且你有shell和telnet帐号.我的秘诀就是--使用T-3!如果
你telnet或rsh到你的ISP 给你的帐号,你可以在下载时利用他们的网络的全部能力.当
然了,给你的帐号分配的空间决定了你一次能下载多少数据(一般是10-20M).这样做无疑
增加了额外的步骤,你不得不回过头来把文件下载或rcp到你的机器上.但至少用这个办
法你可以得到用常规办法很难得到的东西.既然TTY连线只占用2400-9600 baut,当远程
会话在进行时,你可以在本地机器上干别的事情. 在系统引导时启动拨号连接--在RedH
at中,用Control Panel/Networking Configuration 可以实现这种设置.至于Slackwar
e,给我发e-mail,我正在传授自己潜心琢磨出的方法, 还写了一个能自动实现这种功能
的程序. 中止PPP连接--有好几种办法,要看你使用什么系统和当初是怎么建立连接的.
在RedHat系统中,你可以用Network Configurator或Usernet关闭PPP连接.在Slackware
里,甚至在RedHat下,如果X图形界面工具不起作用了,以下办法永远管用: ps uax|more
按ENTER滚动屏幕,直到发现正在运行的ppp守护进程.记住这个进程的PID,使用如下命
令: kill -9 进程PID
下月话题:把你的Linux接到一个网络上,并且把你的机器作为网络中其它机器的Intern
et网关! 更多的信息资源:
Linux文档计划(LDP):
http://sunsite.unc.edu/LDP/
连网的一般性指导:
Network Administrator's Guide, System Administrator's Guide, 和 NET-3 HOW-T
O
The Linux User's Guide
DNS HOW-TO
ISP Hookup HOW-TO
另外,从以下站点可以找到特定OS的信息:
Slackware 3.5:
http://www.cdrom.com/
RedHat 5.1:
http://www.redhat.com/
最后,查阅comp.os.linux* 新闻组,或者给我发 e-mail.
---------------------------------------------------------------------------
-----
以前的《Linux安装指南》
Linux Installation Primer #1, 1997 九月
Linux Installation Primer #2, 1997 十月
---------------------------------------------------------------------------
-----
版权所有 (C) 1998,gaia
出版于第34期《Linux公报》1998年11月 中文版第一期
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:208.194毫秒