如何在 Ubiquiti EdgeRouter X (ERX) 上配置 IPv6,主要針對 PPPoE 連接類型。內容涵蓋了 MSS Clamping 的調整、DHCPv6-PD 配置以及一些常見問題的解決方案。
重要提示:
- 在進行任何配置更改之前,建議您備份當前的路由器配置。
- 操作前請確保您對 EdgeOS 的基本操作有一定了解。
1. MSS Clamping 配置 (firewall/options/mss-clamp6)
MSS (Maximum Segment Size) Clamping 對於 IPv6 流量的穩定性至關重要,尤其在 PPPoE 環境下。不正確的 MSS 值可能導致部分網站或服務無法正常訪問。
- 路徑:
Config Tree
->firewall
->options
->mss-clamp6
- 建議值:
1432
- 計算方式: 標準 PPPoE 環境的 IPv6 MSS 值通常為
1500 (MTU) - 8 (PPPoE Header) - 40 (IPv6 Header) - 20 (TCP Header) = 1432
。
- 計算方式: 標準 PPPoE 環境的 IPv6 MSS 值通常為
- 故障排除: 如果設置為
1432
後仍出現問題 (例如部分網頁無法加載),您可以嘗試將 MSS 值進一步調小,例如1382
。這是因為某些服務提供商或網路環境可能存在更嚴格的限制。
2. DHCPv6-PD (Prefix Delegation) 配置 (內網 IPv6 分配)
DHCPv6-PD 允許路由器從 ISP 獲取一個 IPv6 前綴,並將其分配給內網設備。這對於在多個內網段分配 IPv6 地址特別有用。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->dhcpv6-pd
->pd
->0
(第一個前綴委派) - 配置詳細:
- interface (內網介面): 點擊進入此項,為您希望啟用 IPv6 的內網介面進行配置。
- host-address:
- 單個內網段: 如果您只有一個內網 IPv6 段 (例如
192.168.1.x
),設定為::1
。這表示該介面將獲得從委派前綴派生出的第一個可用地址。 - 多個內網段: (如您所提到的
192.168.1.x
和192.168.2.x
) 您需要為每個內網介面配置不同的prefix-id
。
- 單個內網段: 如果您只有一個內網 IPv6 段 (例如
- prefix-id:
- 如果您只有一個內網段,設定為
:1
。 - 如果您有兩個內網段,例如一個
192.168.1.x
對應eth1
,另一個192.168.2.x
對應eth2
(或其他 VLAN 介面),您可以將eth1
的prefix-id
設為:1
,將eth2
的prefix-id
設為:2
。這樣,每個內網段都會獲得一個獨立的/64
IPv6 前綴。
- 如果您只有一個內網段,設定為
- service: 選擇
slaac
(Stateless Address Autoconfiguration)。這允許內網設備通過路由通告自動配置 IPv6 地址,而無需 DHCPv6 伺服器。
- host-address:
- 委派前綴大小調整:
- 路徑: 在點開
pd/0
後,您可能會看到/64
。 - 修改: 將其修改為
/60
。這將請求 ISP 提供一個更大的前綴 (包含 16 個/64
子網),以便您可以為多個內網介面分配獨立的/64
地址段而不會報錯。
- 路徑: 在點開
- interface (內網介面): 點擊進入此項,為您希望啟用 IPv6 的內網介面進行配置。
3. 外網 IPv6 地址配置 (interfaces/ethernet/eth0/pppoe/0/ipv6)
這部分配置確保路由器的 PPPoE 介面能夠獲取到其自身的 IPv6 地址。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->ipv6
- 配置:
- address: 點擊
+
添加。這會讓路由器從 ISP 自動獲取 IPv6 地址。 - enable: 點擊
+
啟用 IPv6 功能。
- address: 點擊
4. 完成設置與應用
- 預覽並應用: 完成上述所有設置後,點擊頁面底部的
Preview
(預覽) 查看所有待應用的更改,然後點擊Apply
(應用) 使配置生效。
5. DNS 服務與 IPv6 相關優化
如果 IPv6 DNS 服務不穩定,導致網頁載入緩慢或卡頓,您可以考慮啟用 no-dns
選項。
- 路徑:
interfaces
->ethernet
->eth0
(或您的 PPPoE 介面) ->pppoe
->0
(或您的 PPPoE 連接號) ->ipv6
- 選項: 啟用
no-dns
選項。- 作用: 這樣路由器就不會向客戶端分發 ISP 提供的 IPv6 DNS 服務器地址,而是依賴其他方式 (例如客戶端使用其自身的 IPv4 DNS 服務器,或您在路由器上配置其他可靠的公共 IPv6 DNS,如 Google DNS
2001:4860:4860::8888
和2001:4860:4860::8844
)。
- 作用: 這樣路由器就不會向客戶端分發 ISP 提供的 IPv6 DNS 服務器地址,而是依賴其他方式 (例如客戶端使用其自身的 IPv4 DNS 服務器,或您在路由器上配置其他可靠的公共 IPv6 DNS,如 Google DNS
6. 無 DHCPv6-PD 的情況 (IPv6 NDP 解決方案)
如果您的 ISP 沒有提供 DHCPv6-PD,而僅僅通過 IPv6 NDP (Neighbor Discovery Protocol) 分配地址,您可以考慮在 EdgeRouter X 上安裝 ndppd
(Neighbor Discovery Protocol Proxy Daemon) 來實現。
- 背景: 在 OpenWRT 環境中,這通常通過安裝
ndppd
套件來實現,它會將外網 (例如eth0
) 接收到的 NDP 請求轉發到內網 (例如br-lan
)。 - EdgeRouter X 實現:
- EdgeRouter X 運行的是 EdgeOS (基於 Debian 的 Vyatta 分支)。
- 您需要 SSH 登入路由器,然後嘗試安裝
ndppd
。 - 安裝命令 (可能需要先更新 apt 源並獲取 root 權限):
Bash
sudo apt update sudo apt install ndppd
- 配置
ndppd
: 安裝完成後,您需要手動編輯ndppd
的配置文件 (通常在/etc/ndppd.conf
),指定要代理的介面 (外網介面和內網介面),並啟動服務。這部分配置會更複雜,需要參考ndppd
的文檔或相關教程。
注意: 這種情況相對複雜,且 ndppd
並非 EdgeOS 的預設套件。在嘗試此方法之前,請確保您已了解相關風險,並知道如何通過 SSH 恢復路由器。
通過遵循以上步驟,您應該能夠在 Ubiquiti EdgeRouter X 上成功配置 IPv6,享受更快的網路連接並為未來的網路趨勢做好準備。