Mobile DstarRepeater
HOMEにircDDBGatewayを置き、屋外でDstarRepeaterのみで運用するためのircDDBGateway側の設定。
- GIP変動に対応
Mobile回線でGIPが変化しても、ircDDBGatewayを追従させるスクリプト
---- ipget.sh ----
#!/bin/bash
while :
do
if [ ! -e /root/rpt_gip.txt ]; then
echo "192.168.xxx.yyy" > /root/rpt_gip.txt #何でもよいが、localnet内で使う場合のIPにしておくとよい。
fi
NDT=`tcpdump -i eth0 -nAs0 udp port 20014 -c1` #Gateway portに20014を使用する場合
FL1=`echo "$NDT" | grep -e "20014 >"`
if test "$FL1" != ""; then
OGIP=`tail -1 /root/rpt_gip.txt`
NGIP=`echo $NDT | cut -d" " -f3 | cut -d"." -f1-4`
echo "GIP of Repeater = $NGIP"
if test "$OGIP" != "$NGIP"; then
echo "$NGIP" >> /root/rpt_gip.txt
PIRC=`pgrep -f ircddbgatewayd`
kill -9 $PIRC
sleep 2
/bin/sed -e "s/repeaterAddress4=.*$/repeaterAddress4=$NGIP/" /etc/ircddbgateway > /etc/irc_new.txt
mv -f /etc/ircddbgateway /etc/ircddbgateway.bak
mv /etc/irc_new.txt /etc/ircddbgateway
/usr/local/bin/ircddbgatewayd &
fi
fi
sleep 23
pkill tcpdump
done
- ネットワーク環境の切り替え
HOMEと屋外回線で使用する際、簡単に切り替えを行うために、DstarRepeater側で実行する(もちろんsshでリモートにて)スクリプト
ただし、今回は各interfaces_car/interfaces_home はeth0をstaticで設定し利用している。*1
--- h2m.sh ---
#!/bin/bash
PDS=dstarrepeaterd
kill `pgrep -f $PDS`
sleep 2
cp -p /etc/dstarrepeater_car /etc/dstarrepeater
cp -p /etc/network/interfaces_car /etc/network/interfaces
cp -p /etc/resolv_car /etc/resolv.conf
/sbin/shutdown -h now
--- m2h.sh ---
#!/bin/bash
PDS=dstarrepeaterd
kill `pgrep -f $PDS`
sleep 2
cp -p /etc/dstarrepeater_home /etc/dstarrepeater
cp -p /etc/network/interfaces_home /etc/network/interfaces
cp -p /etc/resolv_home /etc/resolv.conf
/sbin/shutdown -h now
以下作成中