歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Linux撥號設置完全手冊

  本節的目的是在Linux下設置ppp,使其能撥號並連接到你的ISP,從而將你的機器與Internet相連,進而你就可以在網上為所欲為了。 喜歡條理清晰的文章,所以我寫的東西也盡量做到有條理。下面就是linux ppp客戶端設置的一般步驟:    1 編譯內核使其支持ppp。    2 設置串行端口和調制解調器。    3 掌握你的ISP的信息。    4 安裝撥號所需軟件並進行設置。    5 手動方式建立ppp連接。    6 使ppp連接自動化。    7 設置域名解析(DNS)。    8 其他問題。 1.1編譯內核使其支持ppp    要實現ppp客戶,一是需要內核支持ppp,另外就是需要ppp的軟件pppd(ppp daemon)。編譯內核雖然不難,但也並非簡單的一塌糊塗,慶幸的是,在大多數情況下,你不用重新編譯你的內核。我使用的是RedHat 6.0,它帶的內核就已經支持ppp了。其他各種發布版本的linux內核也是支持ppp的。如果你在使用自己編譯的內核,你就要注意這個內核是否支持ppp。編譯內核並不是本文的范圍,如果你確實要自己重新編譯內核,請查閱相關文檔。 1.2設置串行端口和調制解調器    串口設備文件    調制解調器是串行設備,外置的需要連到一個串口上,內置自己有一個串口。大家知道,UNIX系統對外設的操作都是通過特定的設備文件完成的,Linux下串口設備文件的命名和DOS的關系如下:    DOS COM1 = Linux /dev/cua0 (and /dev/ttyS0)    DOS COM2 = Linux /dev/cua1 (and /dev/ttyS1) 等等。    一般來說/dev/cua*是用來撥出的,/dev/ttyS*是用來撥入的,但現在好像已經不加以區分了,統統用的是/dev/ttyS*。如果你的機器上沒有/dev/ttyS*,你需要用mknod來自己建立這些設備文件,但有個腳本程序MAKEDEV可以簡化這個工作:    # cd /dev    # ./MAKEDEV ttyS0    設置中斷號和I/O地址你不需要閱讀這一節,除非你想要使用三個或更多的串行設備,比如一個串行鼠標,三個 modem 。    一般來講 COM1 和 COM3 共用 IRQ3 , COM2 和 COM4 共用 IRQ4 ,一個設備必須唯一對應一個 IRQ 號才行,如果有三個以上的串行設備,就要把別處沒用的中斷號拿過來用了。使用如下命令設置中斷號:    /sbin/setserial /dev/ttyS0 irq 3 # 串行鼠標    /sbin/setserial /dev/ttyS1 irq 4 # MODEM 1    /sbin/setserial /dev/ttyS2 irq 5 # MODEM 2    /sbin/setserial /dev/ttyS3 irq 9 # MODEM 3    你有必要將這些命令放在 /etc/rc.d/rc.local 中,使其在 linux 啟動時運行。你可以使用: cat /proc/interrupts    來察看系統的中斷設置,以確保沒有中斷沖突。 I/O 地址與中斷一樣,必須唯一。你可以設置硬件跳線來改變 I/O 地址。一般串行口的 I/O 地址是這樣的:    ttyS0 address 0x3f8    ttyS1 address 0x2f8    ttyS2 address 0x3e8    ttyS3 address 0x2e8    一般情況下,你沒有必要改變串行口的 I/O 地址。可以使用命令 cat /proc/ioports    來察看系統的 I/O 地址設置,以確保沒有沖突。    設置調制解調器    一般情況下,調制解調器的出廠設置就很合適了,不用改變什麼。但如果你把調制解調器搞得一塌糊塗,就需要對它進行從新設置。由於我這方面沒有實踐經驗,如果你真的不幸遇到這種情況,就去看看調制解調器的說明吧。    需要說明的是, linux 不支持所謂 winmodem ,這種 modem 需要特殊的 windows 驅動程序才能使用,目前還沒有 linux 下的驅動。據說這種 winmodem 就是所謂的“軟貓”,我看有點像。 1.3 掌握你的 ISP 的信息    由於你是通過 ISP 與 Internet 連接的,所以掌握 ISP 的信息對於你撥號是很重要的,下面列出了你應該知道的基本信息: 撥號服務的電話號碼 服務器使用動態 IP 地址分配還是靜態的 IP?


