プロキシサーバとは代理サーバと呼ばれ、ネットワークの渋滞を緩和するための手法です。
最近ではセキュリティ上のために設置する場合もあり、あればなかなか重宝するものです。
しかし、台数が多くなってきたり、ツールによっては個々にプロキシを設定する必要がある場合も
少なくなくなってきました。そこで、何の設定もせずにプロキシサーバを利用できる「透過型プロキシ」を
作ることにしました。
環境
internet --- eth0==IPマスカレート==eth1 ---屋内ネットワーク
IPマスカレートとプロキシサーバは同一マシンでサービスしているとする
ディストリビューション = VineLinux 2.6R2
プロキシサーバ = Squid-2.4.STABLE7-0vl1
ファイヤーウォール = iptables-1.2.7a-0vl2
1:Squidを通常に設定します
2:/etc/squid/squid.confの設定をします。
httpd_accel_host (プロキシサーバ名)
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
3:iptablesを追加する
iptables -t nat -I PREROUTING -i eth1 -p tcp --destination-port 80 -j REDIRECT --to-port 8080
iptables -I INPUT -i eth1 -p tcp --dport 80 DROP
iptables の設定はすでに完了しているものとしているので最初のスイッチが「-I」となります。
最初から順序よく設定する場合は「-A」となります。。
後、最後の行は動作するはずなのにしません。。。なぜなんだろう?と言うことで設定しなくてもけっこうです。
これで、デフォルトゲートウェイをTCP/IPの80番ポートを通ろうとしたときに、強制的に8080番を通るように変更されました。
プロキシサーバのポートが8080番以外の場合は、iptablesの --to-port 8080 の番号を変更してください。
完了!2003/09/08記述
Let's PC の Topに戻る
ホームページのTopに戻る