# Linux 透過 PPPoE 取得 IPv6 的 IP ###### tags: `IPv6`, `PPPoE`, `Linux` PS. *\~夜晚的星空~* 原發表於 HiNet Xuite DATE: 08/09/2012 09:16:15 PM IPv6今年正式Lunch了! http://www.ipv6.hinet.net/IPv6_launch.htm 種花店也開始實際測試透過PPPoE發IPv6的IP,也因為台灣有很多IPv4的IP,就當然不可能短期內就放棄這些IP,因此就採用dual stack的方式,同時取得IPv4和6的IP。 一開始申請開通IPv6服務的時候,Windows 7 透過 PPPoE 可以直接同時取得兩種 IP,UNIX like的桌面環境常用工具 nm-applet (network-managet-applet) 的 DSL 就不像"有線"一樣,有 IPv6 的頁簽讓我設定,但我用我的 Archlinux 怎麼改設定,就是只能取到 IPv4,取不到 IPv6,這樣很痛苦!!! 經過了一個星期的Google和測試,成功了 Ya~ 要用 IPv6 可以透過 PPPoE 取得 Native IP,也可以用 tunnel 的方式取得 IP,但這就一定要 IPv4 來當基礎,建立 IPv6 的 tunnel,有點VPN的感覺。 在一開始取得 native 的 IP 失敗後,我就開始測試 tunnel 的方法,共有三種方法 [Terado](http://en.wikipedia.org/wiki/Teredo_tunneling)、[ISATAP](http://en.wikipedia.org/wiki/ISATAP) 和 [6to4](http://en.wikipedia.org/wiki/6to4) * Teredo的 設定可以參考 http://wiki.klniu.com/zh-hant/Teredo * 6to4 的設定可以參考 http://www.lowendtalk.com/discussion/3621/ipv6-routing-6to4-tunnel-server 嗯 範例都是對岸的,因為他們要翻牆 XD 我有試 Teredo,真的可以用,到測試網站 (http://test-ipv6.com/) 測試也很棒  但這樣不是透過ISP取得的native IPv6 IP 今天再查了查 Google 大神,靈機一動,如果改完設定先重開機,再啟動 PPPoE 會怎樣!? 首先,我先用 rp-pppoe 的工具 pppoe-setup / pppoe-start / pppoe-stop 測試。參考http://blog.stuffedcow.net/2010/09/teksavvy-ipv6/ 1. 修改/etc/ppp/options,在檔案加上最後一行ipv6 ,,這邊要注意的是"ipv6 ,",有空格和逗號。 2. 重開機,接著sudo pppoe-setup進行一些pppoe的基礎設定。 3. 用 `sudo pppoe-start` 啟動 PPPoE,最後用 `ip addr`,正確的話可以看到 ppp 的界面有 IPv4 和 6 的 IP。 4. 如果要停止的話,就 `sudo pppoe-stop`。 因為 rp-pppoe 是用 comand line 的方式,一般情況下,大部分的人還是習慣用 NetworkManager 的前端 nm-apple 的界面。同樣的,也找到了啟用 IPv6 的方法。參考http://askubuntu.com/questions/56890/ipv6-over-pppoe 1. 修改 /etc/ppp/options,在檔案加上最後一行 `+ipv6 ipv6cp-use-ipaddr`,這邊要注意的是 "+ipv6 ipv6cp-use-ipaddr" 而不再是 "ipv6 ,",有加號和空格。 2. 重開機,然後用 nm-applet 啟用 DSL,當然是一定要基礎設定。 3. 最後用 `ip addr`,正確的話可以看到 ppp 的界面有 IPv4 和 6 的 IP。 4. 檢查 /etc/resolv.conf,看有沒有 IPv6 的 nameserver,沒有的話可以加上 `nameserver 2001:b000::1`。 一樣到測試網站(http://test-ipv6.com/)測試結果也很棒。 後來想想,重開機會重新啟動 network 或 networkmanager,所以可以成功(之前忘了重開機,所以一直取不到 IPv6)。因此,或許重起這些網路管理程式,就不用重開機了。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up