外出先から自宅のネットワークへ接続したい!なんて要件を簡単に実現してくれるのがVPN(Virtual Private Network)の仕組みであり、VPNを使えば外出先からいつでも自宅のNASへアクセスできたり赤ちゃんやペットの見守りカメラへアクセスできたりします。
この環境を簡単に構築できるのがオープンソースのSoftEther VPNです。
我が家ではWindows版のSoftEther VPNサーバーを利用してVPN環境を構築していますが、この度無料OSのDebian(trixie)でサーバー環境を再構築してみました。
本記事はDebian(trixie)へSoftEther VPNサーバーをインストールする手順、およびその環境設定の自分用メモとなります。
Debian環境を構築
SoftEther VPNサーバーをDebian(trixie)へインストール
SoftEther VPNサーバーのWindows版ならインストーラーを起動すれば勝手に(超簡単に)インストールが完了しますが、Linux版の場合はそうはいきません。
Linux版へのインストール方法はSoftEther VPNの公式サイトに手順書が公開されています。
本記事ではこの公式サイトの手順に従ってSoftEther VPN(Linux版)をDebian(trixie)へインストールしていきます。
STEP① パッケージのインストール
SoftEther VPN(Linux版)のインストールに先立ち、インストールに必要なパッケージをインストールしておきます。
# リポジトリの更新
apt update
# make gccのインストール
apt install -y make gcc
STEP② SoftEther VPNサーバーのダウンロード
SoftEther VPNサーバー(Linux版)をインストールします。
具体的な作業としては、公式サイトからアーカイブをダウンロードして解凍、その後ビルドする、という作業になります。
ダウンロードリンクをコピーして、Debian(trixie)のコンソールからwgetコマンドでダウンロードするのが簡単です。
# SoftEther VPNサーバーのダウンロード
wget softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
ダウンロードしたアーカイブを解凍します。
# アーカイブの解凍
tar -xzvf softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
解凍後の「./vpnserver」ディレクトリへ移動し、SoftEther VPNサーバーをビルドします。
# パッケージのビルド
cd ./vpnserver
make
ビルドしたSoftEther VPNサーバーをインストールディレクトリ丸ごと実行ディレクトリへ移動します。
本記事では公式サイトの手順に従い「/usr/local」へ移動します。
# インストールディレクトリの移動
cd ..
mv vpnserver/ /usr/local/
移動したvpnserverディレクトリの所有者権限属性を変更します。
# 所有者権限の変更
cd /usr/local
chown -R root:root vpnserver
cd vpnserver
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver
以上でSoftEther VPNサーバーのダウンロードからインストールまでの手順となります。
STEP③ SoftEther VPNサーバー自動起動の設定(Systemd設定)
インストールしたSoftEther VPNサーバーを起動および自動起動の設定を行います。
自動起動の設定はsystemctlの機能を使って設定します。
systemctlディレクトリへ移動し、SoftEther VPNサーバー用の起動ファイルを作成します。
#
cd /etc/systemd/system
vi vpnserver.service
自動起動ファイルの内容は以下のようになります。
[Unit]
Description=SoftEther VPN Server
After=network.target network-online.target
[Service]
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
Type=forking
RestartSec=3s
[Install]
WantedBy=multi-user.target
作成した自動起動ファイルを有効化し、さらにSoftEther VPNサーバーを起動および自動起動設定しておきます。
# Systemd(デーモン)反映
systemctl daemon-reload
# SoftEther VPNサービス起動
systemctl start vpnserver
$ SoftEther VPN自動起動設定
systemctl enable vpnserver
以上で次回のDebian(trixie)サーバー起動からはSoftEther VPNサーバーが自動起動するようになります。
ここまで完了したらDebian(trixie)を再起動しておきます。
# 再起動
reboot
再起動後、SoftEther VPNサーバーの起動状態を確認しておきます。
root@sbsev02:~# systemctl status vpnserver
* vpnserver.service - SoftEther VPN Server
Loaded: loaded (/etc/systemd/system/vpnserver.service; enabled; preset: en>
Active: active (running) since Thu 2026-07-16 11:58:31 JST; 3h 37min ago
Invocation: 9ff5ad9a9bbe4a888fbbdeae755214b4
Main PID: 682 (vpnserver)
Tasks: 34 (limit: 629145)
Memory: 25.9M (peak: 39.4M)
CPU: 1min 2.562s
CGroup: /system.slice/vpnserver.service
|-682 /usr/local/vpnserver/vpnserver execsvc
`-683 /usr/local/vpnserver/vpnserver execsvc
「Active: active (running)」が表示されていれば自動起動しています。
以上でDebian(trixie)へのSoftEther VPNサーバーのインストールは完了、ここからは環境設定を行っていきます。
STEP④ SoftEher VPNサーバー環境設定
SoftEther VPNサーバーの環境設定はLinux版のvpncmdコマンドを使って設定可能ですが、Windows版のGUIを使ったほうがわかりやすいと思います。
本記事ではWindowsPCを使ってWindows版のサーバー管理マネージャを使いSoftEther VPNサーバーの環境設定を行っていきます。
Windows版サーバー管理マネージャのインストール
WindowsPCでダウンロードし、そのままインストーラーを起動します。
リッスンポートの停止
まず最初に不要なリッスンポートを閉じておきます。
SoftEther VPNサーバーは標準で以下のポートをリッスンしています。
| TCP 443 | SSL-VPN通信用ポート および管理マネージャ接続用(初期値) |
|---|---|
| TCP 992 | SSL-VPN通信用ポート ※443ポートの代替 |
| TCP 1194 | OpenVPN通信用ポート |
| TCP 5555 | 管理マネージャ接続用(独自ポート) |
それぞれに使途がありますが、本記事では「443(sslポート)のみを使用する」を前提とし、それ以外のポートは閉じておきます。
ご自身のサーバー環境や使いたい機能によって設定してください。

IPsec/L2TPの無効化
SoftEther VPNは複数のVPNプロトコルに対応していますが、本記事ではSoftEther VPNのデフォルトプロトコルであるSSL-VPNのみを使用します。
このため、不要(?)なプロトコル設定を無効にしておきます。
サーバー管理マネージャの初期画面から「IPsec / L2TP設定」ボタンを押下します。

「IPsec/L2TP設定」画面からすべてのチェックを外します(オフにする)。

以上でIPsec/L2TPプロトコルを無効化しました。
OpenVPN/MS-SSTPの無効化
同様にOpenVPNプロトコルおよびMS-SSTPプロトコルでのVPNサーバー接続を無効にしておきます。
サーバー管理マネージャの初期画面から「OpenVPN / MS-SSTP設定」ボタンを押下します。

「OpenVPN / MS-SSTP設定」画面からすべてのチェックを外します(オフにする)。

以上でOpenVPN/MS-SSTPプロトコルを無効化しました。
ダイナミックDNSの設定
SoftEther VPNには標準でダイナミックDNS機能が備わっています。
このサービス(SoftEtherダイナミックDNS)を使えばVPN接続時に固定IPアドレスを契約していなくても(変動IPアドレスでも)サーバー名による名前解決ができます。
SoftEther VPNインストール直後には標準でこのダイナミックDNSが有効化され、「VPN〇〇〇〇.softether.net」というホスト名が提供されています。
この「VPN〇〇〇〇」部分はご自分のお好きなホスト名に変更することができます。
初期値のまま使ってもよいし、ご自分の覚えやすいホスト名に変更しても良いでしょう。
サーバー管理マネージャの初期画面から「ダイナミックDNS設定」ボタンを押下します。


SoftEther VPNでリモートVPN環境を構築
SoftEther VPNを使えば、外出先からパソコンやスマホを自宅へVPN接続する「リモートVPN」と、自宅ネットワークと他のネットワーク(実家や仕事場のネットワークなど)を相互接続する「拠点間(Site-to-Site)VPN」の接続が利用できます。
ここまでの設定でSoftEther VPNサーバー環境の構築が終わっているので、ここからは外出先のパソコン・スマホから自宅ネットワークへ接続する「リモートVPN」の環境設定を行っていきます。
仮想ハブの設定
SoftEther VPNはさまざまなVPN接続形態でのVPN環境を構築できますが、接続環境ごとに「仮想ハブ」を構築します。
VPNの接続相手(外出先のパソコン・スマホなど)はこの仮想ハブに接続するイメージになります。
よって、まずはリモートVPN接続用の仮想ハブを構築します。
SoftEther VPNサーバーのインストール直後には「DEFAULT」という仮想ハブが構築されているので、この仮想ハブを利用してリモートVPN用の仮想ハブとします。
※仮想ハブを新規作成しても良いです。
まず、仮想ハブ「DEFAULT」を行選択し「仮想ハブの管理」ボタンを押下します。

仮想HUB「DEFAULT」にリモートVPN接続するユーザーのIDとパスワードを登録します。
「ユーザーの管理」ボタンを押下し、ユーザー登録画面を開きます。

最低限の登録項目として「ユーザー名(ID)」と「パスワード」を登録します。

このユーザーID/パスワードがリモートVPN接続するユーザーのVPN接続時のID/パスワードとなります。
ユーザーごとにユーザーID/パスワードを登録します。
以上でリモートVPN接続用の仮想HUB設定は完了です。
ローカルブリッジの設定
次に仮想HUBをSoftEther VPNが稼働するサーバーのLANカードにローカルブリッジ接続します。
外出先のパソコンやスマホは仮想HUBへVPN接続しますが、この段階ではSoftEther VPNのソフトウェア内部(仮想HUB)までしか接続(通信)できません。
ここでこの仮想HUBをサーバーのLANカードとブリッジ接続することで、外出先のパソコン・スマホの通信がLANカードを経由して自宅ネットワークへ接続できるようになる、という仕組みです。
この仕組みにより、リモートVPNのデバイス(パソコンやスマホ)は自宅ネットワークとL2(Layer2)接続できるようになります。
サーバー管理マネージャの「ローカルブリッジ設定」ボタンを押下します。

作成した仮想HUB「DEFAULT」を選択し「ローカルブリッジを追加」ボタンを押下します。

一覧画面で仮想HUBが表示され、「状態」が「動作中」となればローカルブリッジ設定完了です。
なお、この「ローカルブリッジ設定」はリモートデバイス(外出先のパソコンやスマホ)を自宅ネットワークへL2(Layer2)接続するための設定となります。
リモートデバイスをL3(Layer3)接続する場合はローカルブリッジによる接続ではなく「仮想NAT」による接続設定が必要ですが、本記事ではL2接続とします。