▼ 2012/06/09(土) twitterのアカウントでvpnを張れるサーバーを作ってみた
■ twitterのアカウントでvpnを張れるサーバーを作ってみた
twitterの仲間どうしてVPNを張ってお互い直接通信すれば、他の人には知られたくない情報も問題なくやり取りできるはず
いや、まぁ、VPNでないといけない理由はないけど
グループでなんかしようとか思ったときとか便利かもしれない
そうじゃないかもしれない
要するに、趣味ということですね
今回は、さくらのVPSにOPENBSDを入れて使っています
なぜOPENBSDなのかというと、
はじめはSEIL/X86入れようとしたけど入れられないし(誰か入れ方教えてまとめて)
よくよく考えるとwebdavとかwebサーバーとかも建てたいかな的なことになり、
あー、ならOPENBSDが一番お手軽なんじゃねってなったから
というわけで、中身はこんな感じです

ポイント:
- ユーザーの管理はtwitterのリストの操作で完結
- 1ヶ月に1回パスワードが自動更新される
- パスワード等の通知はdirect messageで自動的に行われる
- l2tpもpptpも利用可能
- [twitterのユーザー名].[vpnドメイン]で任意のユーザーのアドレスを特定できる
- トラフィック全通しでもnatしてインターネットできる
- webdav等のwebサーバーもたてられる
あとは、vpnサーバーに何かしらグループウェア的なものをインストールしたら
有意義に使えそうなそうでもないような
■ やってみたい?
やってみたい奇特な人はいないと思うけど、ざっくりインストールの流れは以下
- twitterでリストを作成
- twitterにアプリ登録
- twitterにdirect message送信可能なaccess_tokenを生成
- さくらの vps 980円を契約 (試用期間はクレジットカード必要)
- さくらの vps に openbsdのインストール (バージョンは 5.1)
- rubyインストール
- pythonインストール
- pythonライブラリインストール
- primdインストール
- npppdとnpppctlインストール
- twitter2usercvs.py, npppctl2zone.sh インストール (自作です)
- primdns設定
- npppd設定
- ipsec設定
- nat設定
インストーラーっぽいものを用意しました。
クリーンなところからテストしてないけど、多分動く?
(あとでちゃんと試す)
インストーラーを使うと以下な感じ
- twitterでリストを作成
- twitterにアプリ登録
- twitterにdirect message送信可能なaccess_tokenを生成
- さくらの vps 980円を契約 (試用期間はクレジットカード必要)
- さくらの vps に openbsdのインストール (バージョンは 5.1)
- インストーラーのダウンロードとユーザー設定
- インストール
払い出す事を想定していますので被る人はそのままでは使えないと思います
そして、いろいろ責任は持ちません
■ twitterでリストを作成
- vpn仲間用のリストを作成してください
- direct messageを送信可能な相手でなければ行けません(お互いフォローしている)
- 非公開でも構いません
- 困ったらぐぐってください
■ twitterにアプリ登録
- https://dev.twitter.com/ からどうぞ
- 困ったらぐぐってください
■ twitterにdirect message送信可能なaccess_tokenを生成
- 下の方にアクセストークンを生成できるボタンがあるはず
- ボタンを押す前にレベルをdirect message送信可能なものにする事をお忘れなく
- 困ったらぐぐってください
■ さくらの vps 980円を契約
- 契約してください
- 困ったらぐぐってください
- 別に自前のPCでも構いません(固定なグローバルIPが必要だったりと別の部分で面倒かもしれません)
■ さくらの vps に openbsdのインストール (バージョンは 5.1)
- OPENBSDのインストールまでここ http://yanmoo.blogspot.jp/2012/04/vpsopenbsd.html
- OPENBSDのインストールからはここhttp://d.hatena.ne.jp/syuu1228/20101221/1292952842
- openbsdのバージョンは5.1にしてください (他では動作確認してません)
sudo wget ftp://ftp.jaist.ac.jp/pub/OpenBSD/5.1/amd64/bsd.rd
■ インストーラーのダウンロードとユーザー設定
- インストーラーをとってきます
tar -zxvf vpn_setup_0.2.tar.gz cd vpn_setup_0.2
- 設定編集
vi setting
#@_domain_suffix@# myvpnvpnつないだユーザーに割り当てられるものです
ドメインをもっていればそこから、サブドメインを割り当てる
もしくは、この世に存在し得ない(あり得ないトップレベルとか)のものを使うのが無難
あまり長いとdirect messageの140文字に影響する
#@_ipsec_psk@# hogeipsecのpreshared-key
あまり長いとdirect messageの140文字に影響する
#@_server_addr@# 1.1.1.1vpnを受けるサーバーのアドレス
さくらvpsだとem0についている奴
#@_dns_server1@# 2.2.2.1 #@_dns_server2@# 2.2.2.2さくらvpsが指定しているdnsサーバのアドレス
primary と secondary
#@_consumer_key@# ekewgio3ghweiw #@_consumer_secret@# fekfwjgfijtio3398402d23ftwitterでアプリ登録した際にもらったconsumer_keyとconsumer_secret
#@_twitter_user@# xpotixvpn用のlistのオーナーになるユーザー
#@_twitter_list@# @xpotix/vpnlistvpn用のlistの正確な名前
#@_access_token@# 343432-fj3wjIJFE5ijfeijgewhwei4hgw4ijew #@_access_token_secret@# fpewkogewgewUHEiufh生成したaccess_tokenとaccess_token_secret
■ インストール
- make installしてください
make install再起動までいったら多分完了しています
後は、Macやwindowsからつながるはず
Macの場合 /etc/resolver/myvpn (domain_suffixに指定したもの) に
nameserver 10.0.0.1
を書いてあげるといいです
後は好きにしてください