在實作 Raspberry Pi 的應用 - Wifi 無線基地台、 Raspberry Pi 的應用 - 防止被追蹤與監控的改良版 Wifi 無線基地台 的時候,因為對外網路是掛在 Asus RT-N16 後端,不用煩惱撥接的問題。
可是在沒有 IP 分享器、無線基地台的狀況下,總得讓 Raspberry Pi 自己先上網才能做後續的動作吧,所以 Let's do it,來搞定 PPPoE 撥接的設定吧。
事前準備
- Raspberry Pi Type B / B+,Type A / A+ 必須自行插上 USB 網路卡。
- Raspbian 作業系統。
- ADSL / FTTB 網路。
- 依照 Raspberry Pi 的基礎 - 系統設定的調教 的步驟,把 Raspbian 安裝完畢並做好基本設定。
- pppoeconf 及 rp-pppoe 兩種套件,只要選擇其中一種即可。
使用 pppoeconf 套件
直接從官方套件庫安裝 PPPoE 撥接程式。
sudo apt-get -y install pppoeconf
準備設定撥接參數。
sudo pppoeconf
別忘了打開小烏龜的電源,把網路線接到小烏龜上,否則會顯示撥接設備沒有回應 。
輸入撥接的相關設定值。
- 提示程式會把設定值寫到 /etc/ppp/peers/dsl-provider 檔案裡。
- 使用常見的撥接參數。
- 輸入撥接帳號。
- 輸入撥接密碼。
- 讓 ISP 提供的 DNS 設定值,直接存到本機的 DNS 設定檔裡。
- 配合 ADSL / FTTB,修改 MSS (Maximum Segment Size) 的數值。
- 開機後自動撥接。
- 現在立刻進行撥接連線。
- 設定完成。
程式已經自動幫我們撥接成功了。
這裡可以看到出現了 ppp0 的網路介面。
查詢一下目前撥接的狀態。
plog
要斷線的話,直接輸入指令即可。
sudo poff
不過,如果同時產生了多個 ppp 撥接介面的話,就要加「-a」的參數才可以強制斷線。
sudo poff -a
重新撥接連線可以用「pon」指令。
sudo pon dsl-provider
可是別忘了,要有「root」權限才可以正確的撥接成功。
使用 rp-pppoe 套件
RP-PPPoE 目前的版本為 3.1.1,它可以提供 PPPoE Client 撥接上網功能,也可以做 PPPoE 伺服器,讓其他的用戶端連上來。
首先下載原始碼。
wget https://www.roaringpenguin.com/files/download/rp-pppoe-3.11.tar.gz
將它解壓縮。
tar zxvf rp-pppoe-3.11.tar.gz
檔案並不多。
先看一下 README 的說明。
RP-PPPoE 支援 Linux Kernel 2.2.9、FreeBSD、NetBSD、OpenBSD ... 等 Unix-like 系統,此外必須安裝相依套件 PPP Daemon 才可以正常啟動。
sudo apt-get -y install ppp
我們直接用預設值進行編譯與安裝。
./go
編譯過程很順利,不過在安裝時權限不足。
所以要用 root 權限去執行才可以。
sudo ./go
這樣子才會跳到設定畫面來。
接著就是設定 ADSL / FTTB 撥接的相關資料。
- 輸入撥接帳號。
- 選擇網路介面。
- 持續連線 (no),或是有需求時自動撥接 (yes)。
- 設定第一台 DNS 伺服器。
- 設定第二台 DNS 伺服器。
- 輸入撥接密碼。
- 是否使用建議的防火牆設定,0 是自己設定 iptables 規則,1 是設定成普通上網用的電腦,2 是打開 NAT 功能,讓其他人透過它連線上網。
- 確認所有的設定值是否正確。
- 設定完成。
sudo pppoe-start
成功之後,就會看到多了一個 ppp0 的網路介面出現了。
查詢目前的連線狀況。
sudo pppoe-status
若是不需要再連線,可以下指令要求它斷線,ppp0 介面就會消失。
sudo pppoe-stop
如果在撥接時顯示「TIME OUT」的錯誤訊息,別忘了檢查一下小烏龜的電源有沒有開、網路線接好了沒、ADSL / FTTB 燈號有沒有問題。
此外,別忘了要用 root 權限才可以進行撥接。
參考資料
圖片來源
更新紀錄
- 2015/02/03 撰文。
阿都沒網路了 是要怎麼載套件???
回覆刪除是的,你提到了一個非常重要的關鍵....
刪除一般我們在使用 Raspberry Pi 時,會透過 ssh 連線管理,這個時候通常會有對外網路。
我自己的習慣就會先把基本的套件先安裝好,或是先把它下載下來,如果沒有事先準備好的話,真的就只就無能為力了。