VPSでIPv6を使用するOpenVPN

VPSでIPv6を使用するOpenVPN

Debian SidでOpenVPNを使用してIPv6トンネルを作成しようとしています。 IPv4 はうまく機能しますが、IPv6 は機能できません。 IPv6を使用してサーバーと他のクライアントにpingを実行できますが、クライアントはインターネットにアクセスできません。

数時間研究していますが、まだIPv6を完全に理解していないため、この問題は簡単に解決できます。説明もしていただければいいと思います!

問題は、VPSを使用していてすべてを処理できる/ 64サブネットしかないことです。

2a00:a123:4:b5::/64

それで、これをOpenVPN設定に追加できると思いました(/112OpenVPN用のより小さなサブネットを作成)。

server-ipv6 2a00:a123:4:b5:80::/112
push "route-ipv6 2000::/3"

今実行すると、ifconfig tun0次のようになります。

inet6 addr: 2a00:d880:6:f2:80::1/112 Scope:Global

私の顧客は次のようになります。

client1,10.8.0.2,2a00:d880:6:f2:80::1000
client2,10.8.0.3,2a00:d880:6:f2:80::1001

SolusVM CPにこの4つのIPをすべて追加しました。 (必要なものはわかりませんが、VPSに再ルーティングするためのようです。)私もnet.ipv6.conf.all.forwarding設定しました1

それでもクライアントはIPv6経由でインターネットにアクセスできません。traceroute6 google.comクライアントで実行するとサーバーIPが取得されますが、その後はタイムアウトします。

私もこれを見つけました。エマルジョンしかし、NDPプロキシを使用することは私には適していないようです。

ip neigh add proxy 2a00:d880:6:f2:80::1000 dev tun0
ip neigh add proxy 2a00:d880:6:f2:80::1001 dev tun0

ベストアンサー1

私もSNATが正しい選択だとは思わない。同様の問題があり、正しい配信ルールといくつかの調整が必要であることがわかりました。デフォルトでは、OpenVPNインターフェイスからIPv6が設定されている外部WANインターフェイスにIPv6トラフィックを転送するだけです。

ip6tables は、VPS 経由の OpenVPN の IPv6 トラフィックを許可します。

あなたの場合、これはうまくいくと思います。

ip6tables -A FORWARD -m state --state NEW -i tun+ -o $WAN -s 2a00:a123:4:b5::/64 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

イーサネットブリッジングの代わりにルーティングを使用しているとします。

必要な唯一のFORWARDルールである/ 64ブロックのみがあるようです。

$ WANは、IPv6接続を使用する外部インターフェイスのプレースホルダです。私のVPSにはデフォルトのIPv6がないので、私の場合はトンネルインターフェイスsat1(CentOS)です。 IPv6ブロックがあるようなので、外部WANインターフェイスになります。

正しい転送ルールが適用されると、IPv6トラフィックはファイアウォールによってブロックされずに通過できます。ほとんどの場合、NATはIPv6に関連付ける必要はありません。

おすすめ記事