目次
- 目次
- はじめに
- VPNの接続方式
- SoftEtherサーバ(L2TP/IPSec) の立て方
- L2TP/IPSecのサーバに同じLANから複数台同時にVPNサーバに繋げない場合
- SoftEtherを使ってOpenVPNのサーバも同時に立てる
- MacからOpenVPNでVPNサーバに接続する
- iOSからOpenVPNでVPNサーバに接続する
- Interlink, さくらVPS上のSoftEther(L2TP/IPSec), さくらVPS上のSoftEther(OpenVPN)の速度比較
- MyEnigma Supporters
- 参考資料
- MyEnigma Supporters
はじめに
VPNが使用したくて、
インターリンクvpnという有名な
月額1000円のVPNサービスを利用していたのですが、
あまりにも通信のスループットが出ずに困っていました。
(300M超えの回線で、vpnを使うと平均5Mぐらい)
そこで、先日、Raspberry Piに
無料のVPNソフトを使って、
VPNサーバを立てる方法を説明しました。
今回は、
同じVPNソフトウェアSoftEtherを使って、
さくらVPSのサーバ上に
VPNサーバ(L2TP/IPSecとOpenVPNの二種類)を
立ててみたので、
その方法を説明したいと思います。
SoftEther VPN プロジェクト - SoftEther VPN プロジェクト
VPNの接続方式
VPNにはいくつか接続方式があります。
詳しくは下記を参照して下さい。
今回は、L2TPとOpenVPNに対応したVPNサーバを立てます。
SoftEtherサーバ(L2TP/IPSec) の立て方
1. さくらVPSの申し込みと設定
さくらVPSは、
SSD対応の仮想専用サーバーです。
上記のリンクから申し込みができます。
また、二週間の無料でお試しできます。
今回はお試しということで、
さくらvpsの一番安いプラン512Mの
月額685円のプランを使います。
ちなみに一つ注意点として、
さくらvpsは、二週間無料で
vpsを使うことができるというサービスをしていますが、
この無料期間中は通信の帯域を2Mまで抑えられてしまうため、
ちゃんとVPNを使う場合には、支払い登録をして、
通信制限を解除してもらう必要があります。
またVPSサービスはさくらVPS以外にも
下記のようなものがあるようです。
2. OS (ubuntu) の初期設定
下記の記事を元に、最低限のセキュリティ設定をしておきます。
SoftEther用のポート設定は、
後ほど実施します。
3. SoftEtherのインストールと起動設定
基本的には下記の記事の方法でOKです。
7.3 Linux へのインストールと初期設定 - SoftEther VPN プロジェクト
しかし、上記の記事ではVPNサーバのアカウント作成などは、
WindowsのGUIツールを使っているので、
途中まで参考にさせて頂きました。
下記はコマンドのメモです。
(sshでログインした後のコマンドです)
$ sudo apt-get update
$ sudo apt-get upgrade
下記のコマンドは、インストールするOSの応じて、
下記のリンクからソフトウェアのリンクを設定します。
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit-Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
$ tar zxvf softether-vpnserver-v4.14-9529-beta-2015.02.02-linux-arm_eabi-32bit.tar.gz
$ cd vpnserver
$ sudo make
$ cd ..
$ mv vpnserver /usr/local
$ cd /usr/local/vpnserver/
$ chmod 600 *
$ chmod 700 vpncmd
$ chmod 700 vpnserver
最後に/usr/local/vpncmdを起動して、
3番の選んで、checkコマンドを入力すると、
インストールしたシステムのテストをしてくれます。
すべての項目でエラーでないことを確認します。
4. vpnサーバの自動起動設定
まず初めに下記のファイルを作ります。
$ sudo vim /etc/init.d/vpnserver
#!/bin/sh # chkconfig: 2345 99 01 # description: SoftEther VPN Server DAEMON=/usr/local/vpnserver/vpnserver LOCK=/var/lock/subsys/vpnserver test -x $DAEMON || exit 0 case "$1" in start) $DAEMON start touch $LOCK ;; stop) $DAEMON stop rm $LOCK ;; restart) $DAEMON stop sleep 3 $DAEMON start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0
あとはubuntuのchkconfigである
sysv-rc-confを使って、先程のスクリプトを使って、
vpnserverを自動起動するようにします。
sysv-rc-confを起動して、
$ sudo sysv-rc-conf
下の方にある、
vpnserverの2,3,4,5の列でスペースキーを押下して[X]に変更します。
最後にqキーで終了すればOKです。
5. VPNサーバのアカウント作成
Windowsはサーバ管理用のGUIソフトがあるみたいですが、
Macには無いので、下記の記事の通り、
CUIでアカウントの設定をします。
上記のアカウント設定ができれば、
ローカルからのVPN接続は次のステップの方法で
できるはずです。
6. SoftEther用のポート設定
SoftEtherはIPSec/L2TPのVPN接続の場合、
500/udpと4500/udpのポートを使用するため、
サーバ側のポートを開ける必要があります。
さくらVPSでubuntuを標準インストールすると、
以下のディレクトリにあるiptableの設定がデフォルト有効になっています。
/etc/iptables/iptables.rules
この状態だとnfwで設定しても、
なぜか設定が反映されないため、
まずはじめに上記のファイルを削除します。
その後、下記のコマンドで設定すると、
500と4500のポートを開けることができます。
$ sudo ufw allow 500/tcp
$ sudo ufw allow 4500/tcp
あとはnmapなどを使って、
ポートスキャンしてfilteredになっていないことを確認しましょう。
sudo nmap -sU 1.1.1.1 -p U:500
7. Mac, iPhone等からVPNに接続する。
最後にMacやiPhoneなどから、
無事VPNに繋がることができればOKです。
Mac OS X からの接続方法 - SoftEther VPN プロジェクト
iPhone / iPod Touch / iPad からの接続方法 - SoftEther VPN プロジェクト
L2TP/IPSecのサーバに同じLANから複数台同時にVPNサーバに繋げない場合
下記のような状態になった場合、
network - SoftEtherのVPNサーバに同じLAN内の複数のクライアントから同時接続する方法 - スタック・オーバーフロー
原因はルータが
VPNパススルーに対応していないためである可能性があります。
SoftEtherを使ってOpenVPNのサーバも同時に立てる
はじめはL2TPがSoftEtherのデフォルトの接続方式であったことと、
iOSやMacでもデフォルトで対応していたため、
L2TPを使ってサーバを立てたのですが、
前述の理由で、ルータがVPNパススルーに対応していない場合、
同じLANから複数台同時接続出来なかったため、
追加でOpenVPNという通信方式のVPNサーバも試しました。
SoftEtherはデフォルトではL2TPに対応していますが、
OpenVPNのサーバも同時に立てることができます。
vmncmdのサーバのセットアップで、
OpenVpnEnable
とするとOpenVPNのサーバを立てることができます。
ポートの番号も指定できます。
(デフォルトはUDPの1194です)
その後、
クライアント設定用のファイルを作ります。
OpenVpnMakeConfig
でディレクトリを指定すると、
Zipファイルを作れるので、
そのファイルを解凍してメールなどで、
MacやiPhoneからアクセスできるようにしておきます。
MacからOpenVPNでVPNサーバに接続する
下記に書いてる方法でOKです。
Macはデフォルトで、OpenVPNに対応していないので、
追加でソフトのインストールが必要ですが、
一度設定してしまえば、安定して動きました。
iOSからOpenVPNでVPNサーバに接続する
下記に書いてる方法でOKです。
iPhoneやiPad (iOS) でOpenVPNを使ってみよう! | OpenVPN.JP
iOSはデフォルトで、OpenVPNに対応していないので、
追加でアプリのインストールが必要ですが、
一度設定してしまえば、安定して動きました。
Interlink, さくらVPS上のSoftEther(L2TP/IPSec), さくらVPS上のSoftEther(OpenVPN)の速度比較
上記の方法を使って、設定したVPNとInterlinkのVPN、
そしてVPN無しの通信速度を比較してみました。
最後に、
冒頭で説明したInterlink VPNと、
今回のさくらVPS上のVPNのスループットの比較をしてみました。
下記がその結果です。
通信方式 | ダウンロード | アップロード | PING |
---|---|---|---|
通常 | 371.41 | 294.04 | 3 |
interlink VPN | 5.91 | 6.83 | 273 |
さくらvps VPN(L2TP/IPSec) | 27.38 | 24.12 | 231 |
さくらvps VPN(OpenVPN) | 32.50 | 29.43 | 217 |
L2TP/IPSec, OpenVPNともに、
InterlinkのVPNと比べて、
ダウンロード, アップロード共に、4倍早くなりました(^^)
おそらくサーバを独り占めしていることと、
さくらvpsの通信インフラがしっかりしているためだと思います。
ネットの情報では、
OpenVPNは、L2TP/IPSecに比べて、
通信速度が遅いと言われていたのですが、
自分の環境ではほとんど変わらないため、
同じLANから複数台同時接続できるOpenVPNをメインにして使っています。
前述の通りさくらvpsの一番安いプラン512Mの
月額685円のVPSプランを使っているので、
interlink VPNが月額1000円であるあることを考えると、
値段も安くなり、通信も安定してかなり満足しています。
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。