はじめに
Raspberry Pi上にOpen Media Vault 6をインストールして、SambaのNASを構築した後、宅外アクセスのためにSoftEther VPNと共存させようとしたら苦戦したので、備忘録として構築手順を書きます。
環境
- Raspberry Pi 4 Model B+ 4GB
- Raspberry Pi OS Lite bullseye 64bit
- Open Media Vault ver.6
- SoftEther VPN Server Ver 4.41, Build 9782 ARM 64bit
以下の手順は、Raspberry Pi OSのインストールやSSHの設定などが終わり、PiユーザーでSSHログインしている状態を前提としています。
1. パッケージの更新とbridge-utilsのインストール
sudo apt update && sudo apt upgrade -y
sudo apt install bridge-utils -y
2. Open Media Vault の導入
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
Softether のインストール
安定板のダウンロードリンクをwgetでダウンロード
wget <URL>
tar zxvf softether-vpnserver-xxxxx.tar.gz
ビルド
cd vpnserver
make
/usr/local
にインストール
sudo mv ~/vpnserver /usr/local/
sudo chmod 700 /usr/local/vpnserver/vpnserver
sudo chmod 700 /usr/local/vpnserver/vpncmd
sudo ln -s /usr/local/vpnserver/vpnserver /usr/local/bin/vpnserver
sudo ln -s /usr/local/vpnserver/vpncmd /usr/local/bin/vpncmd
tab_vlanの作成とSoftEther VPNのサービスファイル作成
SoftEther VPN 自動起動用にsystemdのserviceファイル作成
sudo vi /etc/systemd/system/vpnserver.service
vpnserver.service
[Unit]
Description=SoftEther VPN Server Service
After=network.target
[Service]
Type=forking
User=root
WorkingDirectory=/usr/local/vpnserver/
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
ExecStartPre=/sbin/ip link set dev eth0 promisc on
ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_vlan
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo /usr/local/bin/vpnserver stop
sudo sytemctl enable --now vpnserver.service
Open Media VaultとSoftEther VPNをブリッジ
- open media vaultの設定から
br0
を作成 - softether側からvlanを作成(
tap_vlan
になる) - 先ほど作った
vpnserver.service
のによって次回のSoftEther VPN起動時に自動的にExecStartPre=/sbin/ip link set dev eth0 promisc on ExecStartPost=/bin/sleep 10 ; brctl addif br0 tap_vlan
br0
とtap_vlan
がブリッジされる。
再起動すればつながる
sudo reboot