
私は3台のマシンを持っています:
A.local ---> B.example.com
---> C.local
C.local
5000
B.example.com
エージェント(リモートDockerレジストリ)のポート(ローカルDockerレジストリ)でサービスを実行するDockerコンテナ。
C.local
に到達しようとしたときに確認/接続するようにAを設定するにはどうすればよいですかB.example.com
?
これが可能かどうかは、OSIのどの層では不明です。 DNSを使用したいが、/etc/host
ハードコーディングされたIPアドレスだけを割り当てるだけです。十分です
か?iptables
その結果、AはBと同じように処理しoriginal-B.example.com
、それをCに置き換える必要がありますB.example.com
。これはとして扱われます。
この方法C.local:5000
で接続する必要がありますB.example.com
(ポート443では、正しく理解したら)
答え1
3台のマシンすべてにSSHがある場合は、次のことができます。
[email protected] $ ssh -J B.example.com -L 5555:127.0.0.1:5000 C.local
C.local:5000
接続がアクティブな間、アクセスを介して接続できます127.0.0.1:5555
(5555は任意です)。
崩れる
ssh
-J B.example.com
:B.example.comを介したプロキシジャンプ(Cに転送する前にBにログインする必要があります)-L 5555:127.0.0.1:5000
、ローカルポートを127.0.0.1:5555
最終宛先ポート5000にバインドします。C.local
:最終目的地