OpenSSHを使用してオーバーレイIPv6ネットワークを作成する[閉じる]

OpenSSHを使用してオーバーレイIPv6ネットワークを作成する[閉じる]

次のSSH設定がある場合:

ホストA - >ホストB < - ホストC

ホストCがNAT /ファイアウォールの背後にある場合は、ホストBのリバーストンネルを開き、ホストAはホストB(ProxyCommand)を介してホストCに接続します。すべてがIPv4専用です。

多くのルートアクセスやそのホストへのハッキング方法なしでホストAとホストCの間でIP(v6)接続を確立する簡単な方法はありますか?

編集:基本的に次のようなもの

hostC$ ssh -R 1234:localhost:22 hostB # establis remote hole for host C on host B
hostA$ ssh -o"ProxyCommand=ssh hostB nc localhost 1234" # Connect via HostB to Host C 
hostA$ ping6 <ipv6> # this would validate the connectivity to HostC

アイデアは、IP(v6)ネットワークをできるだけ一時的にすることです。 :::1 から HostC を受信するサービスは、HostA からアクセスできる必要があります。

答え1

SSHポート転送とVPNを混同しているようです。これは機能が異なる非常に異なる概念です。

SSHポート転送を使用すると、あるサーバー(IPとポート)が別のサーバー(IPとポート)であるかのように偽装できます。図では、ホストAはホストB(ポート1234)と通信していると思いますが、実際にはホストBがトラフィックを転送するため、ホストC(ポート22)と通信しています。ホストAは、ホストCが存在することを決して知らない。

実際には、ホストAがホストCと通信できること(ホストCと通信していることを知っている)、すべてのトラフィックがホストBを介して送信されるVPNだと思います。

SSHだけではこれを行うことはできません。通常、すべてのホスト(A、B、C)に同じVPNソフトウェア(OpenVPNなど)がインストールされている必要があります。 B は VPN サーバーに設定され、A と C はクライアントとして設定されます。

1つの例外があります。宇宙船クライアントにsshuttleがある限り、sshサーバーがVPNサーバーとして機能することを許可します。ただし、後続の構成では機能しない可能性があります。ホストAとCが互いに対話できなくなる可能性があります。

関連情報