事前に用意するもの
SoftLayerアカウント → 未取得の場合は30日トライアルを利用
Windows 7搭載PC → SSH接続でSoftLayer上の仮想サーバーを操作 & VPNサーバー設定用
PuTTYごった煮版 → Windows PCからSSH接続に使用
参考資料①:ソフトレイヤー活用技術資料 コンフィグレーション・ガイド
参考資料②:ITpro Linuxコマンド集 【 vi 】テキスト・ファイルを編集する
参考資料③:SoftEther VPN プロジェクト
環境構築用のサーバーを用意
SoftLayerにて、下記の構成の仮想サーバーを用意します。
お手持ちのアカウントで、SoftLayer カスタマーポータルにログインし、下記の構成の仮想サーバーを1台用意します。仮想サーバーが利用可能なったら、PuTTyでSSHにて接続します。パフォーマンス最優先の場合はベアメタルなのですが、今回は手軽にやりたいので仮想サーバーでやります。
今回の構成:$0.06 / 時間
- CentOS 7.x minimal (64bit)
- メモリ 2GB
- CPU 1コア × 2.0GHz
- ストレージ 25GB(SAN)
- ネットワーク Public/Private 100Mbps
- Public IPアドレス ×1 / Private IPアドレス ×1
- データセンター:米国サンノゼ
- ファイアウォール:APFを追加
APF設定とタイムゾーン変更
APFは、SoftLayerでLinuxを使用するときにお馴染みのソフトウェア型ファイアウォールです。APFの役割については、ソフトレイヤー活用技術資料のセキュリティ対策編に記載されています。
# vi /etc/apf/conf.apf
iキーを押し、入力モードへ
IG_TCP_CPORTS= "22,443,992,1194,5555"
IG_UDP_CPORTS= "53,500,1701,4500"
Escキーを押し、コマンド(移動)モードへ
:(コロン)wqで保存
# /etc/init.d/apf start
でAPFを起動。APF再起動には、startをrestartに変更。
# chkconfig apf on
でサーバーのブート時にAPFを自動起動。
# timedatectl set-timezone Asia/Tokyo
でタイムゾーンを日本時間に合わせます。
SoftEther VPN サーバーのインストール
基本的には公式の「Linuxへのインストールと初期設定」ドキュメントに従って操作します。
SoftLayerで提供されているVPNとは別に独自にVPNサーバーを立てるため、SoftEther VPN サーバーを使用します。先ずは、SoftEther VPN サーバーのインストールに必要なツールをインストールします。
# yum install gcc
もし、tar と wget が入っていない場合は、yum install で追加します。
# yum install epel-release
# yum update
SoftEther VPN サーバーをインストールします。
# wget http://jp.softether-download.com/files/softether/v4.08-9449-rtm-2014.06.08-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v4.08-9449-rtm-2014.06.08-linux-x64-64bit.tar.gz
# tar zxvf softether-vpnserver-v4.08-9449-rtm-2014.06.08-linux-x64-64bit.tar.gz
# cd vpnserver
# make
makeを行うと使用許諾への同意が表示されますので、1 を入力します。
その後も繰り返し1を入力します。
vpnserver ディレクトリを、/usr/local下に移動します。
# cd ../
# mv vpnserver/ /usr/local
# cd /usr/local/vpnserver/
権限を変更し、「root」権限を持たないユーザーに変更されないように設定。
# chmod 600 *
# chmod 700 vpncmd
# chmod 700 vpnserver
# ./vpncmd
を実行します。実行すると無事にインストールできたか動作チェックを行うことができます。1~3の選択肢が表示されますので、「3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)」を選びます(3を入力)。
VPN Tools>
が表示されますから、check
と入力し、Enterキーを押します。
再度VPN Tools>
が表示されます。ここではexit
と入力し、Enterキーを押します。
スタートアップスクリプトの登録
デーモンとしてVPNサーバーをバックグラウンドで動かすためスクリプトを用意します。
# vi /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
# cat /etc/init.d/vpnserver
を実行し、スクリプトがきちんと入っているか確認します。
権限を変更し、「root」権限を持たないユーザーに変更されないように設定。
# chmod 755 /etc/init.d/vpnserver
サーバーのブート時にVPNサーバーが自動起動するように設定
# /sbin/chkconfig --add vpnserver
vpnserverを起動
# service vpnserver start
Windows PCからのVPNサーバー設定
SoftEther VPN プロジェクトのページからSoftEther VPN 管理マネージャー(SoftEther VPN Server Manager for Windows)をダウンロード、お手元のPCにインストールします。インストール後、起動しておきます。今回は、バージョン 4.08を使用しました。
新しい接続設定の作成と管理者パスワードの登録
1.SoftEther VPN サーバー 管理マネージャーの画面にて、[新しい接続設定]をクリック
2.新しい接続設定の画面が表示されるので、[接続設定名]を入力
3.[ホスト名]にSoftLayer上の仮想サーバーのPublic IPを入力し、[OK]ボタンをクリック
4.SoftEther VPN サーバー 管理マネージャーの画面に戻る
5.[接続]ボタンをクリック
6.画面指示に従い、管理者パスワードを登録
7.[SoftEther VPN Server / Bridge 簡易セットアップ]画面が表示されるので、画面を閉じる
L2TP/IPsec機能の有効化
1.IPsecの設定を行うか確認する画面が表示されますので、[はい]をクリック
2.[L2TPサーバー機能を有効にする(L2TP over IPsec)]にチェックを入れる
3.[IPsec事前共有鍵]として、9文字以内でシークレットキーを考え、入力
- 10文字以上でも可能ですが、その場合はAndroidの一部のバージョンに影響ありという警告画面が表示されます。接続する端末に問題なければ10文字以上でも大丈夫です。
4.[OK]ボタンをクリック
VPN Server "xxxx.xxxx.xxxx.xxxx"の管理
"xxxx.xxxx.xxxx.xxxx"には、先ほど[ホスト名]で入力したSoftLayer上で稼働中の仮想サーバーのPublic IPアドレスが入ります。
1.[VPN Server "xxxx.xxxx.xxxx.xxxx"の管理]画面が表示されます。
2.[仮想HUBの管理]ボタンをクリック
3.[仮想HUBの管理]画面が表示されますので、[ユーザーの管理]ボタンをクリック
4.VPNに接続するユーザーの新規作成を行います。
- ユーザー作成画面では、ユーザー名や本名などの入力を行い、認証方法には「パスワード認証」を選択します。勿論有効期限やセキュリティポリシー等も設定する画面があります。公式のマニュアルはこちらから。
5.[仮想HUBの管理]に戻り、[仮想NATおよび仮想DHCPサーバー機能]ボタンをクリック
6.[SecureNAT機能を有効にする]ボタンをクリック
- SecureNATを有効にしない状態で、iPadから構築したVPNサーバーに接続しようとしても、「PPPサーバへの接続を確立できませんでした~」というエラーメッセージが表示されます。
iPadからVPNサーバーに接続
1.iPadの[設定]→[一般]→[VPN]→[VPN]→[VPN構成を追加]を選択します。
2.「L2TP」「PPTP」「IPSec」の中から、「L2TP」を選択します。
3.下記の各項目に値を入力し、保存します。
- [説明]:わかりやすい名称などを入力
- [サーバ]:構築したSoftEther VPN サーバーのホスト名を入力
- [アカウント]:登録したVPN接続ユーザー@仮想HUB名(標準ではdefault) を入力
- [パスワード]:登録したVPN接続ユーザーの個別のパスワードを入力
- [シークレット]:構築したSoftEther VPN サーバーのIPsec事前共有鍵を入力
- [すべての信号を送信]:オンにしておく
4.iPadの[設定]→[一般]→[VPN]→[VPN]の画面で、VPN接続をオン
5.VPN接続が無事に完了すると下記のように表示されます。
他にもやってみると面白そうなこと
SoftEther VPN プロジェクトの公式のドキュメントを読んでいくと、チュートリアルに「クラウドにおけるVPN」という項目があります。
チュートリアルの「複数クラウド間のVPNブリッジ接続」や「クラウドVMを企業内LANに参加させる方法」といったものをSoftLayer上で実施すると面白そうです。