Proxyサーバ(Squid)構築

外部公開用のsquidを構築

インストール

[root@centos01~]#yum -y install squid

設定ファイルであるsquid.confを修正

[root@centos01~]#vi /etc/squid/squid.conf
#デフォルトでローカルからのアクセスのみ受け付ける設定になっているので、全て受け付けるように変更
#http_access deny all
http_access allow all

#ポートを変更
#http_port 3128
http_port 8080

squidを起動

[root@centos01~]#/etc/rc.d/init.d/squid restart

  • 「#service squid stop」でもOK

squidをデフォルトで起動するように設定

[root@centos01~]#/chkconfig squid on



内部用にsquidを構築

squid.conf

maximum_object_size 4096 KB
キャッシュ可能な単一ファイルの最大サイズを規定

forwarded_for off
プロキシサーバの squid は、HTTP リクエストにさまざまな環境変数をセットすることがある。
デフォルトでは、クライアントの IP アドレス(またはホスト名)が送られる設定になっている。
Web サイトは HTTP_X_FORWARDED_FOR 環境変数より、内部ネットワークの IP アドレスやホスト名を得ることができるため、offにする。
これで、HTTP_X_FORWARDED_FOR 環境変数には Unknown という値が入るようになります。
逆に Web サーバ側では、この環境変数を記録することにより、プロキシ経由で悪さをする者を特定する手がかりにできることにもなります。
サーバー側で、HTTP_X_FORWARDED_FOR 環境変数にUnknownがある場合、アクセスをブロックする設定をしている場合がある。nullだとOKだったりする。

特定のIP、ドメインをブロックする

※ブロックするドメインの指定ファイル
/usr/local/squid/etc/blockdomain

※blockdomain_list-particular.txtの設定内容
www.yahoo.com

※squid.confの設定のうち、ブロックドメイン指定ファイルの特定設定
#特定端末アクセス制限
acl blockdomain dstdomain "/usr/local/squid/etc/blockdomain"

※引数には下記があります。
dstdomain
src
urlpath_regex

※squid.confの設定のうち、ブロックドメインする端末の特定設定
acl blockPC1 src 192.168.1.20/255.255.255.255
acl blockPC2 src 192.168.1.21/255.255.255.255


※squid.confの設定のうち、アクセス制限宣言

http_access deny blockdomain blockPC1
http_access deny blockdomain blockPC2


  • 最終更新:2012-02-25 19:25:06

このWIKIを編集するにはパスワード入力が必要です

認証パスワード