昨日の日記で書いたdaemontoolsからのSoftEther Server起動では、tapデバイスとハブをブリッジしたら、SoftEtherプロセスがdaemontoolsによって再起動した場合、tapデバイスに設定したIPアドレスも初期化される事に気づいた(はじめから気づけよ俺)。
runスクリプトに色々書いてもうまくいかなかったので(勉強不足)、下のようなスクリプトを書いてcronで数分おきに回すことにした。数回テストしたが、とりあえず問題ない模様。
#!/bin/sh
# SoftEther Server 再起動チェックスクリプト
PATH=/sbin:/usr/bin:/bin:/usr/local/bin:/usr/local/sbin
# $tap_check の初期化
tap_check=0
# 現在のtapデバイスのIPアドレスを確認し、$tap_check へ出力
ifconfig tap_test | fgrep “inet addr” > $tap_check
# $tap_check の内容確認
if [ -s $tap_check ]
then
# 内容が空でなければ何もせず終了
exit 0
else
# 内容が空であれば以下のコマンドを実行
# IPアドレス設定
ifconfig tap_test 192.168.100.100 broadcast 192.168.0.255 netmask 255.255.255.0
fi
exit 0