【未経験向け】CCNA(200-301)とは? NW未経験が1ヶ月で合格した際に使用した魔法の学習教材、サイトを紹介!!!

【SoftEther】EC2上にSoftEther VPN Serverを構築し、自宅からAWS VPCへのVPN接続を確立する

SoftEther

リモートワーク等で企業のインターネット環境に自宅から接続する際、安全な通信を確立する為、インターネット上に仮想の専用線を設定し、プライベートな通信を確立します。
そのような専用線通信のことを「VPN通信」と呼びます。

個人でVPN通信を使用するとなると、有料ツールを購入し、専門的な設定を行う必要がありますが、「SoftEther」というオープンソースソフトウエアを使用すると、誰でも無償で簡単にVPN設定を行うことが可能です。

今回は、Amazon EC2にSoftEther環境を構築し、自宅PCとVPN接続を行うまでの方法をご紹介致します。

スポンサーリンク

概要

本記事の概要を以下に記載します。

● 概要
AWSとローカルPC間のVPN接続をSoftEther製品を使用して確立する。
※本記事ではAWS環境とのVPN接続を行いますが、他のクラウド環境や友人宅のRaspberryPi等でも同様の手順でVPN接続を行うことが可能です

● 動作環境
・Amazon Linux2 (SoftEther VPN Server)
・Windows10 (SoftEther VPN Client / Manager)

● 構成図
本記事で確立するネットワークの構成図を以下のとおりとします。

SoftEther(VPN Server)のインストール & 起動

まずは、Amazon Linux2にSoftEther VPN Serverをインストールします。
その後、ビルドしサービスの起動までを行います。

本手順はSoftEtherの以下公式ドキュメントを参照しています。
何か不明点等あればそちらをまずはご確認してみてください。
リンク Linux へのインストールと初期設定

事前準備

SoftEtherのビルドに必要なパッケージをインストールします。

$ yum -y install gcc

SoftEtherパッケージのダウンロード

パッケージはCLI上でwgetでダウンロードすることも可能ですが、ここでは公式のダウンロードセンターからダウンロードする手順をご紹介致します。

まずは、以下ダウンロードセンターにアクセスします。
リンク SoftEther ダウンロード センター

アクセス後、各項目に従い、以下パラメータを設定します。

=================================================
ダウンロードするソフトウェアを選択:SoftEther VPN (Freeware)
コンポーネントを選択: SoftEther VPN Server
プラットフォームを選択:Linux
CPU を選択:Intel x64 / AMD 64 (64bit)
=================================================

対象となるパッケージが複数マッチしますので、任意のパッケージを選択します。
本手順では、v4.20のパッケージをダウンロードします。
※ 注意事項として、パッケージ一覧にはbata版のパッケージも表示されます

パッケージのダウンロード後、任意のやり方(WinSCP等..)でAmazon Linux 2までパッケージを移動させます。

SoftEtherパッケージのインストール

Amazon Linux 2にて、先程ダウンロードしたパッケージのインストール & セッティングを行います。

パッケージを適当なディレクトリに移動してから、パッケージの展開を行います。

# tar -zxvf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz
vpnserver/
vpnserver/Makefile
vpnserver/.install.sh
vpnserver/ReadMeFirst_License.txt
vpnserver/Authors.txt
vpnserver/ReadMeFirst_Important_Notices_ja.txt
vpnserver/ReadMeFirst_Important_Notices_en.txt
vpnserver/ReadMeFirst_Important_Notices_cn.txt
vpnserver/code/
vpnserver/code/vpnserver.a
vpnserver/code/vpncmd.a
vpnserver/lib/
vpnserver/lib/libcharset.a
vpnserver/lib/libcrypto.a
vpnserver/lib/libedit.a
vpnserver/lib/libiconv.a
vpnserver/lib/libintelaes.a
vpnserver/lib/libncurses.a
vpnserver/lib/libssl.a
vpnserver/lib/libz.a
vpnserver/lib/License.txt
vpnserver/hamcore.se2

展開後、パッケージをコンパイルします。
makeコマンド実行後、使用許諾について対話的に問われますので、全て「1」と答えます。

$ cd vpnserver
$ make
--------------------------------------------------------------------

SoftEther VPN Server (Ver 4.20, Build 9608, Intel x64 / AMD64) for Linux Install Utility
Copyright (c) SoftEther Project at University of Tsukuba, Japan. All Rights Reserved.

