SoftEther VPNサーバーを構築
環境
- ひかり電話ルータ PR-400MI
- Raspberry Pi 3 Model B+
- Ubuntu Server 22.04.2 LTS (32-bit)
- SoftEther VPN Developer Edition (DE) Version 5.02 Build 5180
- v6プラス(IPv4/IPv6インターネット接続サービス)
SoftEther VPNのインストール手順
- Raspberry PiにOSをインストール ここではUbuntuをインストールしました。
- 必要なライブラリのインストール
sudo apt-get -y install cmake gcc g++ make pkgconf libncurses5-dev libssl-dev libsodium-dev libreadline-dev zlib1g-dev
git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git cd SoftEtherVPN nano src/Cedar/Server.c
以下Server.cの編集部分です
bool SiIsEnterpriseFunctionsRestrictedOnOpenSource(CEDAR *c) { char region[128]; bool ret = false; // Validate arguments if (c == NULL) { { return false; } SiGetCurrentRegion(c, region, sizeof(region)); if (StrCmpi(region, "JP") == 0 || StrCmpi(region, "CN") == 0) { ret = true; } return ret; // ret を false に変更 }
git submodule init && git submodule update ./configure make -C build sudo make -C build install
ソースコードからビルドした場合はSystemd
に対応しているので楽です。
- ブリッジを作成 現在は以下のような接続となっています。
graph LR A[NIC] --> B[et0] --> C[SoftEther VPN]
以下のようにbr0
とtap
を追加します。
graph LR A[NIC] --> D[br0] --> B[tap] --> C[SoftEther VPN] D --> E[eth0]
bridge-utils
をインストールします。
sudo apt-get install bridge-utils
netplanファイルを作成します。
sudo nano /etc/netplan/99-config.yaml
network: version: 2 renderer: networkd ethernets: eth0: dhcp4: false dhcp6: false bridges: br0: interfaces: [eth0] dhcp4: false dhcp6: false addresses: [192.168.1.xx/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [192.168.1.1]
有効化させます。
sudo netplan apply
- SoftEther VPN設定
SoftEther VPN サーバー管理マネージャを使い設定をします。ここではアドレスは
192.168.1.xx
になります。 管理パスワードを作成し、リモートアクセスVPNサーバー
にチェックを入れ、仮想HUB
名を設定します。そのほか必要な機能を設定します。 管理画面に戻り、ローカルブリッジ設定
を設定します。仮想HUB
は先ほど設定した値を選択し、新しいtapデバイスとのブリッジ接続
を選択します。そして新しいtapデバイス名
をsoftether
にし、ローカルブリッジを追加
を選択します。 - Desktopファイルの編集、再度読み込み
sudo systemctl edit softether-vpnserver.service
[Service] ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_softether
sudo systemctl enable softether-vpnserver.service sudo systemctl start softether-vpnserver.service
ルーターの設定
v6プラスはIPv4のポート開放は可能ですが条件があります。決められたポートのみ開放できます。http://192.168.1.1:8888/t
で確認できます。IPv4設定
を選択することで利用可能ポート
が表示されています。その中から任意のポート番号を選択し、IPv4パケットフィルタ設定
を選択します。エントリを選択し、以下のように設定します。
種別:通過 送信元アドレス:any 宛先アドレス:192.168.1.xx プロトコル:TCP 送信元ポート:任意のポート番号 宛先ポート:任意のポート番号 方向:WAN=>LAN
また静的NAPT設定
で
対象プロトコル:TCP 公開対象ポート:任意のポート番号 宛先アドレス:192.168.1.xx 宛先ポート:任意のポート番号
と設定します。
またIPv6に対応させるため、http://192.168.1.1/
の詳細設定->セキュリティ設定->IPv6パケットフィルタ設定(IPoE)
より
フィルタ種別:通過 通信方向:IPoE→LAN 送信元IPアドレス:すべて指定 宛先IPアドレス:すべて指定 プロトコル:すべて指定 送信元ポート:ポート番号指定 任意のポート番号-任意のポート番号 宛先ポート:ポート番号指定 任意のポート番号-任意のポート番号