ISP-Connectivity-mini-HOWTO Michael Strates, mstrates@croftj.net v2.0, 6 November 1997 _________________________________________________________________ 这份文件描述如何设定PPP连线,连接你的 ISP ,设定mail及news,取得固定的IP 位置(如果有的话),并取得网域名称(domain name),并在30分钟之内有个适当的系 统可用. _________________________________________________________________ 1. 介绍 * 1.1 这份文件的最新版本 * 1.2 意见 * 1.3 不确定内容的宣告 * 1.4 版权消息 2. 连接外面的世界 * 2.1 利用 pppd 和 chat 来连接 * 2.2 IP 的 Doname Names 和次网域(Subnets) 3. 在你 Linux 中的电子邮件 _________________________________________________________________ 1. 介绍 这份文件的主要目地很明显的,就是要使每一个 Linux 新手能够熟悉各种连接你 的 Linux 电脑到网路上的设定,包含如何获得网路位置(IP address),网域名称 ( domain names ),并做好各种设定.这份指导文件是针对一个 linux 中级使用者 所写的,虽然聪明的新手不应该有任何错误才对. 1.1 这份文件的最新版本 这份文件的最新版本将会定期的章贴在comp.os.linux.answers 这个讨论区.它也 会被保存在许多收藏这类文件资料的匿名ftp站中(anonymous ftp),包括 [1]ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO 此外,你应当能在Linux计划的网页中找到它 [2]http://sunsite.unc.edu/LDP/ 1.2 意见 关於这份HOWTO文件的任何意见都是我所乐於知道的,拼字错误,以及改善的办法, 非常感谢你们的意见和批评.希望我的这份HOWTO能帮助一些人,如果我作到了, 我 将非常乐於收到你们来信告诉我 [3]mstrates@croftj.net [4]http://linloft.home.ml.org/ 1.3 不确定内容的宣告 关於这份文件内容并没有被接受的义务.你可以决定是否要冒险来使用文件中所提 到的观念 ,例子或是其它内容.虽然这是最新版本的文件,但它仍可能存在有错 误. 而它们可能会对你的电脑造成伤害.虽然它们发生的机率相当低, 但我仍无法 对你的电脑伤害负任何责任. 当然,可能还有一些更好或更简单的方法来完成这份文件中所说的事.在 Linux 的 世界中,方法是数不完的.这些是我做这些事的方法, 而我也将把这些我的做法在 这份 HOWTO中呈献给你. 1.4 版权消息 这份文件的版权是属於 (c)1997 Michael Strates 并於下列条件下发表: * Linux的HOWTO文件可能全部或只有部份被发表或提供藉由实质或电子的方 式, 只要这份版权宣告有被包含在内即可.商业性质的再次发表是允许且被鼓 励的, 但是文件作者希望能被告知所有的文件发表. * 所有的翻译,延伸的文件,或是聚集其它 Linux HOWTO 的文章都必须包含这份 版权宣告.也就是说,你不能发表一篇由充满限制条件但确是由这份 HOWTO 所 导出的文章.只有在某些特殊情况下这才是被允许的,请和下列位置的Linux HOWTO 协调者联络 * 如果你有任何问题,请和 Tim Bynum 联络,他是 Linux HOWTO 的联络者 [5]linux-howto@sunsite.unc.edu 使用 finger 指令可获得他的电话和电子邮件 地址(snail mail address) 2. 连接外面的世界 在这份文件中,我们将解释如何使用网路上最常用的 PPP (点对点通讯协定)来连 上网 路.它让你的数据机能和外界"通话".这就像是微软视窗3.x中的 Winsock 小 喇叭(Trumpet Winsock)以及许多其它你可能从没见过的程式. 在 Linux 中,我们使用一个叫 chat 的东西来帮我们做拨号至 ISP 的动作, 接著 再用一个叫 pppd 的工具来"利用"这个拨号至 ISP 的连线.你可以把 chat 想成 是你的拨号工具,而 pppd 是你的通讯协定.我们将在下面说明如何设定这两种工 具. 2.1 利用 pppd 和 chat 来连接 或许做这些事情最好的方法就是写一个 shell script 在 root的家目录下, 取名 为ppp-connect并且在每次你要连线时祈祷一下.我们将会讨论这个方法. 用root来login,并且用你最习惯的编辑器来编辑 /ppp-connect这个档. 你等一 下将必须你的参数是些什麽. pppd connect 'chat -v "" "your_init_string" "" ATDTisp_number CONNECT "" ogin: your_username word: your_passwd' /dev/tty(0/1/2) speed modem pppd 在你系统中的 /usr/sbin/pppd ,然候在载入 chat 来帮你拨号. Chat 将会 送出 你的初始字串到数据机上,然後开始拨你 ISP 的电话然後它就会开始等待萤 幕上出现 CONNECT 以及 ogin: 符号出现(这里没有开头的 l 是因为第一字元有 时会在传送时遗失),接著再送出你的密码, 到这里 chat就结束了它的工作,将剩 下来的部份交给 pppd 来表演. 最後一个指令是指定你的数据机在那一个连接埠上(我的是在 /dev/ttyS1). 通常 它都是在 ttyS1 (DOS 底下的 COM2),ttyS0 (DOS 底下的 COM1), 如果你是用 Slackware 的版本,就是 cua1 或是 cua0 .至於 spped 指的是你 modem 的速 度.我是始用 115200 在我的数据机(33.6k)上. 如果你是最近才买的电脑(有著 16550 UART ),那麽决对不要比 57600 来的低. 此外,14.4k 的 modem 可以把它 设成 38400.Modem 只会告诉 pppd 它是个 serial/modem. 如果你不希望有冗长 的记录档那就不要加上 -v 选项. 下面的例子是一个人拨号到一个自动提供 PPP 连线的 ISP(例如:该 ISP 没有任 何选择使用何者协定的画面.)时.这是他 /ppp-connect 里的内容 : pppd connect 'chat "" "ATZ" "" ATDT555-1800 CONNECT "" ogin: johnny word: blackjak' /dev/ttyS1 115200 modem 但是对有些人而言,他们的 ISP 会有选择何种协定并且不会自动启动 PPP 服务的 人,可能会造成一些问题(译注:像 Hinet).幸运的是, chat 也能处理这个问题.你 只需要增加一些命令到你的 chat 的 script 中即可. 例如,下面的 johnny 的 ISP 会丢给他一个画面,需要他输入 ppp 来建立 ppp 连线.他的 shell prompt 是用 $. pppd connect 'chat "" "ATZ" "" ATDT555-1800 CONNECT "" ogin: johnny word: blackjak $ ppp' /dev/ttyS1 115200 modem 如果这些超过一个字,确定你有用引号夹住它.我希望你能了解这些意思, 并且能 写出适合你连线的 script.只需改变第一个或第二个 script 中的 johnny 来配 合你的需要,连接埠, ISP ,等等并将它存档. 现在,你可以设定你的 scipt 并且确定只有 root 才能执行,读,写它. 这是非常 重要的.如果你决定保留 -v 选项,那要确定没有人能看你的记录档. 因为你的密 码将会在纯文字的记录档中被看见.(我很少看见需要 -v 的情况, 如果你不知道 我说这段的意思,那麽请务必移去 -v 选项. 2.2 IP 的 Doname Names 和次网域(Subnets) 对於大部份使用上面设定连线的人,一个不固定的 IP 位置并不会对他们造成困 扰. 这些人包括基本,一般的使用者,他们只要有拨接的帐号就好,并不需要很高深 的技术. 对於这些人可以跳过这一节,我将会告诉你必需作的重要工作来适切的设 定你的系统. 新手,可以跳过处理固定 IP ,Doname Names, Subnets,的这一节,而 只要读这节的 最後一部份就可以了. 向你的 ISP 取得固定的 IP 位置可能是免费的,所以,如果你不确定的话, 可以向 你的 ISP 询问.至於我个人,则是要付费来取得固定的 IP 位置. 固定 IP 或 doname 能让你收发 e-mail 等等.如果你想为你自己获得固定 IP , 写 e-mail 给 root@你的ISP.com ,询问他是否能给你一个固定的 IP. 当你有了固定的 IP 位置,用 grep 在你的 /etc 目录下寻找你旧的 IP 位置在 那. 我必需改变我 sendmail 目录下和 /etc/hosts 档案内容.还有一些必需改变 的档案. 必需靠你自己用 grep 指令把他们给找出来.在你的 /etc/hosts 中用标 准的格式加上你 新的 IP 位置,重新启动你的电脑,那麽你就可以准备连上网路 了. 你现在必需改变你的 script 来配合你新的设定.如果你被迫一开始连线就开启 PPP 那麽你需要告诉你 ISP 的系统管理者来确保他们的 PPP 系统知道你有固定 的 IP 位址,并且分配给你你自己的位置而不是任意的 IP 位置.如果你会有输入 何种协定的 画面,而且你必需打入 ppp 之类的东西才能开始连线.改变你的 /ppp-connect script 来送出这些字串来代替你自己在看到 $ 或其它提示符号时 自己所输入的字串. /usr/sbin/pppd :你的 IP 位置 把你的 ISP 所给你的位置填入.确定你在将位置填入你的 chat script 时,有用 " "来将它夹住.如果这没有用,询问你的 ISP 说你的 PPP daemon 在那里,并且要 求他下相关的命令.你可以试著保留这些设定,看看你的 ISP 是否认得你并且给予 你正确的位置. 下一件要做的事就是为你自己要到一个 domain name. 我知道在澳洲, .asn.au 和 .org.au 是免费的.在美国,你可以拿到一个 .us 的免费 domain ,但是可能要 一段时间.如果你在澳洲,你一定要去 [6]http://www.aunic.net/ 来注册你的 domain .在美国,则是到 [7]http://www.internic.net/ . 要注册网域( domain ),你必须提供 DNS 或其它类似的服务.如果你的 ISP 不能 提供 domain 给你,放弃一个公家的网域 .asn.au 或其它的网域名称, 并且向 Monolith Internet 要一个 Domain 吧. Monolith 为全世界任何人提供一个免费的 Domain.申请的过程完全不必接触到 人. 全部藉由网路表单( web forms )的界面,透过你的网路浏览器( brower )来 达成. 你的 domain 将会是一个 *.ml.org(*是你的申请名字)的形式. Monolith 将会为你在当地设立 DNS .如果你希望用 domain 来收发信件,要求你的 ISP 成 为你的 mail exchanger. 去 [8]http://www.ml.org/ 并且填写一份申请书.用你的帐号和密码进入 NIC , 并且取好一个免费的 domain 吧.你将必需输入你的 IP 位置,所以事先准备好 它.你的 domain 将会在几天内 存在於 DNS 中. 好了,现在我们将谈到新手的部份,或是那些无法拥有固定 IP 位置及 domain 的 人.你所要做的只有已 root 身份编辑 /etc/hosts 档,叫你的位置为一个不 会造 成冲途的名字,给他一个 10.10.10.10 或是类似的位置,并且重新启动你的电脑. 现在起,你已经用 pppd 和 chat 设定好你的电脑在10分钟内.现在,让我们到下一 段, 处理有关电子邮件的部份. 3. 在你 Linux 中的电子邮件 网路中最重要的一面是它令人感到神奇的便利性在国与国之间传送及接收信件, 或是使本地沟通更方便. Linux 在 console 的信件处理是简单而非常强而有力 的. 我们今天在这份文件中要介绍的是 Pine (一个处理 Internet Mail 和 News 的程式),是由华盛顿大学(University of Washington)所写的,至於接收邮 件, 利用一个叫 Fetchmail 的程式,由 Eric S. Raymond 所写的. 这两个程式应 当都包含在你的 Linux distribution 中. Fetchmail 是一个将你的 e-mail 从你的 server 利用 POP 上传送下来( download ) 的程式,传送邮件到你的电脑并且将位於 server 的邮件给删除掉,就 像在 Misrosoft windows 上的 Eudora 或 Microsoft Internet Mail/Exchange 一样. 要设定并自动化 fetchmail ,你可以利用在你家目录下的一个叫 /.fetchmailrc 来达成.只要用你最喜欢的编辑器来开启 /.fetchmailrc (记 住:用你自己的帐号来做,不要用 root )并且观察下面的命令列: poll mail.yourisp.com proto pop3 user login_name password your_passwd user login_name with pass your_passwd is login_name here 你所要做的就是替换 mail.yourisp.com用你 ISP 所提供给你的 mail server 来 代替, your_passwd 用你的密码代替,以及login_name 用你的帐号来代替. 一件值得注意的事就是为了让 Pine 和这个过程能顺利进行,你的帐号必需和你在 你 ISP 上的帐号相同.也就是你本地端的帐号必须和你在你的 server 上用的帐 号以及 e-mail addresss 相同. 下一步,确定 .fetchmail 的权限没有设错(档案所有人可读,可写)[译 注:-rw-------] 然候你就可以笑罗. Fetchmail 可以用两种方式来启动,一种是 standard 模式 (它将会显示 server 传来的邮件然後关闭程式),或是用 daemon 模式 (它会一直保持开启状态,并且每隔一段时间检查/下载邮件)要使用 daemon 模式的话,输入fetchmail -a -d(每格几秒连上 server ). -a 确保下载所有的邮 件.要使用 standard 模式,只要输入fetchmail -a. 接著,你必需设定 Pine .启动 Pine (只要在你的提式符号下打入 pine ) 选择 Setup - Configuration. 设定你的 userdomain 选项为你的 e-mail address 的 domain ,例如 jack@linux.org ,的 domain 是 linux.org . 下一步,设定 smtp-server 为你的 POP mail server (和你在 fetchmail 的设定一样).所以, 我们也写 www.linux.org .如果你想接收 news , 设定你的 nntp server 为你的 ISP 的 news server. 所以,这就是全部的设定,所有现在的功能都能运作了.连到你的 ISP , 只要用 root 执行 /ppp-connect .接著,用你的帐号下 fetchmail -a 来取得你所有的 e-mail .使用 Pine 要看你的 e-mail 和 news. 如果你喜欢,可以再安装一个文 字介面的网路浏览器( browser )像 Lynx 来观看 web. 有任何批评,问题及建意写信给 mstrates@croftj.net [中文译者 u3450897@cc.ncu.edu.tw] References 1. ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO 2. http://sunsite.unc.edu/LDP/ 3. mailto:mstrates@croftj.net 4. http://linloft.home.ml.org/ 5. mailto:linux-howto@sunsite.unc.edu 6. http://www.aunic.net/ 7. http://www.internic.net/ 8. http://www.ml.org/