--------------------------------------------------------------------

Do you want to read the License Agreement for this software ?

 1. Yes
 2. No

Please choose one of above number:
1

~~省略~~

Did you read and understand the License Agreement ?
(If you couldn't read above text, Please read 'ReadMeFirst_License.txt'
 file with any text editor.)

 1. Yes
 2. No

Please choose one of above number:
1

Did you agree the License Agreement ?

1. Agree
2. Do Not Agree

Please choose one of above number:
1

~~省略~~

---------------------------------------------------
SoftEther VPN Operation Environment Check Tool

Copyright (c) SoftEther VPN Project.
All Rights Reserved.

If this operation environment check tool is run on a system and that system passes, it is most likely that SoftEther VPN software can operate on that system. This check may take a while. Please wait...

Checking 'Kernel System'...
              Pass
Checking 'Memory Operation System'...
              Pass
Checking 'ANSI / Unicode string processing system'...
              Pass
Checking 'File system'...
              Pass
Checking 'Thread processing system'...
              Pass
Checking 'Network system'...
              Pass

All checks passed. It is most likely that SoftEther VPN Server / Bridge can operate normally on this system.

The command completed successfully.


--------------------------------------------------------------------
The preparation of SoftEther VPN Server is completed !


*** How to switch the display language of the SoftEther VPN Server Service ***
SoftEther VPN Server supports the following languages:
  - Japanese
  - English
  - Simplified Chinese

You can choose your prefered language of SoftEther VPN Server at any time.
To switch the current language, open and edit the 'lang.config' file.


*** How to start the SoftEther VPN Server Service ***

Please execute './vpnserver start' to run the SoftEther VPN Server Background Service.
And please execute './vpncmd' to run the SoftEther VPN Command-Line Utility to configure SoftEther VPN Server.
Of course, you can use the VPN Server Manager GUI Application for Windows on the other Windows PC in order to configure the SoftEther VPN Server remotely.
--------------------------------------------------------------------

