SoftEther VPNサーバ on Raspberry Pi 4

この記事からしばらく経ったので、Softether VPNサーバの環境を更新しました。

前提条件

今回はこんな環境にしました。

マシンRaspberry Pi 4 Model B 4GB
ストレージSSD: WESTERN DIGITAL BLUE M.2 (SATA) 500GB (WDS500G2B0B)
ケース: UGREEN M.2 SSD 外付けケース
OSRaspberry Pi OS (64-bit) Lite
VPNサーバSoftEther VPN (softether-vpnserver 5.01.9674+git20200806+8181039+dfsg2-2)

USBストレージからブートするようにしているので、SDカードはナシです。
Raspberry Pi OS Liteを使うと、初期ユーザが登録されていないのでディスプレイとキーボードをつないでユーザを登録する必要があります。初回起動時にユーザ登録ダイアログが表示されるので画面の指示に従うだけでした。
本当はSSHでセットアップしたかったんだけど、ちょっと面倒な仕様ですね。

Debian12からSoftEther VPNがAPTパッケージに含まれるようになったようなので、aptコマンドで導入可能です。
SoftEtherもDebianもリリースサイクルは長めなので、タイミングによってはだいぶ古いSoftEtherを使う事になりますが、aptでアップデート可能なのはだいぶ楽ですね。

この記事はラズパイにユーザを登録したところから紹介します。
また、過去記事から設定を引き継ぐので初期設定やルーターの設定はこの記事をご参照ください。

必要パッケージのインストール

ブリッジをnetplanで設定するので、aptコマンドで関連パッケージを導入します。

$ sudo apt update
$ sudo apt install softether-server netplan.io openvswitch-switch

ネットワークブリッジの設定

netplanで設定します。

$ sudo vi /etc/netplan/01-br.yaml

01-br.yaml ファイルに下記を入力します。

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      optional: true
  bridges:
    br0:
      addresses: [192.168.1.2/20]
      routes:
       - to: default
         via: 192.168.0.1
      nameservers:
        addresses: [192.168.0.1,8.8.8.8,8.8.4.4]
      interfaces: [eth0]
      dhcp4: false
      dhcp6: false
      link-local: [ipv4]

ラズパイ自身のIPアドレスは 192.168.1.2 にしています。
IPアドレスの構成は適宜変更してください。

次に、下記のコマンドでnetplanの設定を反映します。

$ sudo chmod 600 /etc/netplan/01-br.yaml
$ sudo netplan apply

netplan apply コマンドを実行するとIPアドレスが反映されます。今接続しているIPアドレスから変更になる場合、このタイミングで一旦切断されるので、新しいIPアドレスで接続し直してください。

SoftEther VPN 設定復元

SoftEther VPNの vpn_server.config ファイルは下記コマンドでコピーして、デーモンを再起動します。
このファイルはRaspberry Pi 3Bで使っていたものをコピーします。

$ sudo cp vpn_server.config /var/lib/softether/
$ sudo systemctl restart softether-vpnserver.service

これで設定が復元されたはずです。
クライアントから接続確認して問題なければOKです。