SoftEther VPN サーバー管理マネージャのローカルプリッジ設定にて作成したtapデバイス(tap_vpn)をブリッジするために下記のように設定を変更。
| 1 2 3 4 5 6 7 | auto br0 iface br0 inet static address 192.168.XXX.XXX netmask 255.255.XXX.XXX gateway 192.168.XXX.XXX bridge_ports eth0 tap_vpn | 
OS再起動後、brctl show してみるとなぜかブリッジされていない。
| 1 2 | bridge name     bridge id               STP enabled     interfaces br0             8000.00ac48621ad4       no              eth0 | 
どうやらtapデバイスが作成される前にブリッジしようとすることが原因と思われるので、下記サイトを参考にSoftEther VPN Serverの起動時にtapデバイスがブリッジできるまでリトライするスクリプト・ファイルを作成。なお、スクリプトはそのままでは正常に動作しなかったのでだいぶ修正しています。
SoftEherVPNでTAPデバイスとのブリッジが失敗する場合
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #!/bin/sh BRCTL=/sbin/brctl BRIDGE=br0 TAP_DEVICE=tap_vpn LOOP_CNT=0 while [ $LOOP_CNT -lt 20 ] do         sleep 1         BR_STATUS=`$BRCTL show $BRIDGE | grep $TAP_DEVICE | wc -l`         if [ $BR_STATUS -gt 0 ]         then                 break         fi         $BRCTL addif $BRIDGE $TAP_DEVICE         LOOP_CNT=`expr $LOOP_CNT + 1` done exit 0 | 
あとは、作成したスクリプトをSoftEther VPN Serverの起動設定に追加して、
| 1 2 3 4 5 6 7 8 9 10 11 12 | [Unit] Description=VPN service [Service] Type=oneshot ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop ExecStartPost=/usr/local/vpnserver/vpnserver-tap-enable.sh <--この行を追加 RemainAfterExit=yes [Install] WantedBy=multi-user.target | 
OS再起動し、brctl show してブリッジされていることを確認。
| 1 2 3 | bridge name     bridge id               STP enabled     interfaces br0             8000.00ac48621ad4       no              eth0                                                         tap_vpn | 
結論だけ見ると簡単そうですが、Linux初心者の私にはこれだけで数日悩みました。参考まで。
