IPv4からリモートIPv6デバイスにポートを透過的にトンネルする方法は?


11

自宅では、IPv6アドレスに接続しています。さらに、プロバイダーはNATのようなセットアップを提供しており、それを介して他の顧客と共有するパブリックIPv4アドレスを受け取ります(理由は、明らかにIPv4アドレスが不足しているためです)。

その結果、IPv4ネットワークを使用している場合、自宅(VPNゲートウェイなど)のデバイスに到達できません。ただし、IPv4とIPv6の両方のアドレスを持つサーバーがあります。したがって、サーバーを経由した場合、自宅のデバイスに到達できるはずです。

これが私がこれまでに心に留めていることです。IPv6では各デバイスが独自のIPを取得するため、自宅のサーバーは静的IPv6 IPを取得します。私のリモートサーバーには既に静的IPv4とIPv6の両方が搭載されています。

自宅のOpenVPNサーバーに到達したい場合、以前はルーターのポート1194を開き、NATはそこのサーバーに接続を渡していました。私の新しいシナリオでは、リモートサーバーのポート1194(または別の種類でも構いません)に接続し、その接続を使用してホームサーバーにトンネル接続する必要があります(両方にIPv6があるため)。

グラフィカルに、これは意味します:

モバイルデバイス(IPv4)->リモートサーバー(IPv4 + IPv6)->ホームサーバー(IPv6)

しかし、これは選択されたポートでのみ発生するはずです(またはポートで選択するよりも賢い方法がありますか?)。

私の質問は、このセットアップをどのように達成するのですか?

これはどのレベルで動作しますか?ポート単位で行う場合は、TCP / UDPレイヤーでパケットを転送する必要があります。私の最初のアイデアはiptablesですが、iptablesはパケットをリモートIPに転送できますか?それともできる他のソフトウェアはありますか?または、2つのサーバー間にトンネルを作成してから、ローカルに転送する必要がありますか?どうすればいいですか?


1
ラップトップにIPv6トンネルブローカーの使用を検討しましたか?
マイケルハンプトン

@MichaelHamptonの提案に感謝しますが、携帯電話(Android)や他のデバイスからも接続するつもりなので、デバイスを変更する必要がない方法が欲しいです。セットアップは、デバイスの観点からは以前と同じくらい簡単でなければなりません。
javex

回答:


13

私はついに基本的にsocatを使用するIPv6ポートのみをIPv6のみのホストに転送するソリューションを見つけました:

socat TCP4-LISTEN:22,fork,su=nobody TCP6:[2a01:198:79d:1::8]:22

私の解決策は基本的に同じですが、静的IPを除いてホスト名を使用しています。ホスト名には角かっこを使用しないでください。ホスト名はIPとして解釈されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.