構築環境
- OS:「Ubuntu Server 22.04.1 LTS 32bit」
- ハードウェア:「Raspberry Pi 2」
(後でPCを使って「VPN Server」の設定をかけるので、設定用のWindows端末が必要です。)
「Ubuntu Server」のインストール手順はこちらから。
![](https://nllllll.com/wp-content/uploads/2022/08/raspberryset_01-300x199.png)
また、IPは固定にしておくのをお勧めします。
![](https://nllllll.com/wp-content/uploads/2022/08/ubuntu_image-300x212.png)
「SoftEther VPN Server」の構築
「Ubuntu Server」のインストールが終わったら、「SoftEther VPN Server」をインストールしていきます。
ライブラリのインストール
まずは、アップデートの上、ライブラリのインストールを実施します。
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt install -y build-essential libssl-dev g++ openssl libpthread-stubs0-dev dnsmasq dnsutils curl vim htop net-tools
「vpnserver」のダウンロード
パッケージをダウンロードします。
OSのbit数に応じて必要な方をダウンロードしてください。
# 64bit の場合
$ sudo wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.38-9760-rtm/softether-vpnserver-v4.38-9760-rtm-2021.08.17-linux-arm64-64bit.tar.gz
# 32bit の場合
$ sudo wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.38-9760-rtm/softether-vpnserver-v4.38-9760-rtm-2021.08.17-linux-arm_eabi-32bit.tar.gz
https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/tag/v4.38-9760-rtm
「vpnserver」のインストール
ダウンロードが完了したら、以下の流れで進みます。
# パッケージを展開
$ tar xvf softether-vpnserver*
# 「vpnserver」に移動
$ cd vpnserver
# 「make」コマンド実行(これによりビルドされます。)
$ sudo make
sudo apt-get install gcc make binutils chkconfig libc-dev zlib1g-dev openssl libreadline-dev libncurses-dev
「make」が完了したら以下のコマンドを実行します。
# 権限の変更
$ sudo chmod 600 *
$ sudo chmod 700 vpncmd
$ sudo chmod 700 vpnserver
# 移動
$ cd
# 「/usr/local」にコピー
$ sudo \cp -r -f ./vpnserver/ /usr/local/
# 最初に展開した「vpnserver」フォルダを削除
$ sudo \rm -rf ./vpnserver
# ちゃんとコピーされているか確認
$ sudo ls -lra /usr/local/vpnserver
# パッケージを削除
$ sudo rm -rf softether-vpnserver*
# 「vpnserver」の開始
$ sudo /usr/local/vpnserver/vpnserver start
以上で、「vpnserver」のインストールと起動が完了しました。
「vpnserver.service」の作成とサービス定義
サービスを作成していきます。
# 移動
$ cd /lib/systemd/system/
# サービス作成
$ sudo touch vpnserver.service
ファイルを編集。
sudo nano 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
Restart=always
[Install]
WantedBy=multi-user.target
まずは、サービスをスタート。
$ sudo systemctl start vpnserver.service
あとは自動起動されるように、サービスを登録しておきます。
$ sudo systemctl enable vpnserver.service
ちなみに、自動起動されているかの確認は、
「再起動後」に以下のコマンドを実行してチェックできます。
sudo systemctl status vpnserver.service
画像の通りにステータスが「active」になっていればOKです。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-19-12.55.01.png)
ラズパイ側の基本設定は完了です。
次は、Windowsの端末から「SoftEther VPN Server」の設定情報を書き換えていきます。
「SoftEther VPN Server Manager for Windows」の設定
「SoftEther VPN Server Manager for Windows」のインストール
別でWindowsマシンを用意して、「SoftEther VPN サーバー管理マネージャ」をインストールします。
「SoftEther ダウンロードセンター」からもダウンロード可能です。
今回は、以下のexeファイルを使用しました。URLをクリックするとダウンロードが開始します。
インストールも行っていきます。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.10.40.png)
「SoftEther VPN Server Manager for Windows」の初期セットアップ
インストールが完了したら「SoftEther VPN サーバー管理マネージャ」を用いて、ラズパイに立てたVPNサーバの設定を編集していきます。
事前に接続設定をします。「新しい接続設定」を開き、必要項目を入力します。
- 接続設定名(任意)
- ホスト名(IPアドレスかホスト名を入力します。)
- 管理パスワード(空欄のまま)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.12.05.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.18.17-1024x659.png)
作成したら、接続先に繋げます。
初回は管理者パスワードを設定する必要があるため、任意をパスワードを入力し、[OK]ボタンをクリックします。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.19.55.png)
SoftEther VPN Server をインストール後に設定を行っていないため、「セットアップウィザード」が表示されます。
「リモートアクセス VPN サーバー」にチェックを入れて、次へをクリックします。
仮想HUBの作成も自動で行われます。
仮想HUB名の指定を求められるので、任意の名前で指定します。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.22.41-1024x752.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.23.13.png)
「ダイナミックDNS機能」
VPN接続するために必要な各種設定、まずは「ダイナミックDNS機能」を設定します。
「ダイナミック DNS ホスト名の変更」に任意のホスト名を入力し、「閉じる」をクリックします。
※「vpnXXXXXX.softether.net」はクライアントから接続する際に使用します。こちらは、任意のものに変更が可能です。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.31.01.png)
「IPsec / L2TP / EtherIP / L2TPv3 サーバー機能の設定」
次の画面では、「IPsec / L2TP / EtherIP / L2TPv3 サーバー機能の設定」を行います。
- L2TPサーバー機能を有効にする(L2TP over IPsec)・・・「チェック」をつける。
- 接続時のユーザー名で仮想HUBが〜仮想HUBの選択・・・先ほど作成した「仮想HUB」を選択。
- IPsec事前共有鍵・・・「任意のパスワード」を設定。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.35.07-1024x784.png)
「VPN Azureサービスの設定」
「VPN Azureを有効にする」にチェックをつけます。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.44.45.png)
「VPN接続」のユーザ作成
「VPN接続を受け入れるためのユーザー作成」を行っていきます。
- ユーザ名・・・「任意のユーザ名」を設定
- 認証方法・・・「パスワード認証」を選択。
- パスワード・・・「任意のパスワード」を設定。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.46.32.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.48.24-1024x715.png)
「ローカルブリッジ」の設定
「ローカルブリッジ」の設定をします。
「作成した仮想HUB」と、「VPNサーバの物理LANポート」を接続させるため、「3.ローカルブリッジの設定]で、使用するLANポート(ラズパイの「物理LAN」)を選択し、「閉じる」をクリックします。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-15.46.32.png)
![](https://nllllll.com/wp-content/uploads/2022/08/local_bridge_00.png)
「Secure NAT機能」の有効化(任意)
「VPN Server」を設置する環境にDHCPサーバがない場合には、「Secure NAT機能」を有効化させることで、「VPN Server」上に仮想のDHCPサーバを動作させることができます。
「仮想HUBの管理」から「仮想NATおよび仮想DHCPサーバ機能」をクリックします。
「Secure NAT機能の設定」を開き、必要に応じて編集します。(通常はそのままでも大丈夫です。)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-16.13.05.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-16.16.27.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-16.14.03-1024x729.png)
設定が完了できれば、DHCPサーバを有効化します。
「Secure NAT機能を有効化する」をクリックし、本当に有効化しても良いか確認画面が出るので、「OK」を選択します。
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-16.16.27.png)
![](https://nllllll.com/wp-content/uploads/2022/08/スクリーンショット-2022-08-20-16.14.20.png)
以上で完了です。
「SoftEther VPN Client」から接続
基本設定が完了したので、実際にVPNが繋がるかをテストします。
「SoftEther VPN Client」を使って接続もできますが、L2TPを有効化しているので、Windows標準のリモートアクセスなどでも可能です。
「SoftEther VPN Client」を使う場合
Windowsに限りですが、「SoftEther VPN Client」という専用アプリケーションをインストールすることで簡単に接続が可能です。接続の手順を以下の投稿にまとめてみました。
![](https://nllllll.com/wp-content/uploads/2022/09/スクリーンショット-2022-09-26-9.09.05-300x226.png)
「L2TP/IPsec」を使う場合
こちらはMacとWindowsどちらでも利用が可能な方式です。
今回はMac OSでの接続手順を以下の投稿にまとめてみました。
![](https://nllllll.com/wp-content/uploads/2022/06/スクリーンショット-2022-06-14-10.33.37-300x286.png)