設定2行で Vyatta を Web Proxy Cache として利用する方法

ミラーによる負荷軽減活動が http://hope.viops.jp/ にて実施されていますが、企業内や家庭でVyattaをお使いの場合、Web Proxy 機能利用が可能です。
災害情報サイトの負荷軽減や、多少なりとも各種サイトの負荷軽減効果がありますのでご参考にしてください。

結論:以下2行の設定でプロキシとして動作します。

vyatta@vyatta# set service webproxy listen-address 192.168.11.110
vyatta@vyatta# commit

概要

・Squid 3.0 が動いてます。
・透過的、明示的、両方の Proxyとして動作します。
→ 透過的=Transparent Proxy:TCP port 80 を web proxy にリダイレクト。
→ 明示的=non-Transparent  :ブラウザにて明示的にプロキシ設定:<ip>:3128

※ 例として、Web Proxy経由での見えないサイト等の対応が不安だけど、協力してもらえる社員の方には利用して欲しい場合、透過的Proxyをdisableにして、明示的Proxyのみを使用する方法があります。

・注意点:
Proxy動作時にローカルディスクへの書き込みがあります。
USB や Flash Disk Bootによる動作時にはうまく動作しない可能性がありますので、DISK容量や性能には十分注意してください。
HDDであれば、性能は問題ないと考えられます。

設定方法

もっともシンプルな以下構成での設定方法です。
透過的、明示的、両方で動作します。

[Internal LAN] —— eth0[vyatta]wan0 —– [Internet]

※ eth0 = 192.168.11.110 の場合

vyatta@vyatta# set service webproxy listen-address 192.168.11.110
vyatta@vyatta# commit
Restarting Squid HTTP Proxy 3.0: squid3.
vyatta@vyatta# save

設定確認方法:

vyatta@vyatta# show service
ssh {
}
webproxy {
listen-address 192.168.11.110 {
}
}

Access ログ

Web Proxyとして機能しているかどうか、ログから確認できます。
Linux と同様、/var/log/squid3/ の下に保存されてます。

vyatta@vyatta:~$ ls /var/log/squid3/
access.log  cache.log
vyatta@vyatta:~$ tail -f /var/log/squid3/access.log
1300001998.912      0 192.168.11.4 TCP_MEM_HIT/200 2597 GET http://www.jrc.or.jp/shared/img/gnav7_.gif – NONE/- image/gif
1300001998.935      0 192.168.11.4 TCP_MEM_HIT/200 2351 GET http://www.jrc.or.jp/shared/img/gnav8_.gif – NONE/- image/gif
1300001998.959      0 192.168.11.4 TCP_MEM_HIT/200 3444 GET http://www.jrc.or.jp/shared/img/pagetop_.gif – NONE/- image/gif
1300001998.971      0 192.168.11.4 TCP_MEM_HIT/200 1190 GET http://www.jrc.or.jp/shared/img/ts_bt2_.gif – NONE/- image/gif
1300001998.972      0 192.168.11.4 TCP_MEM_HIT/200 1953 GET http://www.jrc.or.jp/shared/img/gnav9_.gif – NONE/- image/gif
1300001998.978      0 192.168.11.4 TCP_MEM_HIT/200 2307 GET http://www.jrc.or.jp/shared/img/gnav6_.gif – NONE/- image/gif

その他チューニング

・透過的Proxyを停止
vyatta@vyatta# set service webproxy listen-address <eth0> disable-transparent
※ ブラウザで明示的にプロキシ設定した場合のみ利用可能になります。

・Access Logの停止
vyatta@vyatta# set service webproxy disable-access-log
※ 性能面で不安ある場合等にアクセスログを停止

・明示的Proxyのポート(default = 3128)
vyatta@vyatta# set service webproxy default-port 8080
※ ブラウザに設定するプロキシのポートを 3128 → 8080 に変更

・Cache Size 設定コマンド(default = 100MB)
vyatta@vyatta# set service webproxy cache-size 200
※ Web Proxy Cache に割り当てられる Disk サイズです。(メモリじゃない)

メモ

・Squid ( version : 3.0 )
http://ikochan.homelinux.com/trac/ubuntu/wiki/Squid
Squidそのものの情報や、ブラウザの設定方法の解説。

ebiken について

Technology, Music, Wine, Beer and more…
カテゴリー: Uncategorized, Vyatta パーマリンク

コメントを残す