前回、Amazon VPCのNATインスタンスを作ってみる(iptables編)の記事を紹介しました。
しかしiptablesでは、IPアドレス/ポート単位でしかアウトバウンドの制限ができないので、少し高度な制限(DNS名等)を可能とするため、さらにSquidを経由させることにしました。
はじめに、Squidのインストールです。
# yum -y install squid # chkconfig squid on # chkconfig --list squid squid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
設定ファイルは下記のようにしています。
# cat /etc/squid/squid.conf visible_hostname unknown http_port 3128 transparent forwarded_for off cache deny all http_access allow all http_access deny all
そして、Squidを起動します。
# /etc/init.d/squid start squid を起動中: .. [ OK ]
iptablesは、次のように80番のアクセスを3128番にリダイレクトするようにしておきます。
# iptables -t nat -A PREROUTING -i eth0 -s 0.0.0.0/0 -p tcp --dport 80 -j REDIRECT --to-port 3128
上記により、HTTPの通信をSquid経由で調整(DNS名での制限等)ができるようになりました。
しかし、HTTPSには適用することができません。