【Raspberry Pi】「Ubuntu Server 22.04.1 LTS」で「SoftEther VPN Server」を構築してみた!

目次

構築環境

  • OS:「Ubuntu Server 22.04.1 LTS 32bit」
  • ハードウェア:「Raspberry Pi 2」

(後でPCを使って「VPN Server」の設定をかけるので、設定用のWindows端末が必要です。)

「Ubuntu Server」のインストール手順はこちらから。

また、IPは固定にしておくのをお勧めします。

「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

「vpnserver」のインストール

ダウンロードが完了したら、以下の流れで進みます。

# パッケージを展開
$ tar xvf softether-vpnserver*

# 「vpnserver」に移動
$ cd vpnserver

# 「make」コマンド実行(これによりビルドされます。)
$ sudo 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です。

ラズパイ側の基本設定は完了です。
次は、Windowsの端末から「SoftEther VPN Server」の設定情報を書き換えていきます。

「SoftEther VPN Server Manager for Windows」の設定

「SoftEther VPN Server Manager for Windows」のインストール

別でWindowsマシンを用意して、「SoftEther VPN サーバー管理マネージャ」をインストールします。
SoftEther ダウンロードセンター」からもダウンロード可能です。
今回は、以下のexeファイルを使用しました。URLをクリックするとダウンロードが開始します。

https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.39-9772-beta/softether-vpnserver_vpnbridge-v4.39-9772-beta-2022.04.26-windows-x86_x64-intel.exe

インストールも行っていきます。

「SoftEther VPN Server Manager for Windows」の初期セットアップ

インストールが完了したら「SoftEther VPN サーバー管理マネージャ」を用いて、ラズパイに立てたVPNサーバの設定を編集していきます。

事前に接続設定をします。「新しい接続設定」を開き、必要項目を入力します。

  • 接続設定名(任意)
  • ホスト名(IPアドレスかホスト名を入力します。)
  • 管理パスワード(空欄のまま)

作成したら、接続先に繋げます。
初回は管理者パスワードを設定する必要があるため、任意をパスワードを入力し、[OK]ボタンをクリックします。

SoftEther VPN Server をインストール後に設定を行っていないため、「セットアップウィザード」が表示されます。
「リモートアクセス VPN サーバー」にチェックを入れて、次へをクリックします。

仮想HUBの作成も自動で行われます。
仮想HUB名の指定を求められるので、任意の名前で指定します。

「ダイナミックDNS機能」

VPN接続するために必要な各種設定、まずは「ダイナミックDNS機能」を設定します。
「ダイナミック DNS ホスト名の変更」に任意のホスト名を入力し、「閉じる」をクリックします。

※「vpnXXXXXX.softether.net」はクライアントから接続する際に使用します。こちらは、任意のものに変更が可能です。

「IPsec / L2TP / EtherIP / L2TPv3 サーバー機能の設定」

次の画面では、「IPsec / L2TP / EtherIP / L2TPv3 サーバー機能の設定」を行います。

  • L2TPサーバー機能を有効にする(L2TP over IPsec)・・・「チェック」をつける。
  • 接続時のユーザー名で仮想HUBが〜仮想HUBの選択・・・先ほど作成した「仮想HUB」を選択。
  • IPsec事前共有鍵・・・「任意のパスワード」を設定。

「VPN Azureサービスの設定」

「VPN Azureを有効にする」にチェックをつけます。

「VPN接続」のユーザ作成

「VPN接続を受け入れるためのユーザー作成」を行っていきます。

  • ユーザ名・・・「任意のユーザ名」を設定
  • 認証方法・・・「パスワード認証」を選択。
  • パスワード・・・「任意のパスワード」を設定。

「ローカルブリッジ」の設定

「ローカルブリッジ」の設定をします。
「作成した仮想HUB」と、「VPNサーバの物理LANポート」を接続させるため、「3.ローカルブリッジの設定]で、使用するLANポート(ラズパイの「物理LAN」)を選択し、「閉じる」をクリックします。

「Secure NAT機能」の有効化(任意)

「VPN Server」を設置する環境にDHCPサーバがない場合には、「Secure NAT機能」を有効化させることで、「VPN Server」上に仮想のDHCPサーバを動作させることができます。

「仮想HUBの管理」から「仮想NATおよび仮想DHCPサーバ機能」をクリックします。
「Secure NAT機能の設定」を開き、必要に応じて編集します。(通常はそのままでも大丈夫です。)

設定が完了できれば、DHCPサーバを有効化します。
「Secure NAT機能を有効化する」をクリックし、本当に有効化しても良いか確認画面が出るので、「OK」を選択します。

以上で完了です。

RaspberryPiなどで構築する場合、「ローカルブリッジ」の設定をかけると「isc-dhcp-server」を稼働させてもクライアント側にDHCPリースが割り当てられない場合があるようです。
「SoftEther VPN」の環境でアクセスするクライアントPCに対しては「Secure NAT」のDHCPサーバを利用するのがよさそうです。

「SoftEther VPN Client」から接続

基本設定が完了したので、実際にVPNが繋がるかをテストします。
「SoftEther VPN Client」を使って接続もできますが、L2TPを有効化しているので、Windows標準のリモートアクセスなどでも可能です。
https://ja.softether.org/3-screens/2.vpnclient

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次