フリーランスなインフラエンジニアの日記

フリーランスで活動中のインフラエンジニア日々記録です

恐ろしく簡単になったVPN

以前ヤフオクで、MicroPC iBricks HTC-324IB を落札し、活用しようと思っていた。

一人暮らしをしていた頃は、HPのThinClient t5730とOpenVPNでリモートアクセスしていたのだが、さすがにストレージが厳しかった(1GB)ため、も少し容量のあるストレージが詰める機材を狙っていて、つい落札してしまった。こいつはこいつでCPUがPAEに非対応と凄くOSを選んだのだが、Debian 8.6なら動くことが解った。なお、以前のHP ThinClientはストレージの容量不足から、確かUbuntuのLTSを使っていた。本来RedHat系技術者的には少し流儀が違うので手間取ったが、結局のところDebian系OSを使うハメになった。

※……ストレージインターフェースは一緒なので、t5730を復活させてもいいんだけどねー

何がしたいのかというと

 VPNである。
HP ThinClientではOpenVPNとIP RouteでマルチホームなVPNを作成していた。MicroPC iBricks HTC-324IB に1GBメモリ、16GB SSD(双方共に余り物)を利用し、VPNサーバーを立てられたら良いなー程度のお話で、現状クラウドストレージとか凄く進んでいるので、ファイルのやりとりとかはあまり興味が無く、何がやりたいのかと言えば Splashtop2 によるリモートゲーム環境作成だったりするw

VPNというと

 割と面倒で、私らNE的にはドル箱な案件なのですが……
特にOpenVPNは証明書やらBridgeやらで結構大変。今回はSoftEtherを利用したが、万が一に備え、手順を記録しながら作業していたのですが。

  1. OSインストール
  2. 開発環境インストール
  3. ソースをサーバへアップロード
  4. コンパイル
  5. 起動設定
  6. Win環境からアクセス、設定

 アイエエエエエェ?なんか数分でセットアップ完了したのですが、ナンデ!?
1.は割愛 DebianのOSインストール事例なんて、どこにでも転がっていると思うので。以下VPN環境の作成について。こちらは汎用的なので、割と使いでがあるかと思う。

2./etc/apt/sources.list に以下追加

deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ jessie main contrib non-free

 OSアップグレード、開発環境追加

apt-get update
apt-get upgrade
apt-get install make gcc

 

3.Filezillaなり、WinSCPなりでプログラムソース転送

4.tarでパッケージ解凍ののち、ディレクトリに移動して、makeコマンドを実行

5./etc/rc.localに起動コマンド書き込んで

6.手持ちのWin機からリモートアクセスすれば終わり

 一応ルータにポートマッピング設定(500/UDP、4500/UDP)してやる必要がありますが、これは数分の作業でしょう。元々SoftEtherはお手軽かつセキュアに作成できるVPN環境だったと聞いていますが、これだけでL2TPSSL-VPNの双方が設定できるのが凄い。しかもSSL VPNOpenVPNとの互換性もある。
 さらにはDDNS環境までついてくるので、その辺の契約やらスクリプトの作成やらもすっ飛ばせる……これ、凄いのでは?

OS入れたら2分でVPN

 L2TPなので、Windowsはもとより、AndroidiOSも接続可能ですよ。
 実機は100MbpsまでのLANですが、WAN/VPN経由で100Mbps以上の速度が出るような個人環境は無いため、このままで充分な模様。

$ free -m
total used free shared buffers cached
Mem: 992 867 124 4 84 712
-/+ buffers/cache: 69 922
Swap: 1906 0 1906

 VPN Server動かした状態でのリソース状況、こりゃメモリ512MBのマシンでも充分に動くね。

$ df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
/dev/sda5 13G 1.3G 11G 10% /
udev 10M 0 10M 0% /dev
tmpfs 199M 4.4M 195M 3% /run
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 180M 31M 137M 19% /boot
/dev/sdb1 15G 38M 14G 1% /mnt/cf

 ディスク使用量も2GB以内。
 lm_sensorsとmunin入れて、リソースとか温度とか取得できるようにしたので、次は監視装置かな?トレンド考えるとzabbixなのかな? このあたりもapt-getだけでOK。細かな監視設定はエディタなりで設定する必要があるのですが、この辺は機種次第ということで割愛。

  一日つぶす覚悟で挑んだら、1時間もかからずに接続検証まで出来てしまった。
↓こんな感じでリソース取れます。

f:id:pmgogo:20170326181840j:plain