Misskeyサーバーに割り当たるのがIPv6のみで、NAT64でIPv4ネットワークへの発信接続が可能なのに、この通信処理がエラーになることがある。

IPv4ネットワークからの着信接続は別途受ける必要がある。これは、リバースプロキシやCDNを使って、別途IPv4ネットワークからの着信接続を受けて、リバースプロキシまたはCDNとオリジンサーバー間をIPv6で通信することで解決が可能。

このようなネットワーク環境でNAT64でIPv4ネットワークへ発信接続しようとすると、IPv6グローバルアドレス空間(2000::/3)外のIPv6アドレスを使うことになる。通常(Well-known prefix)は64:ff9b::/96。

Misskeyでは、接続先がグローバル空間かどうかをチェックしており、NAT64で使う宛先アドレスがIPv6グローバルアドレス空間の外にあることが直接の原因。

NAT64で使用するアドレス空間を許可することで、この問題を解決する。

.config/default.yml

allowedPrivateNetworks: [
  '64:ff9b::/96'
]