- Raspberry自身のネットワークブリッジ機能は、自分自身へのアクセスができない。この制約を回避するため、タップを作成し、ブリッジを構築する必要がある。まずは、bridge-utilsをインストールする。
sudo apt-get install bridge-utils - 仮想インターフェース br0 を作成する
sudo nano /etc/network/interfaces
にてエディタを開き、以下の3行を追加し、保存する。
auto br0
iface br0 inet dhcp
bridge_ports eth0 - Softether VPN Serverの、Linux用のARM EABI (32bit)をダウンロードする。2017/8時点では、以下のURL
wget http://jp.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/32bit_-_ARM_EABI/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-arm_eabi-32bit.tar.gz - ダウンロードしたファイルを解凍し、/usr/local/へ移動させる。
tar -zxvf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-arm_eabi-32bit.tar.gz
sudo mv vpnserver/ /usr/local/ - コンパイルする。
cd /usr/local/vpnserver/
sudo make
3回問い合わせがあるが、以下の順で選択する。
1. Yes
1. Yes
1. Agree - パーミッションを設定する。
cd /usr/local/vpnserver
sudo chmod 600 *
sudo chmod 700 vpncmd
sudo chmod 700 vpnserver - スタートアップスクリプトを作成する。init.dは非推奨らしいが、タイマーの設定方法が不明のため、init.dでの設定とする。以下のコマンドで編集を開始し、
sudo nano /etc/init.d/vpnserver
以下の内容をコピペする。
#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: SoftEther VPN RTM
# Description: Start vpnserver daemon SoftEther VPN Server
### END INIT INFODAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver# tun/tapモジュールのロード
sudo modprobe tun. /lib/lsb/init-functions
test -x $DAEMON || exit 0case "$1" in
start)
sleep 3
log_daemon_msg "Starting SoftEther VPN Server" "vpnserver"
$DAEMON start >/dev/null 2>&1
touch $LOCK
log_end_msg 0
sleep 3# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;stop)
log_daemon_msg "Stopping SoftEther VPN Server" "vpnserver"
$DAEMON stop >/dev/null 2>&1
rm $LOCK
log_end_msg 0
sleep 2
;;restart)
$DAEMON stop
sleep 2$DAEMON start
sleep 5
# SoftEther VPNで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/sbin/brctl addif br0 $tap
;;status)
if [ -e $LOCK ]
then
echo "vpnserver is running."
else
echo "vpnserver is not running."
fi
;;
*)echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0 - パーミッション等を設定し、再起動する。
sudo chmod +x /etc/init.d/vpnserver
sudo insserv vpnserver
sudo reboot - 再起動後、以下のコマンドにて、vpnserverが起動していることを確認する。
ps aux| grep vpn - また、以下のコマンドにて、br0仮想アダプタがeth0にブリッジされていることを確認する。
brctl show br0 - WindowsかMacの「Softether VPN サーバー管理マネージャー」にて、以下を設定する。
- Softether VPNサーバーにログインするためのユーザー名とパスワード(Administratorに対する初期パスワードは0文字)
- 簡易セットアップでは、リモートアクセスVPNサーバーを選択する。
- 仮想HUBを作成する。
- 仮想HUBに新規ユーザーを作成する。
- ローカルブリッジ設定にて、vlanという名称の新しいTapデバイスと仮想HUBの間にブリッジを作成する。
- 再起動後、以下のコマンドにて、br0仮想アダプタが、eth0とtap_vlanの両方にブリッジされていることを確認する。
brctl show br0
参考 http://qiita.com/neronplex/items/84162ec1de520bb75a11 をベースに設定しましたが、
/sbin/brctl addif br0 $tap
の後に、
/sbin/brctl addif br0 eth0
を挿入する必要がありました。