在 UBNT UniFi Controller 啟用中華電信 HiNet IPv6 服務

中華電信早早就開放申請 IPv6 的服務申請,需要的人可以臨櫃或者透過下面中華電信網站在網路上申請

https://www.ipv6.hinet.net

https://123.cht.com.tw/ecas/B39

我自己是透過網站申請,開通速度也很快,記得好像不到幾個小時,重開 FTTH 的 Modem 就已經能看見獲取到 IPv6 地址了

但是無奈使用的 UBNT UniFi Controller 一直到今天才把支援 IPv6 的正式版(5.7.20)放出來。。。

之前在 5.7.x 的時候有安裝過測試版,但沒能把 IPv6 環境給搞出來(應該是自己笨)

今天正式版推送後,就立刻趕緊再次試驗看看,果然一下就搞定囉!

2018/10/06 update

這裡有一篇新版 UniFi Controller 5.9.29 的設定,改善很多 IPv6 小問題,如果還沒升級請儘快升級

在 UniFi Controller 5.9.29 啟用中華電信非固定制 IPv6 服務


設定的方法很簡單,只要到你上網的網關裡面開啟 WAN IPv6

IPv6 Connection Type 選 DHCPv6,Prefix 填寫 64

IPv6 的 DNS 我們就寫中華電信提供的 IPv6 DNS 地址

2001:b000:168::1

2001:b000:168::2

/media/2018/03/snipaste_20180309_115939.png

填寫完畢後記得按一下 Queue Changes,然後 Apply 套用設定

外網設定完畢,我們接下來要設定內網,來到 Settings > Networks > Edit 找到 Configure IPv6 Network 的欄位

IPv6 Interface Type 選擇 Prefix Delegation,Prefix ID 一樣 64,然後 IPv6 RA 記得打勾,其他依照下圖

/media/2018/03/snipaste_20180309_120416.png

全部無誤後,按一下底下綠色「SAVE」按鈕,接著稍等片刻等 UniFi 生效新設定

macOS 可以到系統設定的網路 > 進階 > 更新 DHCP 租約

/media/2018/03/snipaste_20180309_123444.png

然後稍等幾秒就會自動獲取到 IPv6 地址了~

iOS 在設定的 WiFi 裡面,點選 SSID 右邊藍色的 「i」 查看內容,也有相應的按鈕可以按

客戶端正確獲取到 IPv6 地址以後,可以到以下幾個測試 IPv6 連線的網站跑跑分數

http://test-ipv6.com

/media/2018/03/snipaste_20180309_121957.png

Google 的 IPv6 測試網站: https://ipv6test.google.com

/media/2018/03/snipaste_20180309_122039.png

IPv6 的 Google 搜索

https://ipv6.google.com

搞定!收工!

2018 / 03 / 31 update

經由 Alex 在文章留言提醒,啟用 IPv6 以後確實有些網站會打開比較慢或者是打不開~

網路上搜尋一番,果然是跟 MTU 有關,之前嘗試修改 UniFi Controller 5.7.20 的 UI 管理頁面 MSS 選項,還是時好時壞

這是因為 5.7.20 的版本尚未支援 RFC 4638 的關係,在 IPv4 上面是沒什麼問題,但是在 IPv6 上面就會有問題了

臨時解決辦法是直接把 UniFi USG 的 LAN MTU 縮到 1492

首先複製以下內容,把它保存檔案名稱為「config.gateway.json」

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
{
	“interfaces”: {
		“ethernet”: {
			“eth1”: {
				“ipv6”: {
					“router-advert”: {
						“link-mtu”: “1492”
					}
				}
			}
		}
	}
}

把檔案存好以後,我們要放到 UniFi Controller 裡面,資料夾路徑根據你的系統會有所不同

如果是 Cloud Key 的話是在: /srv/unifi/data/sites/[site name/default]/

如果是其他 Linux 系統的話: /usr/lib/unifi/data/sites/[site name/default]/

具體可以參閱官方的說明文件: https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-Advanced-USG-Configuration

確定把檔案放到正確位置以後,我們回到 Controller 網頁管理頁面,打開 USG 的內容找到 FORCE PROVISION,用力按下去

/media/2018/03/Xnip2018-03-90_11-46-08.jpg

稍等片刻,等待 USG 重新上線,你就能再次打開 Yahoo 啦!

這次真的搞定!收工!

2018 / 04 / 02 update

這兩天發現如果把 UniFi 路由器(USG 或者 EdgeRouter)在重新啟動或者重新 PPPoE 撥號以後

如果你使用非固定的 IPv6,路由器會被配發到一個新的 IPv6 地址段

這時後端的設備如果沒有重新啟動的話,就會有多個 IPv6 地址,而設備會以為舊的地址還能使用,而導致後端所有設備都失去 IPv6 連線能力

網路搜索一下發現已經有 clyang 大神解決這個問題,詳細可以到他的 Blog 看看:

非固定制Hinet IPv6 Dual Stack在Ubiquiti Edgerouter上Prefix的更新問題

他也同步貼在官方討論板上,到目前為止 UBNT 還沒有修正這個問題,所以現在只能使用 clyang 大神的解決方法

https://community.ubnt.com/t5/EdgeRouter/Solution-for-client-losing-IPv6-connectivity-after-PPPoE-re/m-p/2019416

clyang 使用的是 EdgeRouter,我使用的是 USG,所以端口名稱有稍許不同,把「remove_invalidv6.sh」檔案內的「switch0」換成「eth1」即可

從以上這些內容來看,UniFi 目前支援 IPv6 的階段真的還停留在 Alpha,連 Beta 都稱不上。。。

IPv6 推出已經許久,拜託 UBNT 加油點,好嗎?

希望這次真的能搞定!收工! XD