Raspberry PiとSoftEtherで、Layer2 VPNツールを制作した
Page content
これは何をするものか
- 自宅外に設置し、接続されたデバイス全てが、論理的に自宅のネットワークに、Layer2で接続されているように見せかけるデバイス
- →自宅のHUBに接続したように見せかけるツール
どういった要求に答えられるか
- VPNのつなぎ忘れ回避
- 繋いだ瞬間からVPN接続されているため、回線提供側の事情を把握する必要なし。
- 無線APも使える。もちろん自宅に(ry
- 監視されたネットワークでも自由に使える(学内FW回避)
- 仮想L2接続なので、論理的には自宅にいるのと全く同じ。
- 従って、iTunes ホームシェアリング・DLNA・Magic Packet等、通信プロトコルに制限が無い
- 多分中国行った時相当便利
- TF時のネットワーク拠点などにも使える(上流にWiMaxを使う)
なぜ作ったか
- 鳥人間時代のTFで不便だったから(ファイルのコピー忘れ、普段と違うネットワーク、DropBoxの容量不足…おちおち帰省も出来ない)
- 学内ネットワークに晒すと自機が他人に丸見え
- 大学のセキュリティ意識が低すぎてウイルス蔓延
- VPNをセットアップできない端末への対応(Androidなど、切れると再接続しない機器に、どう対処するか?)
- 実家に送りつけて一発で下宿へ繋がるデバイスが欲しい
- VPN接続忘れが多発
- 大学はグローバルIP付与のため速攻で個人が特定可能。やましいことはしていないが…極稀にFWにかかることがある。気まずい
- 大学にマシンを置いて自宅で使いたい
- 電気代節約,L2TP接続ではiTunesやDLNAのパケットが通らない
- このデバイスを使えば理論上大学にサーバーが置ける(スループットは無視)
素材
- GS908GT…アライドテレシスのGBE-HUB。内部的にはギガビットで通信できる仕様にしたかった。コレは、旅先で複数台のマシンを使うことが想定されている。ハードオフで500円。中身スカスカで使いやすい
- Raspberry Pi 2…SoftEtherのスループット重視で選び、2世代目をチョイス
- LAN-TXU2C(有線側)…USB2.0-100baseアダプタ。ラズパイのスペック的に100Mbpsは出ないのでコレで十分。その辺にあった
- GW-USMicroN(無線側)…6年くらい前からアキバで大量放出されいる。未だに売れ残っているショップが有る。机の中から発掘
- シリアルコンソール:秋月電子 TTL-RS232-3V3
- その他…LANケーブル延長コネクタ(100均),スマートフォン充電アダプタ(100均),LANケーブル(きしめんタイプ)
機材構成
ソフト環境
- OS:Debian-Weezy
- VPNソリューション:SoftEther(フリー版)、自宅へ接続し、仮想VPN HUBへカスケード
- 無線LANアクセスポイント:hostapd
- ファイアウォール:ufw
今後の改良点
- コンソールを有機EL-LCDに表示したい
- 電源ブチギリ対応化(Read-onlyマウント)
- DC電源対応
- 5V電源をCOSELのレギュレータ(5V2.4A)へ変更
- まともなヒートシンクの制作&オーバークロック
- マウントしたUSBディスクを一括で指定場所にコピーする機能の実装
- USB充電端子の装備(USBレセプタクル…既成品などを使う)
- まともなフロントパネルの制作
- WAN側回線にAndroidを使用可能にする
- Raspberry Pi Zeroを用いて、LTE回線専用モデルの試作
- シリアルコンソールにまともなコネクタを装着(3.5ステレオミニジャック予定)