#Webブラウズが遅い、、、原因はプロキシ?
どうにもWebブラウズが遅いことがあって困ってます。Zabbixとか使って測定したところでは、どうもプロキシが原因みたいです。
で、Squidのチューニングをいろいろ調べていたのですが、これといって決め手がなく、、、Vyattaでプロキシ立ててみたらどうかな?と思ったので実験してみます。ま、中身は所詮Squidなわけなんですが、ソフトウェアルータ向けのチューニングに期待です。
#まずはベーシックな設定を確認
Vyatta入門に沿って、まずはベーシックな設定を一通り流してみます。
##Webキャッシュサーバの設定
このコマンド一発でWebキャッシュサーバとして動作します。デフォルトではトランスペアレントプロキシになります。Vyatta配下にいればクライアント側にProxy設定はいらないわけですね。
ちなみに、1isten-addressで指定するのはVyattaのローカルインターフェースです。
# set service webproxy listen-address 192.168.3.1
# commit
# save
##アクセスログで動作確認
一般モードでアクセスログを見て、正常にProxyとして動作していることを確認します。
私の環境では無事に動作していることが確認できました。今VyattaのProxy経由でこの原稿書いてます。
$ show webproxy log
##キャッシュサイズの変更
下記コマンドでキャッシュサイズが変更できますが、検証はデフォルトのままでいきます。
デフォルトは100MB、10MBに変える場合はこんな感じです。
# set service webproxy cache-size 10
# commit
# save
##動作モードの変更
実際の環境では、クライアントはVyatta配下にいないので、トランスペアレントモードを無効にします。
# set service webproxy listen-address 192.168.3.1 disable-transparent
# commit
# save
##ポート番号の変更
VyattaのWebキャッシュサーバはデフォルトで3128番ポートで動作します。
私の環境では 8080 を使いたいので、設定を変更します。
# set service webproxy default-port 8080
# commit
# save
##クライアントにProxy設定をして動作確認
クライアントでProxyの設定を 192.168.3.1:8080 にして正常にWebを見られることを確認します。
##Squidのコンフィグを確認
Squidのコンフィグを見てみました。一般モードでviで参照します。
$ vi /etc/squid3/squid.conf
こんなのが吐かれてました。
#
# autogenerated by vyatta-update-webproxy.pl
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl net src all
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow net
http_access deny all
cache_dir ufs /var/spool/squid3 100 16 256
cache_mem 20 MB
access_log /var/log/squid3/access.log squid
cache_store_log none
http_port 192.168.3.1:3128
forwarded_for off
#まとめ
Vyattaのコマンドヘルプも見てみましたが、プロキシに関してコマンドはあまりないので、後はSquidのコンフィグをいじって、実環境に試験導入してみようと思います。