実行する実体であるフォワードポート代理人とみなされますか?そうでなければ何ですか?
プロキシは、プロキシサーバーのクライアントユーザーに透過的です。ユーザは、要求が実際にプロキシに送信されることを認識しないまま、宛先に要求を送信する。 「プロキシ」サーバーのクライアントユーザーに表示されるローカルまたはリモートのポート転送に使用されるSSHクライアントとSSHサーバーのペア。ユーザーは、SSHが要求を他の宛先に転送することを認識していない限り、明示的にSSHクライアント(またはサーバー)に要求を送信します。
プロキシは、受信した要求を要求によって要求されたすべての宛先に転送できます。ローカルまたはリモートポートの転送に使用されるSSHクライアントとSSHサーバーのペアは、着信要求を固定の宛先に転送するように見えます。 SSHにプロキシなどの要求が要求している宛先に要求を転送させることはできますか?
プロキシはポート転送を介して実装する必要がありますか?
ありがとうございます。
答え1
1.)例:ローカルポート転送(OpenSSHのオプション)を指定すると、-L
SSHクライアントはプロキシとして機能し、指定されたローカルポート/ソケットからの着信接続をSSHリモート側の指定された宛先連絡先に転送します。リモートポート転送(-R
OpenSSHのオプション)を指定すると、リモートsshd
側のデーモンはプロキシとして機能し、指定されたリモートポート/ソケットへの着信接続をSSH接続のローカル側の指定された宛先に転送します。
どちらの場合も、SSHクライアントとsshd
デーモンは連携して機能を実装しますが、どちらも着信接続を受け入れると、SSH接続のもう一方の端で実際のサービスのプロキシとして機能することがわかります。
2.)も可能ですが、SSHが理解しているプロトコルを使用して要求を指定する必要があります。 ㅏ動的ポート転送(-D
OpenSSHのオプション)は、SOCKS4およびSOCKS5プロトコルをサポートしてこれを行います。
たとえば、
おそらく、Webベースのリモートコンソール機能を備えたデバイスでいっぱいのサーバールームがあります。これは常に最新のTLS標準に更新されていないため、特定のネットワーク管理者のワークステーションからのみアクセスできる厳密なローカルネットワークセグメントに接続しました。ワークステーションには2つのネットワークカードがあります。 1つは通常のネットワークに接続され、もう1つはリモートコンソールセグメントに接続されますが、意図的に次のように構成されています。いいえルーターとして機能します。もちろん、ネットワーク管理者のワークステーションはLinuxを実行します:-)
あなたは充実した休暇を楽しんでいます。上司があなたの代理人が食中毒になり、サーバールームにある古いルーターをできるだけ早く再起動する必要があると電話したときです。あなたはサーバールームから数百マイル離れています。会社のVPNを使用すると、ネットワーク管理者のワークステーションにリモートでアクセスできますが、X11転送を使用してリモートブラウザを実行するのは非常に遅いことを経験から知ることができます。それで、あなたは何をしますか?
<connect VPN>
laptop$ ssh -D 1234 tim@netadmin_workstation.company.intra
netadmin_workstation$
SSH接続が確立されるとすぐに、ローカルブラウザを起動し、にあるSOCKSプロキシを使用するように設定できます。これにより、localhost:1234
ブラウザからのすべてのネットワーク接続は、SSH接続を介してネットワーク管理者のワークステーションに入ります。そこからブラウザで指定されたアドレスに通常のTCPで接続されます。実際、ブラウザのネットワーク接続は現在、ネットワーク管理者のワークステーションで開始されているように見えますが、ブラウザ(および関連するJavaアプレット)は最小限の待ち時間で完全にローカルで実行されます。
これにより、迷惑な古いルータのJavaベースのWeb GUIにリモートでアクセスできます。一部許容可能な遅延レベル...
(Firefoxを使用している場合は、ブラウザがSOCKSプロキシ接続を介してDNS要求も転送するようにオプションをabout:config
設定して、DNS解決にネットワーク管理者のワークステーションを使用することもできます。)network.proxy.socks_remote_dns
True
(免責事項:上記の説明は何にも似ていません。特別な完全に偶然に起こった一連の実際の出来事。おそらく、世界中の多くの場所で同様のことが数多く起こりました。 )