SSHトンネルをCIDRスコープまたはlocalhostの複数のローカルIPに転送する方法

SSHトンネルをCIDRスコープまたはlocalhostの複数のローカルIPに転送する方法

次のようにSSHトンネルを開きたいです。

ssh -f -N -L 172.16.0.0/12:5433:127.0.0.1:5432 server

ただし、このコマンドはエラーを発生させます。

channel_setup_fwd_listener_tcpip: getaddrinfo(172.16.0.0/12): Name or service not known
Could not request local forwarding.

ローカルシステムの複数のインターフェイスにトンネルを渡すにはどうすればよいですか?

そのCIDR範囲内のすべてのDockerコンテナからトンネルにアクセスできるようにこれを実装したいと思います172.16.0.0/12

サーバーとローカルシステムの両方がUbuntu 22.04.1 LTSにあります。OpenSSH_8.9p1 Ubuntu-3ubuntu0.1, OpenSSL 3.0.2 15 Mar 2022

回避策として、次のようにローカルIPあたりまたはより広範囲にトンネルを開くことができます。

ssh -f -N -L 0.0.0.0:5433:127.0.0.1:5432 server

必ずしもそうしたくありません。

ベストアンサー1

SSHトンネルがこのように機能するとは思わないでください。コンテナ接続を保護するには、Wireguardをお勧めします。

見るhttps://www.linuxserver.io/blog/routing-docker-host-and-container-traffic-through-wireguard

この概念は、別々のWireguardコンテナ(lscr.io/linuxserver/wireguard:latest)に基づいています。 Wireguardサーバーです

保護するコンテナがそれに接続されます。その後、ルーティングにより、トラフィックをWireguardコンテナ全体に効率的に分散できます。すべてを維持できるように、クライアント構成(Wireguardsクライアント用)の共有フォルダが作成されました。

これらすべてが比較的複雑なので、まずすべてを紙に書き留めて、IPとルーティングを準備することをお勧めします。

おすすめ記事