1つの内部NICと1つの外部NICを持つ小さなセットアップでプロキシとしてsquid
を使用しています。現在、tcpを使用して、どちらの側でもトラフィックをキャプチャできますが、いくつかの問題があります。私が直面しているのは、外部NICのトラフィックをキャプチャすると、外部NIC IPのみがクライアントIPとして与えられ、内部からのトラフィックをキャプチャすると、宛先IPは常にSQUID内部IP。必要なのは実際のクライアントとサーバーのIPです。どうすればよいですか?
私のOSはCentOS7.2です
透過プロキシを使用していない限り、表示される動作は正常です。
IPレベルでは、2つを接続する方法はありません。プロキシがキャッシングプロキシである場合、接続するものがない場合があります。プロキシは、キャッシュに情報がある場合、クライアントの要求を処理できます。しかし、パケットの中を見ると、探しているものが見つかるはずです。
Host
HTTPヘッダーを探します)。X-Forwarded-For
HTTPヘッダーを探します)。2番目のケースでは、キャッシングプロキシを使用すると、特定のキャッシュ可能なリソースを要求している最初のクライアントのIPアドレスのみが見つかることに注意してください。
暗号化された接続を処理しようとすると、状況は少し複雑になります。それについて読んでみましょう( この件に関するWiresharkのページ および Squid's を参照)...