SUSE Linux 12 (SLES12 sp3) で YaST から Squid3 を導入、設定

SLES12 より Squid プロクシが YaST からインストールできるようになったので、SLES12 SP3 で YaST インストーラからインストール、設定、起動までをやってみました。

- 参考 -

SUSE 11 で Squid3 を導入、設定

YaST > Software Management で調べると SLES12 sp3 で標準装備されているのは Squid 3.5 の様です。

a0056607_12252656.jpg

- Squid Proxy のインストール -

yast(yast2) より NetWork Service > Squid を Open します。YaST インストーラが起動し、自動的にインストールが開始されます。

a0056607_12261181.jpg



Start-Up : When Booting に変更

a0056607_12264319.jpg


HTTP Port は 3127 がデフォルトです。 ここでは 8080 に変更します。

a0056607_12270217.jpg


デフォルトでは最大キャッシュサイズ ( Max Object Size ) が小さいので大きな値を設定します。例えば Memory Cache 128 MB, Max Object Size 256Mb などです。Squid 専用サーバーであれば、これくらい与えても良いでしょう。


a0056607_12272542.jpg



Cache Memory と Max Object サイズを設定します。

キャッシュディレクトリのサイズは実装されたメモリ、ディスクのサイズに合わせて適度な数字を設定してみてください。また、キャッシュディレクトリは "/" ルートと違うパーティションに作成するのが理想です。特に物理的なハードディスクが違うパーティションを与えると、効果が上がります。SSD を使って割り当てると "爆速キャッシュ" になります。

a0056607_12281144.jpg
一旦、Squid キャッシュを再起動します。

確認くん

で確認してみました。

a0056607_12291638.jpg

Squid のバージョンが漏れています。

- 匿名性の確保 -

/etc/squid.conf を書き換え、次の行を追加しました。

visible_hostname unknown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

Squid を再起動して、もう一度確認くん


a0056607_12295289.jpg

Squid のバージョンを隠す事が出来ました。

- Squid cachemanager の設定 -

Squid cachemgr.cgi スクリプトが、Squid のインストールと同時に /usr/lib64 の下にコピーされます。これを /srv/www/cgi-bin の下にコピーします。

また apache2 がインストールされていなければ Apache2 をインストールしてください。

SUSE Linux (SLES12) で apache2 HTTPサーバー と PHP スクリプトのインストール

sles12sp3:~ # find / -name cachemgr.*
/usr/share/doc/packages/squid/scripts/cachemgr.readme
/usr/share/man/man8/cachemgr.cgi.8.gz
/usr/lib64/squid/cachemgr.cgi
/etc/squid/cachemgr.conf
/etc/squid/cachemgr.conf.default
sles12sp3:~ #
sles12sp3:~ # cp /usr/lib64/squid/cachemgr.cgi /srv/www/cgi-bin
sles12sp3:~ #

/etc/squid/cachemgr.cfg の localhost 行にポート番号(:8080)を追加しデフォルト 3128 から変更します。

sles12sp3:~ # vi /etc/squid/cachemgr.conf

: 編集中

sles12sp3:~ # cat /etc/squid/cachemgr.conf | grep localhost
localhost:8080
sles12sp3:~ #

ブラウザから cgi を開き "Cache Server" を トグルボタンで localhost:8080 に設定して "Continue" します。



a0056607_12324146.jpg


"Continue..."

a0056607_12332764.jpg


"Cache Clients:” のリンクを開くと、キャッシュのヒット率、ヒット数が表示されます。

a0056607_12340971.jpg

キャッシュのヒット率、ヒット数は、"ヒットしたキャッシュの量" を表すものではない事に注意してください。効率が良いキャッシュサーバーは、どれだけ、"トラフィック量" を捌いたかが重要です。実際、キャッシュ量は Squid キャッシュディレクトリの量を du コマンドなどで定期的に測って見るべきでしょう。

sles12sp3:~ # cd /var/cache/squid/
sles12sp3:/var/cache/squid # du -h
2.8M ./00/00
4.1M ./00/01
0 ./00/02

 : 中略

0 ./0F/FF
0 ./0F
6.9M .
sles12sp3:/var/cache/squid #

キャッシュは様々な理由で壊れたり、 Squid 自身がクラッシュする可能性もあるので、cron でキャッシュ最大サイズになる前に定期的に squid を停止させて、キャッシュディレクトリ全体を削除して再起動するのが良いでしょう。

実際の Squid の効率を調べる方法はこちらをご参考にしてください。

squid の効率をチェックして、キャッシュをクリアする

--
Squid の Local Cache は "効果がない" という意見もありますが、Cache サーバーを導入することで、インターネットの出入り口が交通整理されるため、混雑した環境では、ブラウザの動作が安定する場合があります。また、「遅い」と思う人ほど、最初のキャッシュミスヒットなので、遅いのは当たり前なんですね。

最近は動的コンテンツが多いため、あまり効果が分かりにくいのも事実です。

まぁ高速道路で "渋滞の中、加速したり止まったりで平均 40Km/h"で走るのと、"混んでいても 40Km/h で定速で安定して走っている"との違いのようなものなのですが、自動車の運転と違って、通信は目に見えないので、判りにくいのもよくわかります。

一人でも多くのユーザが利用できるようにすれば、静的コンテンツのキャッシュ効果が表れてきます。

「インターネットがブラウジングが遅い」というのは、相手サーバーとの距離でもありますし、多くはブラウザ内部のキャッシュを処理する使っているPCの性能の問題の様な気がします。相手サーバーとの間の MTU は経路のルータで 1,500 バイトに分割される事を忘れてはいけません。大抵は 1.5Kb 以上の画像などのコンテンツがあれば、やり取りを地球七周半/sec で経路中の装置のオーバーヘッドの影響を受けながら「行ったり来たり」しているのです。

また、Squid の負荷状態を様々なツールで分析できれば、ネットワークの実効容量が測れるので、その固定回線への固定投資は効果があるのかどうかの判断材料にもなります。

サブスクリプション購入はこちら



- Key Word -

SUSE Linux, SLES, SLES12, SLES12 SP3, Squid3.5, YaST, インストール, 導入, 設定


[PR]
トラックバックURL : https://islandcnt.exblog.jp/tb/237812825
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by islandcenter | 2017-09-30 12:42 | SUSE | Trackback | Comments(0)