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/