私の目標は、インターネット上のクライアントが squid プロキシ サーバーに接続し、ユーザー名とパスワードを提供して、192.168.11.152 などの IP アドレスを使用して、サーバーが属する内部ネットワーク上の複数の http サーバーにアクセスできるようにすることです。現在、これらのサーバーへのアクセスは、ある IP の内部ポート 80 から非標準の外部ポートへの NAT ポート転送の混乱によって処理されています。この方法では、IP 192.168.11.152 のデバイスには http://example.com:8936 経由でアクセスすることをユーザーに覚えてもらう必要があり、理想的ではありません。また、多くのデバイスはユーザー名とパスワードをサポートしていないため、私は隠蔽によるセキュリティに頼っています。外部からネットワークに許可するトラフィックは HTTP および HTTPS トラフィックのみであるため、VPN は使用しません。デバイスはすべて組み込みシステム (電源スイッチ、セキュリティ カメラ、信号装置など) であるため、どのデバイスでも HTTP サーバーを変更することはできません。私は Debian で Squid プロキシ サーバーを設定するためのガイドを探しましたが、それらはすべて匿名プロキシの設定に関するもので、ユーザー名とパスワードをサポートしておらず、外部リソースへのプロキシ接続を許可しています。プロキシに接続すると、192.168.11.xxx アドレスへのトラフィックのみが転送されます。そこで、私の質問は次のとおりです。
- これは本当に可能なのでしょうか? Google 検索によると、誰もこれをやっていないようですが、それはおそらくそれができないからでしょうか?
- これは良いアイデアでしょうか? そうでない場合、より安全で、要件を満たす、より良いアイデアはありますか?
- どこから始めればいいのでしょうか? オンライン ガイドはすべて、設定ファイルをカット アンド ペーストするだけで、何も説明されていないため、目的に合わせて変更することはできません。マニュアル ページはわかりにくいため、情報を見つける前に、自分が何を求めているかをあらかじめ知っておく必要があります。どこかに、私が見逃した優れた本やチュートリアル セットはありますか?
この質問に完全に答えるには、私以外の人が費やせる時間よりも長い時間がかかることは承知しています。上記の 3 つのポイントについて簡単に説明し、詳細な参考文献を添えた回答を歓迎します。
答え1
ユーザーがネットワークに SSH アクセスできる場合は、優れた代替手段があります。
例えば
ssh -D9090
それぞれのローカル マシンで SOCKS プロキシ ポートを開きます。その後、この SOCKS プロキシを介して SSH サーバーのローカル ネット上の任意の宛先にアクセスできます。
これは、Firefoxの拡張機能を使用すると特に便利になります。フォクシープロキシ、ホワイトリスト(例:http://192.168.11.*/
プラス https)を定義して、それぞれの IP(およびそれらの IP のみ)がプロキシ経由でアクセスされるようにすることができます。