#概要・背景
Ubuntu上でSoftEtherの環境を構築している人は多くいるのだが、Systemdを使わずinitスクリプトを使っていたり、tapインターフェイスを変な方法でブリッジしている人が多かったので個人的に納得のいく方法で構築した流れをここに示すことにした。
#構築
##環境
OS:Ubuntu Server 16.04
RAM:2GB
##インストール
###bridge-utils,make,gccのインストール
bridge-utilsはインストール後、tapインターフェイスがブリッジできていることを確認するためにbrctlを用いる時に必要。
パッケージ情報更新
sudo apt update
インストール
sudo apt install -y bridge-utils gcc make
###SoftEther VPN Serverのダウンロード
最新版のURLをここから探してくる
cd /tmp
wget path-to-latest-version-of-SoftEther-Server
tar -xvf softether-vpnserver-(version).tar.gz
cd vpnserver/
###SoftEther VPN Serverのインストール
make
使用権許諾契約書に同意する場合、1を入力
cd ../
sudo mv vpnserver/ /usr/local/
できたディレクトリを/usr/localに移動
cd /usr/local/vpnserver/
sudo chmod 600 *
sudo chmod 700 vpncmd vpnserver
パーミッション設定
###Systemd用serviceファイルを作成
sudo vim /etc/systemd/system/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
作成したサービスを読み込む
sudo systemctl daemon-reload
Softether VPN Serverを有効化、起動
sudo systemctl enable vpnserver.service
sudo systemctl start vpnserver.service
###SoftEther VPN Serverの設定
####SoftEther VPN Server Managerを使用して設定
- 管理者パスワード設定
- リモートアクセス VPN サーバーを選択
- 適当に仮想HUB名を決める
- 適当にDDNS名を決める
- L2TP/IPSecを使うならチェックして次に進む
- VPN Azureはどちらかを選択
- ユーザーを作成
- ローカルブリッジの設定はここでは行わずに次に進む(ブリッジ接続する~のまま置いておく)
####tapインターフェイスを作成し、ブリッジする
- ローカルブリッジを選択
- 仮想HUBに先ほど決めた名前のものを選択する
- 「新しいtapデバイスとのブリッジ接続」を選択
- 新しいtapデバイス名に任意の名前を入力(例:softether)
- 「ローカルブリッジを追加」を選択
####ブリッジインターフェイスを作成し、先ほど作成したtapインターフェイスとブリッジする
ここからは再びサーバー上で設定する
sudo vim /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#auto eth0
#iface eth0 inet dhcp
auto br0
iface br0 inet static
#サーバーのIPアドレスを決め、入力
address 192.168.x.y
netmask 255.255.255.0
gateway 192.168.x.a
bridge_ports eth0 tap_(先ほど決めたインターフェース名)
#例 bridge_ports eth0 tap_softether
dns-nameservers 192.168.x.a
再起動
sudo reboot
再起動後、ブリッジできているかどうか確かめる
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.00155d01a504 no eth0
tap_softether
上のようになっていれば正常