ISP 的域名服務器( DNS ) IP 地址是什麼 ? 登錄服務器時都要回答什麼問題? 如果服務器是 Windows NT ,它是否使用微軟的 PAP/CHAP 系統 ?    這裡可能會有一個問題  Windows 95 系列的撥號設置允許讓 DNS 的地址在連線過程中傳到客戶端。因此你的 ISP 可能會告訴你不需要知道 DNS 服務器的 IP 地址。對於 Linux 來說,它不允許在連線之時動態地指定 DNS 的 IP 地址。所以你需要知道 DNS 地址並自己設置 DNS 。    對於第 5 點,由於我沒有實踐經驗,並且實際應用比較少見,就不做討論了。請參閱相關文檔。 1.4 安裝撥號所需軟件 ppp 客戶所需的程序有 chat 和 pppd ,如果你的機器上還沒有這兩個程序,就要安裝它們。在 RedHat 中,使用如下命令:    rpm -Uvh ppp-2.3.7-2.i386.rpm    另外還有一個終端通訊程序 minicom ,在我們這裡是用來測試撥號用的,也要安裝上:    rpm -Uvh minicom-1.82-5.i386.rpm    chat 程序的用途是撥號並等待提示,根據提示輸入用戶名和密碼等登錄信息。 pppd 的用途是建立並維持與服務器的 ppp 連接,傳輸數據。 手動方式建立 ppp 連接    在進行了上面 4 項內容後,我們就要進行撥號了!這一節介紹的是一種手動的方法,目的是用來測試的。不管是手動還是後面要講的自動方式,整個 ppp 連接很明顯的分成兩個步驟: 撥通 ISP 的電話,建立物理線路的連接,並啟動 ISP 端的 pppd 程序。 啟動本機的 pppd 程序與服務器端的 pppd 進行握手,建立 ppp 連接。    你會在以後的敘述中很清楚的看到這兩個步驟。    如果你想節約時間,可以越過本節,直接配置自動 ppp 。但是作為 step by step 的建議,你還是應該閱讀本節,雖然你並不一定要實際的操作它。    用 minicom 測試撥號    首先我們用 minicom 測試一下,看看能否撥通 ISP 。我使用的是 RedHat6.0 自帶的 minicom ,其他版本的 minicom 可能熱鍵不同。在運行 minicom 之前,需要建立 /dev/modem 這個設備文件,比如我的 modem 接在 COM2 上,使用如下命令建立 /dev/modem :    ln /dev/ttyS1 /dev/modem    運行 minicom ,輸入 Ctrl-A ,再敲 Z 就可以看到幫助,此時按 D ,就是撥號,會出現一個界面,此時選擇 manual (手動),並輸入 ISP 的電話號碼,調制解調器一陣亂響之後,會有幾聲音樂響,並在屏幕上提示按任意鍵繼續,按任意一個鍵,就會出現你 ISP 的信息,並提示輸入 username , passWord ,有可能還要提示你選擇 ppp 連接還是 slip 連接等等。現在服務器端的 pppd 應該被啟動,表現就是會出現如下的垃圾字符: }8}!}$}%U}"}&} } } } }%}& ...}}"}(}"} .~y}    至此,說明你的機器撥號正常,可以與你的 ISP 正常連接。在這一步,你需要記錄下撥號服務器的提問,以及你的回答,以便今後實現自動撥號。    用 pppd 建立 ppp 連接    上面只是測試撥號能否成功,下面就是要建立 ppp 連接。    還是用 minicom ,如前所示進行撥號,直到出現垃圾字符,此時退出 minicom(Ctrl-A,Q) ,注意:不是 reset ,只是退出。然後執行 pppd 程序如下:    pppd debug lock modem crtscts defaultroute /dev/ttyS1 115200&    debug 是說要在 /var/log/messages 留下調試信息。 Lock 是說鎖定串口設備。 Modem 是說用調制解調器的控制信號。 Crtscts 是說使用硬件數據流控制, defaultroute 是說在本機路由表中加入一項缺省路由,它使你不僅能連到撥號服務器,還能通過它連接整個 Internet 。 /dev/ttyS1 是說 modem 在 COM2 口上, 115200 是串口的速率。 & 是說這個程序在後台執行。    等一段時間, ppp 連接建立之後,運行 ifconfig ,這是你就會看到 ppp0 的網絡接口,並能看出你被分配的 ip 地址和對端服務器的 ip 地址。運行 route ,你會看到對端服務器的 ip 地址也被加入了路由表。好了!你的撥號成功了!此時可以 ping 一下 Internet 上的某個主機的 IP 地址,因該是沒問題的。    現在還不能使用域名,因為還沒配(廢話)。    如果你的機器本身是連在局域網上的,你要確保在撥號之前沒有缺省路由,就是在 route 命令中看不到 default 或 0.0.0.0 。原因很簡單,撥號會產生一個缺省路由,如果原來就有一個,撥號產生的缺省路由就不起作用,你就不能連到 Internet 上,而還是在局域網裡。可以用命令:

   route del -net default    刪除以前的缺省路由,再進行撥號,從而使撥號產生的缺省路由有效。    怎樣才能知道 ppp 連接建立了呢?在一個單獨的虛擬控制台上運行:    tail -f /var/log/messages    你就可以動態的觀察各種日志信息,包括 pppd 的調試信息。當你看到:    Jun 23 16:10:31 hxf pppd[1234]: local IP address 210.78.131.151    Jun 23 16:10:31 hxf pppd[1234]: remote IP address 192.168.10.21



   你就可以動態的觀察各種日志信息,包括 pppd 的調試信息。當你看到:    Jun 23 16:10:31 hxf pppd[1234]: local IP address 210.78.131.151    Jun 23 16:10:31 hxf pppd[1234]: remote IP address 192.168.10.21



Copyright © Linux教程網 All Rights Reserved