make[1]: Leaving directory `/home/ec2-user/vpnserver'


コンパイルが完了したら、ディレクトリの移動と実行権限の付与を行います。

$ cd ..
$ mv vpnserver /usr/local
$ cd /usr/local/vpnserver/
$ chmod 600 *
$ chmod 700 vpncmd
$ chmod 700 vpnserver

SoftEther Serverの起動

インストールが完了したので、続いてSoftEther Serverサービスを起動します。

サービス起動の為、systemd用の起動スクリプトを作成します。

$ cd /etc/systemd/system
$ vim vpnserver.service
$ cat vpnserver.service
[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy = multi-user.target

softetherがSystemdに認識されているか確認します。

$ systemctl list-unit-files --type=service | grep vpn
vpnserver.service                           disenabled

確認後、サービスを起動します。

$ systemctl enable vpnserver
$ systemctl start vpnserver

パケット転送の有効化

環境によって異なりますが、基本LinuxOSではカーネルでパケット転送を拒否しています。
VPN接続を行う為には、パケット転送を有効化させる必要があります。

$ echo 1 >/proc/sys/net/ipv4/ip_forward
$ cd /etc/
$ vim sysctl.conf
$ cat sysctl.conf
net.ipv4.ip_forward = 1

以上で、SoftEther VPN Serverのインストール & 起動が完了になります。
続いてSoftEther ServerのVPN設定を行いますが、それは後述でインストールするSoftEther VPN ManagerからGUIで設定を行います。

※ ファイアウォールの設定について
VPN接続を行う際、接続元のポートを開けておく必要があります。
本手順では443(HTTPS)ポートを使用しますので、ご自身の環境に合わせファイアウォールの設定を変更してください。

SoftEther VPN Managerのインストール

SoftEther VPN Serverの設定を行う管理マネージャをインストールします。
本手順ではWindows10に管理マネージャをインストールします。

本手順はSoftEtherの以下公式ドキュメントを参照しています。
何か不明点等あればそちらをまずはご確認してみてください。
リンク Windows へのインストールと初期設定

SoftEther VPN Managerのダウンロード

Server同様、SoftEther ダウンロードセンターより、管理マネージャをダウンロードします。
ダウンロードセンタにて、各項目に従い以下パラメータを設定します。

=================================================
ダウンロードするソフトウェアを選択:SoftEther VPN (Freeware)
コンポーネントを選択: SoftEther VPN Server manager for Windows
プラットフォームを選択:Windows
CPU を選択:Intel x64 / AMD 64 (64bit)
=================================================

パッケージのバージョンはSoftEther VPN Serverと同じものを選ぶのをオススメします。

SoftEther VPN Managerのインストール & 起動

ダウンロードしたexeファイルを実行し、ウィザード画面よりインストールを開始します。

デスクトップにSoftEther管理マネージャのアイコンができていることを確認します。
以上で、管理マネージャのインストール & 起動が完了しました。
次項にて、VPNの設定を管理マネージャより行っていきます。

SoftEther VPN設定

必要パッケージのインストール & 起動は全て完了しましたので、管理マネージャよりVPNの設定を行います。

本手順はSoftEtherの以下公式ドキュメントを参照しています。
何か不明点等あればそちらをまずはご確認してみてください。
リンク PC 間接続 VPN

管理マネージャからSoftEther VPN Serverへ接続

Windows10へインストールしたSoftEther管理マネージャを起動します。
以下画面が表示されますので、[新しい接続設定(N)]をクリックします。

[新しい接続設定の作成]画面にて、以下パラメータを設定します。
また、他の項目についてはデフォルトで問題ありません。

=================================================
接続設定名:<任意の名前を指定してください>
ホスト名:<SoftEther VPN ServerのパブリックIPアドレスを指定してください >
=================================================

新規接続が作成されましたら、[接続]をクリックし、SoftEther Serverへ接続します。

新規接続時は、パスワードの入力が求められますので、新規パスワードを設定してください。

簡易セットアップ画面が表示されますが、本手順では利用しませんので、「閉じる」をクリックしてください。

仮想HUBの作成

ではSoftEther VPN ServerのVPN設定を行っていきます。
Amazon Linux 2上にVPN接続用の仮想HUBを作成します。

管理画面にて、[仮想HUBの作成]をクリックします。

仮想HUBの作成画面にて、「仮想HUBの名前」を設定します。
名前は任意の名前で大丈夫ですが、簡易な名前にすることをオススメします。
それ以外のパラメータはデフォルトのままにしておきます。
設定できたら「OK」をクリックします。

管理画面にて、仮想HUBが作成されたことを確認します。

IPsec / L2TP設定

SoftEtherの設定画面から[IPsec/L2TP設定]をクリックします。

以下パラメータを設定し、画面右下「OK」をクリックします。

=================================================
L2TPサーバを有効にする(L2TP Over IPsec):チェックを付ける
IPsec 事前共有鍵:<任意のパスワードを設定してください>
=================================================

接続ユーザの作成

VPN接続用のユーザを作成します。
ユーザは各仮想HUB毎に作成する必要があります。

管理画面にて、先程作成した仮想HUBを選択した状態で、[仮想HUBの管理]をクリックします。

画面遷移後、画面左上、[ユーザの管理] –> [新規作成]をクリックします。

各項目に従い以下パラメータを設定し、画面右下「OK」をクリックします。
その他のパラメータに関してはデフォルトのままにしておきます。

=================================================
ユーザ名:<任意の名前を指定してください>
パスワード: <任意のパスワードを指定してください>
パスワードの確認入力: <任意のパスワードを指定してください>
=================================================

ユーザ管理画面より、ユーザが作成されたことを確認します。

SecureNATの設定

最後に仮想HUBにNAT機能の設定を行います。
NATを設定することで仮想HUBがAWS <—-> ローカルでのIPアドレスの変換を行ってくれます。

しかし、単純なVPN接続を実現するだけであれば、NAT機能の設定としてはデフォルトのままで問題ありません。
仮想HUBを複数作成したりする場合は、DHCPのIPレンジ等を改めて設定する必要があります。

仮想HUBの管理画面より、[仮想NATおよび仮想DHCPサーバ機能(V)] –> [SecureNATを有効にする(E)]をクリックします。

以上で管理マネージャによるVPN設定は完了です。
既にVPN接続環境は整っているはずなので、次項で動作確認としてVPN接続を行います。

まとめ

以上でVPN環境の構築手順になります。
「SoftEther」を利用すれば、専門的な知識がなくても誰でも簡易にVPN接続を利用できるようになるため非常に便利なソフトウエアと言えます。

しかし、簡易な設定というのはその反面セキュリティ上の脆弱性にもなりえますので、利用にあたり設定して終わりではなく、日々、セキュリティの向上に務める必要があります。

コメント

タイトルとURLをコピーしました