我有一台在本機網路上運行的 Windows Server,充當路由器和 VPN 伺服器。它具有啟用 NAT 的 IPv4 位址,可為網路上的裝置提供 Internet 存取。它還具有公共 IPv6 位址以及由 ISP 分配的2001:470:ffff::1
子網路。2001:470:ffff::/48
當我啟用 DHCPv6 時,網路上的裝置將被指派一個 IPv6 位址,2001:470:ffff::1234
並且可以透過 IPv6 相互通訊。然而,由於缺乏預設網關,他們無法存取 IPv6 網際網路。在 Windows 用戶端上,如果我新增路由route add ::/0 2001:470:ffff::1
,它們可以存取 IPv6 互聯網,並且可以從互聯網存取。
如果我停用 DHCPv6,則不會為用戶端指派 IPv6 位址。
問題似乎是 RRAS 沒有發送路由器通告封包。
RRAS 配置如下。
將 RRAS 設定為 IPv6 路由器的正確方法是什麼?
答案1
事實證明,Windows 完全有能力充當 IPv6 路由器並發送路由器通告封包。但是,無法在 RRAS UI 中進行設定。
需要兩個 netsh 命令。
netsh interface ipv6 set route 2001:470:ffff::/64 "Ethernet" publish=yes
netsh interface ipv6 set interface "Ethernet" advertise=enabled
第一個命令發布 2001:470:ffff::/64 作為 SLAAC 的前綴。
第二條指令將「乙太網路」介面及其本機連結位址發佈為路由器通告封包中的預設閘道。 「乙太網路」是 LAN 連接埠的網路介面。