如何透過 WireGuard 設定 IPv6?

如何透過 WireGuard 設定 IPv6?

我租用了一個 VDS,以便在其上設定 WireGuard VPN 並分發所有 VPN 用戶端/64 IPv6 子網路。我最初從託管處獲得了地址2a0c:xxx:yyy::1/32。以下是我設定的網路介面的配置:

❯ ip a
2: wan0: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 ...
    inet6 2a0c:xxx:yyy:1001::1/32 scope global
        valid_lft forever preferred_lft forever
    inet6 fe80::****:**:****:****/64 scope link
        valid_lft forever preferred_lft forever
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue ....
    inet 172.22.9.1/24 brd 172.22.9.255 scope global wg0
        valid_lft forever preferred_lft forever
    inet6 fd4d:56d8:31d4:2001::1/56 scope global
        valid_lft forever preferred_lft forever

❯ ip -6 r
::1 dev lo proto kernel metric 256 pref medium
2a0c:xxx:yyy:2000::/56 dev wg0 proto static metric 20 pref medium
2a0c:xxx::/32 dev wan0 proto kernel metric 256 pref medium
2a0c:xxx::/32 dev wan0 proto ra metric 1024 expires 2591851sec pref medium
fd4d:56d8:31d4:2000::/56 dev wg0 proto kernel metric 256 pref medium
fe80::/64 dev wan0 proto kernel metric 256 pref medium
default proto static metric 1024 pref medium
        nexthop via 2a0c:xxx::1 dev wan0 weight 1
        nexthop via fe80::****:****:****:**** dev wan0 weight 1

❯ sudo sysctl net.ipv6.conf.all.forwarding
net.ipv6.conf.all.forwarding = 1

❯ cat /etc/ndppd.conf
proxy wan0 {
    rule 2a0c:xxx:yyy:2000::/56 {
        static
    }
}

# --- check routing to dns.google from one of the VPN clients ---
❯ ip -6 r get to 2001:4860:4860::8844 from 2a0c:xxx:yyy:2005::****:*
2001:4860:4860::8844 from 2a0c:xxx:yyy:2005::****:* via fe80::****:****:****:**** dev wan0 proto ra src 2a0c:xxx:yyy:1001::1 metric 1024 mtu 1500 pref medium

我給了所有 VPN 用戶端fd4d:56d8:31d4:20zz::/642a0c:xxx:yyy:20zz::/64子網路(zz每個用戶端都不同)。當我第一次設定時,一切正常,客戶端可以透過 IPv6 存取互聯網。但是,在我重新啟動 VDS 後,此配置不再起作用。

當我嘗試使用2a0c:xxx:yyyy:2005::****:*未連接到 VPN 的另一台主機的位址對 VPN 用戶端執行 ping 操作時,我收到了多個who has 2a0c:xxx:yyy:2005::****:*從上游路由器發送到wan0 的鄰居請求封包( ),VDS 會定期用鄰居通告數據包對其進行響應。然而,對 wan0 和 wg0 的回顯請求從未到來。

我的配置有什麼問題嗎?為什麼 VDS 重新啟動後 IPv6 over WireGuard 停止運作?

提前致謝。


99-wg0.netdev

[NetDev]
Name=wg0
Kind=wireguard

[WireGuard]
PrivateKey=kH9-----------------------86u/Uw=
ListenPort=1194

[WireGuardPeer]
PublicKey=oXPdkrbDL---------------oKLW2HEEM=
PresharedKey=L9P------------------------jSiM=
AllowedIPs=2a0c:xxx:yyy:2005::/64
AllowedIPs=172.22.9.5/32

99-wg0.網路:

[Match]
Name=wg0

[Network]
Address=172.22.9.1/24

[Route]
Destination=2a0c:xxx:yyy:2000::/56
Metric=20

相關內容