『PPTP でお手軽に VPN (クライアント編)』 で試したように、PPTP はお手軽で家庭用ルータにも接続できて便利なのですが、
下記のような問題点があります。
参考
問題点
よりセキュアに、なおかつ、IPsec よりお手軽に VPN を、という場合、OpenVPN という選択肢が考えられると思います。
比較表を作っているサイトもありました。
PPTP VS L2TP/IPSEC VS OPENVPN - IVPN より
Conclusion OpenVPN is the best choice for all platforms. It is extremely fast, secure and reliable. Additionally, the IVPN multihop network is only available when connecting via OpenVPN. The only minor downside is the requirement to install the software client but on most platforms this only takes a few minutes.
ここでは、VPS に MA-E3xx から OpenVPN で接続して、センサーデータをセキュアな経路で送信するというケースを想定し、セットアップを行ってみます。
サーバは、さくらの VPS の メモリ2GiB, HDD 200GB, CPU 3core プラン(1522円/月, 月払い) を使用します。
Flet's など PPP 経由では MTU が小さくなるため、OpenVPN デフォルトの MTU 1500bytes のままですと、不安定、もしくは接続されているのにパケットが通らないという結果になります。
その場合、サーバ・クライアント双方の設定ファイルに、下記を追加することで解消されるケースがほとんどです。
fragment 1426 mssfix
※ 1426 の数値は、環境により調整が必要な場合があります。[さくらの VPS] ↔ [FOMA 回線 (DTI)] でパケットが通る (SSH 接続が可能) ことを確認しています。
参考:
弊社回線から、さくらの VPS (石狩リージョン) へ iperf で測定してみた結果です。
あくまでも 目安 です。
$ iperf -c 133.242.xxx.xxx ------------------------------------------------------------ Client connecting to 133.242.xxx.xxx, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.253.49 port 40814 connected with 133.242.xxx.xxx port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 102 MBytes 85.1 Mbits/sec
$ iperf -c 10.8.0.1 ------------------------------------------------------------ Client connecting to 10.8.0.1, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 10.8.0.30 port 50418 connected with 10.8.0.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 49.9 MBytes 41.7 Mbits/sec
% iperf -c 10.100.0.1 ------------------------------------------------------------ Client connecting to 10.100.0.1, TCP port 5001 TCP window size: 45.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.100.0.6 port 37776 connected with 10.100.0.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 47.6 MBytes 39.8 Mbits/sec
$ iperf -c 10.100.0.1 ------------------------------------------------------------ Client connecting to 10.100.0.1, TCP port 5001 TCP window size: 45.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.100.0.14 port 53649 connected with 10.100.0.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 143 MBytes 120 Mbits/sec
MA-E350/N (u-blox LISA-U200) でスループットを測定した結果です。
root@plum:~# iperf -c 10.8.0.1 ------------------------------------------------------------ Client connecting to 10.8.0.1, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 10.8.0.30 port 49969 connected with 10.8.0.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.2 sec 3.00 MBytes 2.47 Mbits/sec
root@plum:~# iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ [ 4] local 10.8.0.30 port 5001 connected with 10.8.0.1 port 53647 [ ID] Interval Transfer Bandwidth [ 4] 0.0-12.2 sec 1.12 MBytes 776 Kbits/sec