Pogoplug を提供するクラウドエンジンズも Pogoplug Cloud へ舵を切り始め、ハードPogoが継続されるのかあやすぃので、代替環境を模索してみた
Pogoplorerで神経が衰弱(回復の見込みナシ)していることもあり、とりあえず出来合いのNASを検討
いまどきなので、宅外から見られる機能があるNASも珍しくないが、UPnP必須なの(細かく調べないと記載されてない)多し
そんな中、元々NAT超えなんかあたりまえの BitTorrent Sync が Netgear の NASで使えるようになったとかいう話
でも、なんか引っかかってた事が... BitTorrent Sync って、"Sync" なんですな
ブラウザからサインインしてちょとファイルを取ってくるとか、FTPみたいに純粋なアップダウン的じゃなくて... PCは問答無用で同期とか
Amazonで、お米買うついでに買った、Raspberry Pi(RPi)
次期バージョン(B+じゃなくて)も噂される中、今更購入したのだが、思った通り~楽しい~楽しすぎる (RPiのハウジングが欲しい)
とりあえず、省電力、低コストで、確たる使い道も決まってないので、これを起用
RPiの情報は、豊富にあるため以降の設定解説は省略(爆)
質問のある方は、フォームからどうぞ → 都度載せることになるかと思います
RPiの初期設定を済ませて、Samba導入でNAS化
BitTorrent Sync も導入(NAT超えも問題ない)
先ほどの "Sync" が引っかかる所
外部のスマートフォンなどから利用する場合、大量の蓄積フォルダは、読み込み専用で必要な物だけ取得、アップロード用フォルダは、読み書き設定で同期させる
という運用ならOKかも
ひとまず NAT超えはおいといて、
SFTP: 元々SSHが起動しているので、直ぐ使えるが初期ディレクトリ = home ディレクトリ。
アカウント権限の元、色んな所へ移動できてしまいます。さらに、ルートを指定ディレクトリへ移動させるには、homeディレクトリの移動など面倒
ユーザーが一人なら、これが手っ取り早い
FTPS(vsftpd): apt-get でインストールされる 2.3.5 には、ルート指定したディレクトリの属性がリードオンリーじゃないとダメとか、不思議な仕様あり
WebDAV: Apache2 に標準搭載なので、設定を有効にして直ぐに使用可能 → とりあえずこれにしておく
(CPU温度監視のため既に Apache 稼働中だった)
ポートフォワーディングできる環境だと、Samba(LAN) + WebDAV(WAN)
ポートフォワーディングできない環境だと、Samba(LAN) + BitTorrent Sync(WAN)
が利用可能
ポートフォワーディングNG な環境で、一般的なNAT超え(Udpホールパンチング等を使わない)を考えると、どうしてもグローバルIPを持った中継サーバが必要になります
(条件の低コストに反してしまいますが..)
今回は、グローバルIPを持つVPS(仮想プライベートサーバ)で、VPN(仮想プライベートネットワーク)サーバを動かし、
Raspberry Pi をクライアントとして接続、特定のポートを VPSからトンネルして、Raspberry Pi の WebDAVへ繋ぎます
Pogoplug でいう「クラウドエンジンズの中継サーバ」の役割ですな (内容は全く違うけど)
VPSは 500円/月くらいから借りられます (その金額なら Pogoplug Cloud が契約できたりするんだけど、あれはあれで用途が別)
ということで、とりあえず簡単に使える PPTP(pptpd)サーバをVPS(CentOS 6.5 64bit)で、PPTPクライアント(pptp-linux)を Raspberry Pi で動かします
(VPNは、OpenVPN 他、環境にあったものを選択すればよいです)
今回 MTUは、どちら側も 1400 に設定. 1200~1500あたりを探ったが、1400が最も速くて安定していた
VPSで受けたポートを、VPN越しの RPiへ渡すには、VPS側の iptables は下記の様な記述になります
VPN側アドレス VPS:192.168.2.1, RPi:192.168.2.100 で TCP 443 を渡す時↓
*nat -A PREROUTING -m tcp -p tcp --dst VPSのグローバルIP --dport 443 -j DNAT --to-destination 192.168.2.100:443 -A POSTROUTING -m tcp -p tcp --dst 192.168.2.100 --dport 443 -j SNAT --to-source 192.168.2.1 |
心配した RPiの耐久性は、稼働(2014/8/9頃)から約1ヶ月後にあった VPSのメンテナンスまで連続稼働
VPN接続のタイムアウト値が短かったので修正して、2ヶ月以上安定した状況
PRiの電源アダプタは、5V-2A(Nexus7 2012 に付属していたもの)を使用. 発熱はほんのり暖かい程度
構成途中にポータブルな 1Aタイプを利用していたが、かなり発熱していたので、容量に余裕のあるものを使いましょう
RPi の Apache へ Pydio(ajaxplorer)を置いてみる
動作は、かなりもっさり。緊急用としてはありかも
LANからも、体感できるほどの速度向上は無かった
VPS の Pydio(ajaxplorer)へリポジトリから VPN越しに PRi の sambaをマウントしてみた
ディレクトリ表示はフツーだが、ダウンロード開始までが、ひじょーーに時間がかかる!!
公式フォーラムによると Pydio の samba マウントは、一旦 Pydioが取得してからダウンロード開始となるので、
linux ならどっかにマウントして、それをリポジトリへ登録しろとのこと
純粋なわたくしは、cifs-utils をインストールして samba を VPN越しにマウントしようとするものの「Unable to apply new capability set.」
OpenVZ は CIFS をマウントできないのでした...
RPi側で作成した「オレオレ証明書」が、Windows Explorer WebDAV で弾かれる
RPiでVPSドメイン名の証明書を作成したが、そもそも接続先と応答元が違うので、この辺りにも問題あるかも
その辺りを回避できる、適当な WebDAVクライアントを使ってます(各OSにあり)
暗号化したトンネルを、SSLが流れるのは、何か無駄なような...
(済)PPTPで暗号なしだと、速度UPするのか?(認証まで暗号化されないのは困るけど)
(済)VPS側で、Apache(WebDAV)を稼働させ、トンネル越しにNASをマウントすると、Raspberry Pi の負担が減るかも
RPiにGBE(ギガビットイーサ)が欲しい・特にLANでの速度
好きなNASを買ってきて、USBじゃなくてNASのSambaをRPiへマウントすりゃいいよーな気もする・RPiは外部接続ゲートウェイ
無いと思いますが フォームからご連絡下さい