特定のWebサイトの監視とブロックに使用する基本的なSquid + DansGuardian仮想マシンをセットアップしました。現在、Webトラフィックはゲートウェイとして設定されたルーターを通過します。このIPアドレスは、Linuxサーバー上のDHCPサービスによって配布されます。一部のクライアントを、MACアドレスに基づいて別のゲートウェイにルーティングしたいと思います(これはすでに実行できます)。設定は次のとおりです。
Router (Gateway) - 192.168.0.1
DHCP/DNS Server - 192.168.0.10
Squid Server - 192.168.0.254
Client PCs - 192.168.0.100-199
ただし、ほとんどのチュートリアルでは、Squidが1 NICでトラフィックを受け入れ、それを別のサブネット上の別のNICで外部に中継する必要があるようです。
SquidにIP(192.168.0.254)でトラフィックを受け入れさせ、それをゲートウェイ(192.168.0.1)に中継して、建物を通常どおりに残すことは可能ですか?もしそうなら、誰かが私に与えることができる関連するiptablesルールを持っていますか?
この目的のために別個のインターフェースを持つ必要はありません。
HTTPトラフィックをリダイレクトし、残りを適切にNATにリダイレクトするルールを追加するだけです:
iptables -t nat -A PREROUTING -i eth0 -m iprange --src-range 192.168.0.100-192.168.0.199 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0 -m iprange --src-range 192.168.0.100-192.168.0.199 -j SNAT --to-source 192.168.0.254
すべてのチェーンのデフォルトポリシーが受け入れるように設定されていることを前提としています。また、このホストでipv4転送を有効にする必要があり、そのデフォルトゲートウェイは192.168.0.1に設定する必要があります。