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ステレオミニジャック予定)