Wie konfiguriere ich IPv6 über WireGuard?

Wie konfiguriere ich IPv6 über WireGuard?

Ich habe einen VDS gemietet, um darauf WireGuard VPN einzurichten und alle VPN-Clients auf /64 IPv6-Subnetze zu verteilen. Vom Hosting habe ich ursprünglich die Adresse bekommen 2a0c:xxx:yyy::1/32. Hier sind die Konfigurationen der Netzwerkschnittstellen, die ich eingerichtet habe:

❯ 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

Ich gebe alle VPN-Clients fd4d:56d8:31d4:20zz::/64und 2a0c:xxx:yyy:20zz::/64Subnetze an ( zzsind bei jedem Client unterschiedlich). Als ich es das erste Mal eingerichtet habe, hat alles funktioniert und die Clients konnten über IPv6 auf das Internet zugreifen. Nach einem Neustart des VDS funktionierte diese Konfiguration jedoch nicht mehr.

2a0c:xxx:yyyy:2005::****:*Als ich versuchte, einen VPN-Client mit einer Adresse von einem anderen Host anzupingen , der nicht mit einem VPN verbunden ist, erhielt ich who has 2a0c:xxx:yyy:2005::****:*vom Upstream-Router mehrere Neighbor Solicitation-Pakete ( ) an wan0, auf die der VDS regelmäßig mit Neighbor Advertisement-Paketen antwortete. Die Echo-Anforderung an wan0 oder wg0 kam jedoch nie.

Was ist falsch an meiner Konfiguration? Warum funktioniert IPv6 über WireGuard nach einem VDS-Neustart nicht mehr?

Dank im Voraus.


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.network:

[Match]
Name=wg0

[Network]
Address=172.22.9.1/24

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

verwandte Informationen