背景
私はプロキシサーバーの背後にある会社のネットワークで作業しています。要塞/ジャンプホストSSHプロキシを介してアクセスできるいくつかのリモートサイトも使用します。
私のSSHトンネルには、~/.ssh/config
要塞ホストをバイパスしてリモートラボに接続できるプロキシ構成があります。
Host *.remoteLab1
ProxyCommand ssh -l USERNAME BASTIONHOST1 nc %h %p
Host *.remoteLab2
ProxyCommand ssh -l USERNAME BASTIONHOST2 nc %h %p
私はOSXとLinuxの両方を使用するので、コマンドはほぼ同じであると仮定します。
現在のソリューション
私の現在のソリューションは理想的ではありません。デフォルトでは、次のリモートラボの1つにソックス接続があります。
ssh -D 1080 remoteLab1
ssh -D 1081 remoteLab2
その後、両方でプロキシサーバーをにrealvnc
変更しました。 Chromeにはこれを行うためのプラグインがあり、VNCにはこれに関するドキュメントがあります。chrome
localhost:1080 / localhost:1081
どちらのリモートラボも独自のドメインを持っているので、ルーティングテーブルを使用してIPアドレスに基づいてこれらのソックスプロキシを介してすべてのトラフィックを送信するより簡単な方法があるかどうか疑問に思います。
要求されたソリューション
一方:ソックス5トンネルが港に開かれました。1080
一方:ソックス5トンネルが港に開かれました。1081
必要
domain1.org
渡されたアドレス1080
domain2.org
渡されたアドレス1081
- 失敗 - 他のすべては標準のプロキシサーバーを通過します。
所有する価値
- 解決策は永久的ではありません。靴下トンネルの1つを開くことと組み合わせたスクリプトを介してアクティブになります。
プロキシサーバーの1つを介してドメインの代わりに特定のIPアドレスをマッピングすることも可能ですか?
アイデア
このすべてをどこから始めるべきかわかりません。私がどこかで見た解決策の1つはaを使用することproxy.pac
でしたが、会社のネットワークにはすでにaがあります。私のカスタマイズではない場合は、会社の設定を使用するproxy.pac
失敗方法があるかどうかわかりません。pac
.pac
.pac
iptables
またはコマンドを使用してくださいroute
。しかし、どちらも私の知識を超えています。
ローカルループバックなどを設定してください。
答え1
ProxyCommand
usingをnc
useに変更することをお勧めします-W
。たとえば、
ProxyCommand ssh -l USERNAME BASTIONHOST1 -W %h:%p
これにより、Baschenホストの要求が減り、管理者がBaschenホストの設定方法を変更することを決定した場合にエラーが発生する可能性が低くなります。
他のpacファイルを切り替える方法がないと思います。ただし、1つの注意事項で、2つのpacファイルをある程度関連付けることができます。エントリポイントは両方のファイルに存在します。元のpacファイルでエントリポイントの名前を変更する必要があり、さらに名前が変更された関数バージョンを呼び出すことができます。
歴史的に、エントリポイントはFindProxyForURLという関数でした。一部の最新のブラウザには、異なる名前を使用するエントリポイントを介して有効にされた拡張機能があります。