centos的ADSL(pppoe设置)

centos的ADSL(pppoe设置)

4.2.3 ADSL 撥接上網 (適用台灣 ADSL 撥接以及光纖到大樓)

終於來到台灣最熱門的 ADSL 撥接上網的介紹啦!來談一談如何在 Linux 上撥接上網吧! 要撥接上網時,可以使用 rp-pppoe 這套軟體來幫忙(註1),所以,你必須要確認你的 Linux distributions 上面已經存在這個玩意兒了!CentOS 本身就含有 rp-pppoe ,請使用原版光碟,或者是使用 yum 來進行安裝吧!

[root@www ~]# rpm -q rp-pppoe
            rp-pppoe-3.5-32.1    <==你瞧瞧!確實有安裝喔!理論上,預設都會安裝啦!
            

當然,很多 distributions 都已經將撥接這個動作歸類到圖形介面裡面去了,所以可能沒有提供 rp-pppoe 這個咚咚,沒關係,你可以到底下的網站去取得的:

  • http://www.roaringpenguin.com/pppoe/
  • http://freshmeat.net/projects/rp-pppoe/

然後再自行手動安裝即可。如何安裝的過程鳥哥在這裡就不談了,請自行前往基礎篇的原始碼與 Tarball 章節查閱相關資料吧。 另外請注意,雖然整個連線是由主機的乙太網路卡連接到 ADSL 數據機上,然後再透過電話線路連線到 ISP 的機房去,最後在主機上以 rp-pppoe 撥接達成連線。但是 rp-pppoe 使用的是 Point to Point (ppp) over Ethernet 的點對點協定所產生的網路介面,因此當你順利的撥接成功之後, 會多產生一個實體網路介面『 ppp0 』喔!

而由於 ppp0 是架構在乙太網路卡上的,你必須要有乙太網卡,同時,即使撥接成功後,你也不能將沒有用到的 eth0 關閉喔!注意注意!因此,撥接成功後就會有:

  • 內部迴圈測試用的 lo 介面;
  • 網路卡 eth0 這個介面;
  • 撥接之後產生的經由 ISP 對外連接的 ppp0 介面。

