自宅サーバをInternet公開にするためSoftEther VPNをVPS上に設定する(1)

ISP によるPrivate network内にある自宅サーバをInternet公開サーバにするため,
VPSを借りてSoftEther VPNによるVPNを構築する

まずはじめにSoftEther VPN ServerをVPS上に構築する.

VPSのセットアップ

Conohaで,512MB仕様のVPSをレンタルした
Conoha VPS - https://www.conoha.jp/vps/

そしてVPSにDebian Linux 11をインストールした.(詳細は割愛)
Debian linux - https://www.debian.org/

SoftEther VPN Serverのインストール

SoftEther VPN プロジェクト - https://ja.softether.org/

  1. パッケージをダウンロード
    以下の公式Webページからダウンロード,
    https://ja.softether.org/5-download

以下のように4つのプルダウンメニューを選択

  • SoftEther VPN (Freeware)
  • SoftEther VPN Server
  • Linux
  • Intel x64/AMD64 (64bit)

2021-10-03現在,Ver 4.38, Build 9760 をダウンロードした

  1. セットアップ作業(1)
    まず必要なソフトウェアとライブラリをインストールする.
    make と gcc をパッケージでインストールすればOK.
    1
    2
    $ sudo apt install gcc
    $ sudo apt install make

あとは以下の公式Webページに記載の内容にそって作業する.
7.3 Linuxへのインストールと初期設定
https://ja.softether.org/4-docs/1-manual/7/7.3

7.3.7 の動作チェックは,7.3.5で書かれている実行ファイルの生成で一緒に行われるようになった様子./usr/local/vpnserverに生成したファイル群を設置し,directory内のfile permissionを適切に設定する.

  1. セットアップ作業(2)
    OSの起動時にサービスとして自動起動するように設定する.
    以下の内容を/etc/systemd/system/vpnserver.service として設置する
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [Unit]
    Description=VPN Server
    After=network-online.target

    [Service]
    Type=forking
    ExecStart=/usr/local/vpnserver/vpnserver start
    ExecStop=/usr/local/vpnserver/vpnserver stop
    Restart=always
    RestartSec=3s

    [Install]
    WantedBy=multi-user.target
    [Service] partの ExecStartPost の2行は vpnserver 起動後に実行される処理である.
    後述予定だが,これらはVPN serverによって作成される仮想netework interface (interface nameを”tap_vpn”と想定) にPrivate IP addressを付与する処理です.

次にsystemd経由で起動するよう systemctl での設定を行う.
まずは上記の設定ファイルで機動・停止ができるかどうか確認する

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ sudo systemctl daemon-reload 
設定ファイル群の再読み込み

$ sudo systemd start vpnserver
systemd経由でvpnserverを起動する

$ systemd status vpnserver
vpnserverの稼働状態を確認するコマンド.この時点で "Active欄" の表示が
"active (running)" になっているあることを確認.
なお status コマンドは管理者権限がなくても実行できた

$ sudo systemd stop vpnserver
systemd経由でvpnserverを停止する.停止後にstatusコマンドで停止している
ことを確認する

無事に起動・停止できることが確認できたら,次にシステムサービスとして
計算機の起動・停止時にvpnserverも起動・停止されるよう設定する.

1
2
3
4
5
6
$ systemctl is-enabled vpnserver.service 
("disabled" であることを確認)
$ sudo systemctl enable vpnserver.service
(システム起動時の自動起動を有効化する)
$ systemctl is-enabled vpnserver.service
("enabled" に変更されたことを確認)

計算機を再起動し,vpnserverがシステウサービスとして起動されることを確認する.

1
2
3
4
5
6
$ ps ax | grep vpnserver
918 ? S<s 0:00 /usr/local/vpnserver/vpnserver execsvc
919 ? S<l 0:00 /usr/local/vpnserver/vpnserver execsvc
972 pts/0 S+ 0:00 grep vpnserver

$ systemd status vpnserver

とりあえず,ここまで.

参考資料:

ends here

自宅サーバをInternet公開にするためSoftEther VPNをVPS上に設定する(1)

http://the.netaro.info/2021/10/03/2021-1003_softether-server/

Author

T.T

Posted on

2021-10-03

Updated on

2021-11-06

Licensed under