ローカル以外のすべてのトラフィックをソックスプロキシにリダイレクトできますか?
たとえば、次のようになります。
4 computers (clients A-D: 10.0.0.1-4 or dhcp)
1 computer with 2 network cards (gateway-server, eth0: 10.0.0.254, eth1: 192.168.1.1)
1 computer with 2 network cards (router, eth0: 192.168.1.254, eth1: public-ip)
各クライアントのブラウザを設定することなく、ゲートウェイサーバーを通過するすべてのコンピュータにゲートウェイサーバーにインストールされているsockプロキシを使用する必要があります。
目的は、すべてのURLと帯域幅の使用量を記録することです。
問題は..
- 可能ですか?それでは、どうすればいいですか?
- できない場合の代替案は何ですか?
答え1
申し訳ありません。この質問に答えるには遅すぎる可能性があります。私は最初にstackexchangeに触れ、今日これを見て、以前は答えることができませんでした。仕事に行きましょう...
そのPCからのすべての要求をソックスプロキシポートにリダイレクトするには、いくつかのiptablesが必要です。ポート9050に対応するプロキシがあり、カードのインターフェイス名がeth0(最も近いインターネット側に接続されているゲートウェイサーバーの1つを意味)であるとします。なぜなら、データを提供しないからです。想像してみてください。
echo 1 > /proc/sys/net/ipv4/ip_forward
転送とNATマスカレーディングを有効にするには、iptablesルールを実行する必要があります。
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
内部ネットワーククライアントからのすべてのWeb要求を目的のプロキシポートにリダイレクトするには:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 9050
iptables -t nat -A PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-port 9050
これらの規則によれば、要求が正しく機能するためには、要求が到着するポートによく設定された「もの」が必要です。頑張ってください!または、私が遅れている場合は、この問題をどのように処理したかをお知らせください。