雖然 ppp0 是架構在乙太網卡上面的,但上頭這三個介面在使用上是完全獨立的,互不相干, 所以關於 eth0 的使用上,你就可以這樣思考:

  • 這張網路卡 (假設是 eth0) 有接內部網路(LAN)

    舉例來說,如果你的區域網路如同第三章的圖3.1-1 所示,也就是說,你的 ppp0 可以連上 Internet ,但是內網則使用 eth0 來跟其他內部主機連線時, 那麼你的 IP 設定參數: /etc/sysconfig/network-scripts/ifcfg-eth0 應該要給予一個私有 IP 以使內部的 LAN 也可以透過 eth0 來進行連線啊!所以我會這樣設定:
    [root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
                    DEVICE=eth0
                    BOOTPROTO=none
                    BROADCAST=192.168.1.255
                    IPADDR=192.168.1.11
                    NETMASK=255.255.255.0
                    ONBOOT=yes
                    
    並請記得一件事情,那就是:『千萬不要有 GATEWAY 的設定!』, 因為 ppp0 撥接成功後, ISP 會主動的給予 ppp0 介面一個可以連上 Internet 的 default gateway , 如果你又設定另一個 default gateway ,兩個閘道器可能會造成你的網路不通喔!

  • 這部主機僅有連接 ADSL 數據機,並沒有內部網域

    如果這部 Linux 主機是直接連接到 ADSL 數據機上頭,並沒有任何內部主機與其連線,也就是說,你的 eth0 有沒有 IP 都沒有關係時,那麼上面的設定當中的那個『 ONBOOT=yes 』直接改成『 ONBOOT=no 』就好了!那撥接不會有問題嗎? 沒關係啊,因為你撥接啟動 ppp0 時,系統會主動的喚醒 eth0 ,只是 eth0 不會有 IP 資訊就是了。

至於其他的檔案請參考手動設定 IP 的連線方法來處理即可。 當然啦,撥接之前,請確認你的 ADSL 數據機 (小烏龜) 已經與主機連線妥當,也取得帳號與密碼,也安裝好了 rp-pppoe ,然後就來處理吧!

  1. 設定連接到 ADSL 數據機那張網卡 (暫訂為 eth0)

    說實在的,鳥哥比較建議將內外網域分的清清楚楚比較好,所以,通常我都是主機上面接兩塊網路卡, 一張對內一張對外,對外的那張網卡預設是不啟動的 (ONBOOT=no)。考慮到你可能僅有一張網卡,那麼鳥哥也會給你建議, 直接給 eth0 一個私有 IP 介面吧!設定就如同本節稍早提到的那樣囉!

  2. 設定撥接的帳號與密碼

    好了,那麼開始來設定你的帳號與密碼吧!這個動作只要在第一次建立帳號/密碼時處理即可,未來除非帳號密碼改變了, 否則這個動作都不需要重新處理啦!
    [root@www ~]# adsl-setup
                    Welcome to the ADSL client setup.  First, I will run some checks on
                    your system to make sure the PPPoE client is installed properly...
                    LOGIN NAME
                    Enter your Login Name (default root): T1234567
                    # 注意啊!這個帳號名稱是 ISP 給的,其中如果是 SeedNet ,輸入如上,
                    # 如果是 Hinet 的話,就得要輸入 [email protected] ,後面的主機名也要寫。
                    INTERFACE
                    Enter the Ethernet interface connected to the ADSL modem
                    For Solaris, this is likely to be something like /dev/hme0.
                    For Linux, it will be ethX, where 'X' is a number.
                    (default eth0): eth0
                    # 就是連接到 ADSL 數據機的那張網卡代號
                    Do you want the link to come up on demand, or stay up continuously?
                    If you want it to come up on demand, enter the idle time in seconds
                    after which the link should be dropped.  If you want the link to
                    stay up permanently, enter 'no' (two letters, lower-case.)
                    NOTE: Demand-activated links do not interact well with dynamic IP
                    addresses.  You may have some problems with demand-activated links.
                    Enter the demand value (default no): <==這裡按 Enter 確定不要即可
                    DNS
                    Enter the DNS information here: 168.95.1.1
                    Enter the secondary DNS server address here: 139.175.10.20
                    # 這兩個設定會影響 /etc/resolv.conf 的內容喔!
                    PASSWORD
                    Please enter your Password: <==這裡則是輸入你 ISP 給的密碼
                    Please re-enter your Password: <==再一次密碼
                    USERCTRL
                    Please enter 'yes' (two letters, lower-case.) if you want to allow
                    normal user to start or stop DSL connection (default yes): no
                    # 不讓使用者可以啟動或關閉 ADSL 的設定比較好吧!
                    The firewall choices are:
                    0 - NONE: This script will not set any firewall rules.  You are responsible
                    for ensuring the security of your machine.  You are STRONGLY
                    recommended to use some kind of firewall rules.
                    1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
                    2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                    for a LAN
                    Choose a type of firewall (0-2): 0
                    # 先不要 ppp 的防火牆!後面我們會使用 Linux 本機的防火牆!
                    Start this connection at boot time
                    Do you want to start this connection at boot time?
                    Please enter no or yes (default no):yes
                    # 是否要開機的時候就撥接?如果你的數據機是一直開著的,這裡使用 yes 較佳
                    Ethernet Interface: eth0
                    User name:          T1234567
                    Activate-on-demand: No
                    Primary DNS:        168.95.1.1
                    Secondary DNS:      139.175.10.20
                    Firewalling:        NONE
                    User Control:       no
                    Accept these settings and adjust configuration files (y/n)? y
                    # 如果沒有問題就按下 y 開始寫入設定檔吧!
                    Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
                    Adjusting /etc/resolv.conf
                    (But first backing it up to /etc/resolv.conf.bak)
                    Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
                    (But first backing it up to /etc/ppp/chap-secrets.bak)
                    (But first backing it up to /etc/ppp/pap-secrets.bak)
                    # 上面具有特殊字體的檔案主要功能是:
                    # ifcfg-ppp0  :亦即是 ppp0 這個網路介面的設定檔案;
                    # resolv.conf :這個檔案會被備份後,然後以剛剛我們上面輸入的 DNS 資料取代;
                    # pap-secrets, chap-secrets:我們輸入的密碼就放在這裡!
                    
    這樣設定就成功啦!很簡單吧!唯一需要注意的是在上面的 username 那個地方,千萬注意, 因為 hinet 與 seednet 的設定是不一樣的!千萬小心呢!否則會無法連上線呦!此外, 由於我們在未來還會有 firewall 的建置,所以這裡不太需要使用到防火牆啦!否則也可能無法連上 Internet 呦!另外,注意一下,一般撥接需要的身份認證機制透過的是 chap 與 pap(註2), 在 rp-pppoe 這套軟體中,就將兩種認證機制所需的資料通通記錄下來啦!那就是 chap-secrets, pap-secrets, 你可以分別察看兩個檔案的內容,就知道那是啥咚咚了!

  3. 透過 adsl-start, adsl-connect 或 network restart 開始撥接上網

    啟動 ADSL 的方法很多,通常鳥哥都是使用 /etc/init.d/network restart 即可處理!不過,如果發生一些不明的錯誤, 也可以使用 adsl-stop 關閉後再以 adsl-start 立即啟動撥接試看看。一切順利的話,會如同下面的畫面:
    [root@www ~]# adsl-start
                    ....Connect!
                    
    這樣就是顯示連上 Internet 啦!通常比較容易出問題的地方在於硬體的連線情況,請先確認所有的硬體連線沒有問題喔! 通常,如果你使用小烏龜 (ATU-R) 時,請使用跳線連接網路卡與 ATU-R。另外一個容易出錯的地方在於輸入的帳號與密碼, 帳號與密碼都是你的 ISP 給你的,並且注意大小寫(可以到 /etc/ppp/{chap,pap}-secrets 察看一下是否設定錯誤?)

  4. 開始檢查的步驟:

    上面的步驟搞定就可以連上 Internet 了。如果擔心設定方面有問題,可以透過手動設定 IP 的那個小節的五個步驟去檢查看看, 指令分別是:
    [root@www ~]# ifconfig
                    [root@www ~]# route -n
                    [root@www ~]# ping GW的IP
                    [root@www ~]# dig www.google.com
                    [root@www ~]# hostname
                    
    比較特殊的是,因為 ADSL 撥接是透過點對點 (ppp) 協定,所謂的點對點,就是你的 ppp0 直接連接到 ISP 的某個點 (IP) , 所以,理論上,ppp0 是個獨立的 IP ,並沒有子網路!因此,當你察看 ppp0 的網路參數時,他會變成這樣:
    [root@www ~]# ifconfig ppp0
                    ppp0      Link encap:Point-to-Point Protocol
                    inet addr:114.33.149.35  P-t-P:168.95.88.254  Mask:255.255.255.255
                    UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
                    RX packets:216541 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:125009 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:3
                    RX bytes:283114899 (269.9 MiB)  TX bytes:11393717 (10.8 MiB)
                    
    如上所示,那個 inet addr 就是你的 IP ,而 P-t-P 就是 Gateway 的意思啦!你也會看到, Mask 是 255.255.255.255 哩! 沒有子網路呦!要仔細看清楚哩!

你可能感兴趣的:(centos的ADSL(pppoe设置))