先日、なんとなくServerMan@VPSを借りてみた。ただ、500円のプランだと、メモリ256M, HDD 10GBという、いつの時代のパソコンだ、というくらいのスペックしか保証してくれない。
しかも噂によると、Serverman@VPSは突然データがふっとぶなど日常茶飯事らしく、こいつをWebアプリケーションサーバーとして公開するには若干心もとない。
ただ、500円/月でありながら、固定でグローバルIPアドレスが持てる、というのはかなりの利点である。
そこで、考えた。
ルーターになってもらおう。
いまの自宅のネット環境は、不幸にもマンションタイプで、グローバルIPを振ってくれないのだ。これだと、せっかくiPod touchを超省電力サーバーとして運用しても、外から見られない。
そこで、
・iPod touch→Serverman でVPN接続
・Servermanの80番ポートを自宅鯖の80番ポートにフォワード
とすることで、あっさり、解決。
(実はVPNなんて使わなくてもiPod touchから
sudo ssh -R 8080:localhost 80 <servermanのip>って感じでリモートポートフォワードすればもっと簡単に実現できるのだが、
今回はVPN張る練習も兼ねてやってみた。)
VPS側にOpenVPNサーバを準備
ServerMan@VPSは、嬉しいことにDebianがデフォルトである。デフォで入ってるバージョンはなぜか古いが、簡単に最新にできる。
まずは、OpenVPSをインストールして
sudo apt-get install openvpnサンプルから鍵作成用のスクリプトを引っ張ってきて
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa-servermanvps/証明書作成用のパラメータを設定する。
自分しか使わないオレオレ証明書なので、適当で良い。
cd nano /etc/openvpn/easy-rsa-servermanvps/ sudo nano vars
############## export KEY_COUNTRY="JP" export KEY_PROVINCE="AA" export KEY_CITY="adbcity" export KEY_ORG="orz org" export KEY_EMAIL="oreore@orz.org" ##############ここからはrootになって作業。まずは認証局をつくる。
su source vars ./build-ca
次に、サーバ側の鍵と証明書を作る。
./build-key-server myserverなんか聞かれるけど、イエスマンになっておけばよい。
次に、クライアント側の鍵と証明書を作る。
./build-key-client myclient1 ./build-key-client myclient2 ./build-key-client myclient3 ./build-key-client myclient4必要なだけ作っておく。あとから追加するのも面倒なので、必要じゃなくても作っておく。
こちらもイエスマンになっておけばよい。
最後に、鍵ペアの登録。
./build-dh
これで、鍵の準備はOK。
サーバーの設定は、ちょっと疲れてきたので
ここから拝借。http://blog.asial.co.jp/666
あざーす。/etc/openvpn/server.confいただきます。
ついでに、どっかに1行、以下を追加する。
client-to-clientそんで、サーバーを起動
/etc/init.d/openvpn start
はい、完了。
次に、iPod touch側。
まずはCydiaからOpenVPNをインストールしておき、
クライアント設定もここからありがたく拝借し、
~/.vpn_conf
あたりに保存。
screen sudo openvpn --config ~/.vpn_conf (どひゃーと、接続ログがでる。) (IPがとれたことを確認し、Ctrl+a、d でscreenからデタッチ)
これで完了。
ServerMan側からiPod touchのIPにpingを打って疎通確認。
ping 192.168.100.6返ってくるのを見てほくそ笑む。
最後に、サーバ側で、
sudo chkconfig apache2 off sudo nano /etc/rinetd.conf
0.0.0.0 80 192.168.100.6 80を追記。
で、めでたく完了。
完成品はこんな感じ。http://web-hack.org/
我が家のiPod touch 2ndが鯖になって、動いてます。
文鎮と化したiPod touchを持ってる方、こんな活用方法いかがでしょう?
禿に騙されて林檎板3G版を買った人とか、ローカルでiSSH使っていつでもどこでもサーバーメンテもできて更に便利かと。