ISP-Connectivity-mini-HOWTO <author>Michael Strates, <tt>mstrates@croftj.net</tt> <date>v2.0, 6 November 1997 <abstract>這份文件描述如何設定PPP連線,連接你的 ISP ,設定mail及news,取得固定的IP 位置(如果有的話),並取得網域名稱(domain name),並在30分鐘之內有個適當的系統可用. </abstract> <toc> <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>介紹 <p> 這份文件的主要目地很明顯的,就是要使每一個 Linux 新手能夠熟悉各種連接你的 Linux 電腦到網路上的設定,包含如何獲得網路位置(IP address),網域名稱 ( domain names ),並做好各種設定.這份指導文件是針對一個 linux 中級使用者所寫的,雖然聰明的新手不應該有任何錯誤才對. <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>這份文件的最新版本 <p>這份文件的最新版本將會定期的章貼在<it>comp.os.linux.answers</it> 這個討論區.它也會被保存在許多收藏這類文件資料的匿名ftp站中(anonymous ftp),包括 <p> <tt> <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO" name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO"> </tt> <p> 此外,你應當能在Linux計劃的網頁中找到它 <p> <tt> <htmlurl url="http://sunsite.unc.edu/LDP/" name="http://sunsite.unc.edu/LDP/"> </tt> <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>意見 <p> 關於這份HOWTO文件的任何意見都是我所樂於知道的,拼字錯誤,以及改善的辦法, 非常感謝你們的意見和批評.希望我的這份HOWTO能幫助一些人,如果我作到了, 我將非常樂於收到你們來信告訴我 <p> <tt> <htmlurl url="mailto:mstrates@croftj.net" name="mstrates@croftj.net"> </tt> <p> <tt> <htmlurl url="http://linloft.home.ml.org/" name="http://linloft.home.ml.org/"> </tt> <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>不確定內容的宣告 <p> 關於這份文件內容並沒有被接受的義務.你可以決定是否要冒險來使用文件中所提到的觀念 ,例子或是其它內容.雖然這是最新版本的文件,但它仍可能存在有錯誤. 而它們可能會對你的電腦造成傷害.雖然它們發生的機率相當低, 但我仍無法對你的電腦傷害負任何責任. <p> 當然,可能還有一些更好或更簡單的方法來完成這份文件中所說的事.在 Linux 的世界中,方法是數不完的.這些是我做這些事的方法, 而我也將把這些我的做法在這份 HOWTO中呈獻給你. <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>版權消息 <p> 這份文件的版權是屬於 (c)1997 Michael Strates 並於下列條件下發表: <p> <itemize> <item> Linux的HOWTO文件可能全部或只有部份被發表或提供藉由實質或電子的方式, 只要這份版權宣告有被包含在內即可.商業性質的再次發表是允許且被鼓勵的, 但是文件作者希望能被告知所有的文件發表. <item>所有的翻譯,延伸的文件,或是聚集其它 Linux HOWTO 的文章都必須包含這份版權宣告.也就是說,你不能發表一篇由充滿限制條件但確是由這份 HOWTO 所導出的文章.只有在某些特殊情況下這才是被允許的,請和下列位置的Linux HOWTO 協調者聯絡 <item>如果你有任何問題,請和 Tim Bynum 聯絡,他是 Linux HOWTO 的聯絡者 </itemize> <p> <tt> <htmlurl url="mailto:linux-howto@sunsite.unc.edu" name="linux-howto@sunsite.unc.edu"> </tt> 使用 finger 指令可獲得他的電話和電子郵件地址(snail mail address) <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>連接外面的世界 <p> 在這份文件中,我們將解釋如何使用網路上最常用的 PPP (點對點通訊協定)來連上網 路.它讓你的數據機能和外界"通話".這就像是微軟視窗3.x中的 Winsock 小喇叭(Trumpet Winsock)以及許多其它你可能從沒見過的程式. <p> 在 Linux 中,我們使用一個叫 chat 的東西來幫我們做撥號至 ISP 的動作, 接著再用一個叫 pppd 的工具來"利用"這個撥號至 ISP 的連線.你可以把 chat 想成是你的撥號工具,而 pppd 是你的通訊協定.我們將在下面說明如何設定這兩種工具. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>利用 pppd 和 chat 來連接 <p> 或許做這些事情最好的方法就是寫一個 shell script 在 root的家目錄下, 取名為<tt>ppp-connect</tt>並且在每次你要連線時祈禱一下.我們將會討論這個方法. <p> 用root來login,並且用你最習慣的編輯器來編輯 ~/ppp-connect這個檔. 你等一下將必須你的參數是些什麼. <p> <it>pppd connect 'chat -v "" "your_init_string" "" ATDTisp_number CONNECT "" ogin: your_username word: your_passwd' /dev/tty(0/1/2) speed modem</it> <p> pppd 在你系統中的 /usr/sbin/pppd ,然候在載入 chat 來幫你撥號. Chat 將會送出 <it>你的初始字串</it>到數據機上,然後開始撥<it>你 ISP 的電話</it>然後它就會開始等待螢幕上出現 CONNECT 以及 ogin: 符號出現(這裡沒有開頭的 l 是因為第一字元有時會在傳送時遺失),接著再送出<it>你的密碼</it>, 到這裡 chat就結束了它的工作,將剩下來的部份交給 pppd 來表演. <p> 最後一個指令是指定你的數據機在那一個連接埠上(我的是在 /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 選項. <p> 下面的例子是一個人撥號到一個自動提供 PPP 連線的 ISP(例如:該 ISP 沒有任何選擇使用何者協定的畫面.)時.這是他 ~/ppp-connect 裡的內容 : <p> <it>pppd connect 'chat "" "ATZ" "" ATDT555-1800 CONNECT "" ogin: johnny word: blackjak' /dev/ttyS1 115200 modem</it> <p> 但是對有些人而言,他們的 ISP 會有選擇何種協定並且不會自動啟動 PPP 服務的人,可能會造成一些問題(譯注:像 Hinet).幸運的是, chat 也能處理這個問題.你只需要增加一些命令到你的 chat 的 script 中即可. 例如,下面的 johnny 的 ISP 會丟給他一個畫面,需要他輸入 ppp 來建立 ppp 連線.他的 shell prompt 是用 $. <it>pppd connect 'chat "" "ATZ" "" ATDT555-1800 CONNECT "" ogin: johnny word: blackjak $ ppp' /dev/ttyS1 115200 modem</it> <p> 如果這些超過一個字,確定你有用引號夾住它.我希望你能了解這些意思, 並且能寫出適合你連線的 script.只需改變第一個或第二個 script 中的 johnny 來配合你的需要,連接埠, ISP ,等等並將它存檔. <p> 現在,你可以設定你的 scipt 並且確定只有 root 才能執行,讀,寫它. 這是非常重要的.如果你決定保留 -v 選項,那要確定沒有人能看你的記錄檔. 因為你的密碼將會在純文字的記錄檔中被看見.(我很少看見需要 -v 的情況, 如果你不知道我說這段的意思,那麼請務必移去 -v 選項. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect1>IP 的 Doname Names 和次網域(Subnets) <p> 對於大部份使用上面設定連線的人,一個不固定的 IP 位置並不會對他們造成困擾. 這些人包括基本,一般的使用者,他們只要有撥接的帳號就好,並不需要很高深的技術. 對於這些人可以跳過這一節,我將會告訴你必需作的重要工作來適切的設定你的系統. 新手,可以跳過處理固定 IP ,Doname Names, Subnets,的這一節,而只要讀這節的 最後一部份就可以了.<p> 向你的 ISP 取得固定的 IP 位置可能是免費的,所以,如果你不確定的話, 可以向你的 ISP 詢問.至於我個人,則是要付費來取得固定的 IP 位置. 固定 IP 或 doname 能讓你收發 e-mail 等等.如果你想為你自己獲得固定 IP , 寫 e-mail 給 root@你的ISP.com ,詢問他是否能給你一個固定的 IP. <p> 當你有了固定的 IP 位置,用 grep 在你的 /etc 目錄下尋找你舊的 IP 位置在那. 我必需改變我 sendmail 目錄下和 /etc/hosts 檔案內容.還有一些必需改變的檔案. 必需靠你自己用 grep 指令把他們給找出來.在你的 /etc/hosts 中用標準的格式加上你 新的 IP 位置,重新啟動你的電腦,那麼你就可以準備連上網路了. <p> 你現在必需改變你的 script 來配合你新的設定.如果你被迫一開始連線就開啟 PPP 那麼你需要告訴你 ISP 的系統管理者來確保他們的 PPP 系統知道你有固定的 IP 位址,並且分配給你你自己的位置而不是任意的 IP 位置.如果你會有輸入何種協定的 畫面,而且你必需打入 ppp 之類的東西才能開始連線.改變你的 ~/ppp-connect script 來送出這些字串來代替你自己在看到 $ 或其它提示符號時自己所輸入的字串. <p> <it>/usr/sbin/pppd :你的 IP 位置</it> <p> 把你的 ISP 所給你的位置填入.確定你在將位置填入你的 chat script 時,有用 " "來將它夾住.如果這沒有用,詢問你的 ISP 說你的 PPP daemon 在那裡,並且要求他下相關的命令.你可以試著保留這些設定,看看你的 ISP 是否認得你並且給予你正確的位置. <p> 下一件要做的事就是為你自己要到一個 domain name. 我知道在澳洲, .asn.au 和 .org.au 是免費的.在美國,你可以拿到一個 .us 的免費 domain ,但是可能要一段時間.如果你在澳洲,你一定要去 <htmlurl url="http://www.aunic.net/" name="http://www.aunic.net/"> 來註冊你的 domain .在美國,則是到 <htmlurl url="http://www.internic.net/" name="http://www.internic.net/"> . <p> 要註冊網域( domain ),你必須提供 DNS 或其它類似的服務.如果你的 ISP 不能提供 domain 給你,放棄一個公家的網域 .asn.au 或其它的網域名稱, 並且向 Monolith Internet 要一個 Domain 吧. <p> Monolith 為全世界任何人提供一個免費的 Domain.申請的過程完全不必接觸到人. 全部藉由網路表單( web forms )的界面,透過你的網路瀏覽器( brower )來達成. 你的 domain 將會是一個 *.ml.org(*是你的申請名字)的形式. Monolith 將會為你在當地設立 DNS .如果你希望用 domain 來收發信件,要求你的 ISP 成為你的 mail exchanger. <p> 去 <htmlurl url="http://www.ml.org/" name="http://www.ml.org/"> 並且填寫一份申請書.用你的帳號和密碼進入 NIC ,並且取好一個免費的 domain 吧.你將必需輸入你的 IP 位置,所以事先準備好它.你的 domain 將會在幾天內 存在於 DNS 中. <p> 好了,現在我們將談到新手的部份,或是那些無法擁有固定 IP 位置及 domain 的人.你所要做的只有已 root 身份編輯 /etc/hosts 檔,叫你的位置為一個不 會造成衝途的名字,給他一個 10.10.10.10 或是類似的位置,並且重新啟動你的電腦. <p> 現在起,你已經用 pppd 和 chat 設定好你的電腦在10分鐘內.現在,讓我們到下一段, 處理有關電子郵件的部份. <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> <sect>在你 Linux 中的電子郵件 <p> 網路中最重要的一面是它令人感到神奇的便利性在國與國之間傳送及接收信件, 或是使本地溝通更方便. Linux 在 console 的信件處理是簡單而非常強而有力的. 我們今天在這份文件中要介紹的是 Pine (一個處理 Internet Mail 和 News 的程式),是由華盛頓大學(University of Washington)所寫的,至於接收郵件, 利用一個叫 Fetchmail 的程式,由 Eric S. Raymond 所寫的. 這兩個程式應當都包含在你的 Linux distribution 中. <p> Fetchmail 是一個將你的 e-mail 從你的 server 利用 POP 上傳送下來( download ) 的程式,傳送郵件到你的電腦並且將位於 server 的郵件給刪除掉,就像在 Misrosoft windows 上的 Eudora 或 Microsoft Internet Mail/Exchange 一樣. 要設定並自動化 fetchmail ,你可以利用在你家目錄下的一個叫 ~/.fetchmailrc 來達成.只要用你最喜歡的編輯器來開啟 ~/.fetchmailrc (記住:用你自己的帳號來做,不要用 root )並且觀察下面的命令列: <p> <EM>poll mail.yourisp.com proto pop3 user login_name password your_passwd</EM> <p> <EM>user login_name with pass your_passwd is login_name here</EM> <p> 你所要做的就是替換 <EM>mail.yourisp.com</EM>用你 ISP 所提供給你的 mail server 來代替, <EM>your_passwd</EM> 用你的密碼代替,以及<EM>login_name</EM> 用你的帳號來代替. <p> 一件值得注意的事就是為了讓 Pine 和這個過程能順利進行,你的帳號必需和你在你 ISP 上的帳號相同.也就是你本地端的帳號必須和你在你的 server 上用的帳號以及 e-mail addresss 相同. <p> 下一步,確定 .fetchmail 的權限沒有設錯(檔案所有人可讀,可寫)[譯註:-rw-------] 然候你就可以笑囉. Fetchmail 可以用兩種方式來啟動,一種是 standard 模式 (它將會顯示 server 傳來的郵件然後關閉程式),或是用 daemon 模式 (它會一直保持開啟狀態,並且每隔一段時間檢查/下載郵件)要使用 daemon 模式的話,輸入<it>fetchmail -a -d(每格幾秒連上 server )</it>. -a 確保下載所有的郵件.要使用 standard 模式,只要輸入<it>fetchmail -a</it>. <p> 接著,你必需設定 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. <p> 所以,這就是全部的設定,所有現在的功能都能運作了.連到你的 ISP , 只要用 root 執行 ~/ppp-connect .接著,用你的帳號下 fetchmail -a 來取得你所有的 e-mail .使用 Pine 要看你的 e-mail 和 news. 如果你喜歡,可以再安裝一個文字介面的網路瀏覽器( browser )像 Lynx 來觀看 web. <p> <it>有任何批評,問題及建意寫信給 mstrates@croftj.net [中文譯者 u3450897@cc.ncu.edu.tw]</it> <p> <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - --> </article>