
WireGuard VPN を設定し、すべての VPN クライアントを /64 IPv6 サブネットに分散するために、VDS をレンタルしました。ホスティングから、最初にアドレスを取得しました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::/64
と2a0c: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