So-net無料ブログ作成
スポンサードリンク

squidで上位proxy利用環境時に設定したほうが良い設定 [proxy]

上位proxyへ接続するproxyサーバでsquidを使用する時に、しておいた方が良い設定のメモ。

上位proxyへ接続する設定には、必ず上位proxyへ接続する設定
never_direct allow all
が、入っていることが多く、この設定が入っているとクライアントからのアクションに対して、
全て上位proxyにリクエストを送付するようになる。
しかし、ローカルアドレスへのリクエストについては、利用する上位proxyの環境にもよるけど、
上位proxyからローカルアドレスへのアクセスが出来ない場合が有り、接続したいサイトへ
アクセスが出来ない現象が発生する。

クライアントのブラウザ設定で、ネットワーク接続プロキシ設定のプロキシを使用しないアドレスが
設定されていれば、この現象は出ないが、設定漏れや設定が出来ないデバイスが有ると、
squidの設定で回避する必要が有る。

方法はaclで回避したいネットワークアドレスやIPアドレスを指定し、直接接続をする設定を入れることで改善できる。
squid.confに上位proxyへリクエストしないアドレスを指定する。
(例)プライベートアドレスを指定
acl locala dst 10.0.0.0/8
acl localb dst 172.16.0.0/12
acl localc dst 192.168.0.0/16

always_direct allow locala localb localc

設定を入れた後は、configのチェックとsquidの再起動で完了。
# squid -k parse
# systemctl restart squid

この設定を、never_direct allow allの前に入れることで、設定したネットワークアドレスの
リクエストは上位proxyへ接続せず、proxyからダイレクトに接続するようになる。

squid3でやっておいた方が良さそうな設定 [proxy]

CentOS5まではsquid2が標準で入っていましたが、CentOS6ではsquid3.1、CentOS7ではSquid3.3がyumでインストールされます。
リポジトリ追加して本家からインストールするとSquid3.5がインストールできます。
Squid3はSquid2と比べデフォルトのconfigが少なく設定がしやすいのですが、動きはSquid2と比べると少し遅くなるみたい。
少しでも快適に動作させるには設定を追加したほうが良さそうなので、そのメモ(基本的な設定は除く)。
リプレースでバージョンが変わるときは要注意かな。

・ipv4を優先にする設定
dns_v4_first on
ipv6を使わない時に有効かな。

・keepalive設定??
client_persistent_connections off
server_persistent_connections off
デフォルトはonになっている。Zero Sized Replyにも有効。

・中途半端な接続を切る設定
half_closed_clients off
無駄な接続が多い場合に。

・接続数対応
max_filedesc 4096
数値は必要数。squidclientで確認が出来る。
起動スクリプトに「ulimit -HSn 4096」の追加が必要

・ドメインサーバ指定
dns_nameservers 192.168.1.1 192.168.1.2
指定が無い場合は、OSに設定しているのが有効になるけど、confで設定したほうが良さそう。

・FTPサイト対応
ftp_passive on
ftp_epsv off
FTPサイトへアクセスが出来ないときに。

他も有るかもしれませんが、上記設定はしておいた方が良さそうです。

squid3のログをsyslogサーバへ転送する方法 [proxy]

squid3のaccessログをsyslogサーバへ転送するには、一度squidを起動しているサーバのsyslogへ転送して、
そこから別サーバのsyslogへ転送する。

squid.conf
access_log syslog:local1.info combined
localは0~7の任意。combinedはログフォーマットなので好みで。
を追記

squid構築サーバのrsyslog.confに追記
*.info;mail.none;authpriv.none;cron.none;local1.none    ※local1.noneを追記
local1.* @10.0.0.100                  ※syslogサーバ指定を追記。udpの場合。



受け側のsyslogサーバ(10.0.0.100)のrsyslog.confに編集と追記(UDPで受信の場合)
$ModLoad imudp                          ※コメント外す
$UDPServerRun 514                        ※コメント外す
*.info;mail.none;authpriv.none;cron.none;local1.none    ※local1.noneを追記
local1.* /var/log/squid/access.log           ※ログ保存先指定
$AllowedSender UDP, 127.0.0.1, 10.0.0.0/24

で、転送が出来た。
squid2はsquid.confで直接syslogサーバへ転送出来るようですが、squid3は出来ないのかな。

規模にもよりますが、squidのaccessログはログ量が多いので、squidサーバのメッセージログに
imuxsock lost 100 messages from pid 1000 due to rate-limiting
な感じのログが出ることがあるので、
messageログに”imuxsock lost 100 messages from pid 1000 due to rate-limiting"が出た時の対処
で、対応が必要かも。

スポンサードリンク
シャンパン酵母エキス