2015年4月11日土曜日

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(1)

※このページは能書きのため、実際の設定は以下のページを参照。
※「IPv6対応」と謳いながら、ZiproxyはIPv6に対応できていない。詳細は「■結果」を参照。

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(2)
 ■RaspbianをUSB-SSDから起動させる
 ■IPv6対応&ポート閉塞

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(3)
 ■ownCloudのインストール
 ■Dnsmasqのインストール

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(4)
 ■Polipoのインストール
 ■Ziproxyのインストール

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(5)
 ■Squid3のインストール
 ■Privoxyのインストール
 ■Muninのインストール
 ■それ以外の設定
 ■結果

 2012~2013年は、新居の設計、引っ越し、転職…といろいろあったけど、それはそれとして一気に省略。
 2012年のおれに言いたいこととしては…
  • 全てのコンセントは3極にしておけ!
  • 壁面に埋め込まれるLANのケーブルは、黙ってカテゴリ7にしておけ!
という事くらい。あとは概ねいいチョイスだったぞ!過去のおれ!

■キャッシュサーバをCubox→TS-121→RaspberryPi2に移行するまで


 引っ越しの際、NASをQNAP TS-121に変更したため、Squid、PrivoxyはCuboxからこちらに移行。
 空いたCuboxにGeexboxを入れてUSB-DACに繋いで遊ぶか…と思い立ち、久々にCuboxを触ると、SolidRunのHPからCuboxのWikiが消えてしまい、ググっても出てくるのはCubox-iとHummingBoardの情報ばかり。
 Geexboxも、Cubox-Installerから入れられるのはarmhf版のNightlyBuildだけで、USB-DACを繋ぐとフリーズするので、公式ページを覗きに行くと、まさかのISISクラッキング。
 こりゃちょっと安心して遊べないぞ…ということで、代替わりしたRaspberryPi2(以下RPi2)でいろいろ遊んでいたところ、以下のページを発見。

- Midwestern Mac, LLC
Getting Gigabit Networking on a Raspberry Pi 2 and B+


 そういや、丁度手元にUSB3.0のUSB-GbEアダプタがあるな…とpingを使って簡単に計測すると、200Mbpsとまではいかないが、160Mbpsは出ている計算。

  60000(Bytes ping packet) * 2(Times[Up/Down]) * 8(byte to bit) / 0.006(sec) = 160Mbps
    ※玄人志向 GbE-USB3.0S2とサンワサプライ 400-HUB022で確認。どちらも同値。

 暗号化しないFTPでも150~200Mbpsは出ているので、これは案外使えるんじゃね?ということで、ついカッとなってRPi2をサーバに仕立てて遊んでみた。後悔はしていない。…多分。
(もうすぐDebian-jessieがリリースされるのにwheezyか…とかその辺は置いとく)
 初代RPi(メモリ256MB版)でも実測120Mbpsは出ているので、そちらでもメモリが許す限りの範囲でサーバ化は可能なんじゃないだろうか。
(512MBは実測前に友人に譲渡したので不明。B+、A+はそもそも持ってないので実測していない)

■RPi2をサーバ化してやってみたいこと

  • TS-121にownCloud6を入れて、あまりの遅さに使用を断念したので、RPi2上のownCloud8はどんなモンだか使ってみたい
  • 引っ越しに当たり、NGNのIPv6-IPoE環境に移行したので、入れるサーバもIPv6化しておきたい
  • Polipo+Ziproxy+Squid3+Privoxy+dnsmasqで「ぼくのかんがえたさいきょうのキャッシュサーバ」を作ってみたい
というわけで、Cuboxで使っていた64GB-SSDもSATA-USB変換をカマして接続し、本格的にサーバ化してみたのでした。
 ちなみに、構成としては以下の通り。

THE INTERNET !!
Polipo
Ziproxy
Squid3
Privoxy
Client(PC, Tablet, etc...)

Polipo:外部サーバとのアクセスをHTTP1.1化
Ziproxy:画像ファイルの画質をある程度犠牲にして再圧縮して省サイズ化
Squid3:ziproxyで圧縮した状態のファイルをキャッシュ
Privoxy:広告等の不要なリクエストをリジェクト

…という構成。IPv6対応させるためにSquidは2系じゃなく3系を使用。
 普段はPolipo+Squid3で、スマホやVPNの場合だけZiproxy+Privoxyを使う、という場合は、SquidとZiproxyを入れ替えてもいいかもしれない。
 また、Privoxyより上位のプロキシに直接接続できるよう、意図的に接続先を絞っていないので、プロキシ全体が安定してきたら、接続先を絞っておくと良い。

 「IPv6-IPoEならPPPoEの速度制限を受けないから、キャッシュ要らなくね?」という問いには聞こえないフリをしますよ?


キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(2)に続く...

0 件のコメント:

コメントを投稿