1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SoftLayer上にL2TP/IPsecを用いたVPNを構築

Posted at

事前に用意するもの

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 簡易セットアップ]画面が表示されるので、画面を閉じる

softether_vpn_server_newconnet.png

L2TP/IPsec機能の有効化

1.IPsecの設定を行うか確認する画面が表示されますので、[はい]をクリック
2.[L2TPサーバー機能を有効にする(L2TP over IPsec)]にチェックを入れる
3.[IPsec事前共有鍵]として、9文字以内でシークレットキーを考え、入力

  • 10文字以上でも可能ですが、その場合はAndroidの一部のバージョンに影響ありという警告画面が表示されます。接続する端末に問題なければ10文字以上でも大丈夫です。

4.[OK]ボタンをクリック

softether_vpn_server_l2tp_settings_1.png

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サーバへの接続を確立できませんでした~」というエラーメッセージが表示されます。

softether_vpn_server_l2tp_settings_2.png

softether_vpn_server_user_settings_1.png

softether_vpn_server_l2tp_SecureNAT.png

iPadからVPNサーバーに接続

1.iPadの[設定]→[一般]→[VPN]→[VPN]→[VPN構成を追加]を選択します。
2.「L2TP」「PPTP」「IPSec」の中から、「L2TP」を選択します。
3.下記の各項目に値を入力し、保存します。

  • [説明]:わかりやすい名称などを入力
  • [サーバ]:構築したSoftEther VPN サーバーのホスト名を入力
  • [アカウント]:登録したVPN接続ユーザー@仮想HUB名(標準ではdefault) を入力
  • [パスワード]:登録したVPN接続ユーザーの個別のパスワードを入力
  • [シークレット]:構築したSoftEther VPN サーバーのIPsec事前共有鍵を入力
  • [すべての信号を送信]:オンにしておく

ipad_vpn_settings.png

4.iPadの[設定]→[一般]→[VPN]→[VPN]の画面で、VPN接続をオン
5.VPN接続が無事に完了すると下記のように表示されます。

ipad_vpn_status.png

他にもやってみると面白そうなこと

SoftEther VPN プロジェクトの公式のドキュメントを読んでいくと、チュートリアルに「クラウドにおけるVPN」という項目があります。
チュートリアルの「複数クラウド間のVPNブリッジ接続」や「クラウドVMを企業内LANに参加させる方法」といったものをSoftLayer上で実施すると面白そうです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?