🌐

Ubuntu 20.04でSoftEther VPN Serverを建てる

2021/04/04に公開1

自宅サーバーのUbuntuにSoftEther VPN Serverをインストールする備忘録的なものです。

サーバーを建てて不正アクセス等があった場合でも筆者は一切保証しないので自己責任で

参考サイト:
VPNサーバー構築(SoftEther VPN Server) - CentOSで自宅サーバー構築

やること

  1. SoftEhter VPN Serverを建てる
  2. SoftEhter VPN ClientとOpen VPNで建てたサーバーに接続できるようにする
  3. 接続した状態でSSHできるようにする

サーバーのスペック

OS: Ubuntu 20.04.2 LTS x86_64
CPU: Intel Pentium G4400 (2) @ 3.300GHz
Memory: 3824MiB
NIC: Realtek 1Gbps

Provider: Pikara 1Gbps

SoftEther VPN Serverのインストールと起動確認

GitHub:
SoftEtherVPN /SoftEtherVPN
PPA:
Dmitry Verkhoturov - SoftEtherVPN Daily Builds

Ubuntuの場合はPPAが配布されていて、楽にインストールとアップデートを行うことができます。

  1. PPAの追加
$ sudo apt-add-repository ppa:paskal-07/softethervpn
$ sudo apt-get update
$ sudo apt-get upgrade
  1. SoftEther VPN Serverのインストール
$ sudo apt-get install softether-vpnserver
  1. サーバーの起動確認
$ systemctl status softether-vpnserver.service
● softether-vpnserver.service - LSB: SoftEther VPN service
     Loaded: loaded (/etc/init.d/softether-vpnserver; generated)
     Active: active (running) since YYYY-MM-DD hh:mm:ss UTC; 1 months 4 days ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 47 (limit: 629145)
     Memory: 20.9M
     CGroup: /system.slice/softether-vpnserver.service
             ├─25165 /usr/libexec/softether/vpnserver/vpnserver execsvc
             └─25166 /usr/libexec/softether/vpnserver/vpnserver execsvc
  1. 起動できてなければ開始と恒久化
$ sudo systemctl start softether-vpnserver.service
$ sudo systemctl enable softether-vpnserver.service

これだけの手順でVPNサーバーが立ってます。

SoftEther VPN Server Manager for Windowsを使ってサーバー管理

Windows限定ですが、GUIでSoftEther VPN Serverの管理を行うことができます。
(写真を撮り忘れたのでノリで設定してください。)

  1. SoftEtherダウンロードセンターからSoftEther VPN Server Manager for Windowsをダウンロード
  2. 適当にインストール
  3. 接続先を適当に作る
  4. 管理用パスワードを決める
  5. 初期設定
    • 仮想HUB名: 適当

    • ユーザー: 適当

    • ダイナミックDNS: ON

      • けしからんhostname.softether.netが使えるようになる
      • DNS鍵を変えるときは、一度VPNサーバーを止めてvpn_server.configbyte keyをいじる
      $ sudo systemctl stop softether-vpnserver.service
      $ nano /usr/libexec/softether/vpnserver/vpn_server.config
      
      --- vpn_server.config
      declare root
      {
      	uint ConfigRevision 30
      	bool IPsecMessageDisplayed true
      	string Region JP
      
      	declare DDnsClient
      	{
      		string CustomHttpHeader $
      		bool Disabled false
      		byte Key < ここを書き換え >
      ---
      
    • VPN Azure: 有効(どちらでもいい)

      • VPN Azureは説明にある通り、ファイアウォールを貫通しまくってポート開けなくても直接接続できてしまうけしからんもの
      • Open VPNでは使用できないので注意
    • IPsec/L2TP: 使用しない

    • TCP/IPのリスナーポート: 443のみ

      • ここは柔軟に設定してください。

ここまですると、作ったユーザーで接続できるようになります。

SoftEther VPN Clientから接続

こちらもWindows限定ですが、GUIでサーバーへ接続できます。

  1. SoftEtherダウンロードセンターからSoftEther VPN Server Manager for Windowsをダウンロード
  2. 適当にインストール
  3. 言われるがままに仮想LANカードの作成
  4. 新しい接続先の設定から色々入力して接続
  5. 家にDHCPサーバーがあればそこからIPアドレスが振られます
    • 家のDHCPを使わない場合はSoftEther VPN ServerのSecure NAT機能を使えばSoftEther VPN ServerがDHCPサーバーを持つようになります。

Open VPNのクライアントから接続

  1. SoftEther VPN Server Manager for Windowsでサーバーに接続する
  2. OpenVPN / MS-SSTP設定をクリック
  3. OpenVPNサーバー機能を有効にするにチェック
  4. UDPポートを決める
  5. OpenVPNクライアント用のサンプル設定ファイルを生成をクリック
  6. OKをクリック

ZIPファイルにREADMEがあるのでそれを読みながらOpenVPNクライアントに.ovpnファイルを読み込ませれば接続できるはずです。

接続した状態でSSHできるようにする

VPNサーバーとだけ使用したい場合は初期の状態で問題ないですが、サーバーにSSHできなきゃ意味がない!けしからん!という人向けです。
今回はnetplanを使ってやります。

参考サイト:
Ubuntu 20.04 LTSで仮想サーバ用のbr0/ブリッジを追加しIPを固定する - 情報技術の四方山話

  • ネットワーク関係
NIC: enp1s0
ゲートウェイ: 192.168.0.1
固定IP: 192.168.0.142
  1. ブリッジインターフェイスの作成
$ sudo nano /etc/netplan/00-installer-config.yaml

--- /00-installer-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp1s0:
      dhcp4: no
      dhcp6: no
    tap_vpn:
      dhcp4: no
      dhcp6: no
      addresses:
      - 192.168.0.142/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
        - 192.168.0.1
  bridges:
    br0:
      interfaces:
        - enp1s0
        - tap_vpn
      dhcp4: no
      dhcp6: yes
      addresses:
      - 192.168.0.142/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
        - 192.168.0.1
---

$ sudo netplan apply
  1. SoftEther VPN Server Manager for Windowsでサーバーに接続
  2. ローカルブリッジ設定をクリック
    • 仮想HUB: 作成したもの
    • 作成する種類: 新しいtapデバイスとのブリッジ接続
    • 新しいtapデバイス名: vpn
  3. ローカルブリッジを追加をクリック

これでVPN接続時でもSSHが可能になります。

注意事項

これをするときはSecure NATをOFFにしてください。

Discussion