2007年8月30日 星期四

DynDNS on La Fonera

NSLU2-Linux 提到 - HowTo / DynDNSupdate browse
能在 La Fonera 上面更新 dyndns 的 script。真是方便。

主要程式 dnsupd 是從 fragrantblue COPY 來的,
但放到La Fonera有問題不能跑, 再經過修改後的結果如下囉!!

1.建立dnsupd
vi /bin/dnsupd
=================================================
#!/bin/sh
user=
pass=
domain=
wildcard=[ON|OFF]

if [ ! -f /tmp/old.ip ]
then
echo "Current IP Address: 0.0.0.0" > /tmp/old.ip
fi

wget -q http://checkip.dyndns.com:8245/index.html --output-document=/tmp/new.ip

if [ "`cat /tmp/new.ip`" = "`cat /tmp/old.ip`" ]
then
echo "No new IP"
rm -f /tmp/new.ip
else
PAT='Current IP Address:.*[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'
if grep -q "${PAT}" /tmp/new.ip && grep -q "${PAT}" /tmp/old.ip; then
wget -q "http://${user}:${pass}@members.dyndns.org:8245/nic/update?hostname=${domain}&wildcard=${wildcard}" -O /tmp/upd.ip
echo "New IP"
rm -f /tmp/upd.ip
mv /tmp/new.ip /tmp/old.ip
fi
fi
==========================================

2.設定啟動執行
vi /etc/init.d/S60dnsupd
==========================================
#!/bin/sh
if [ -n "`pidof dnsupd`" ]; then
/bin/killall dnsupd 2>/dev/null
fi
umask 077
/bin/dnsupd
==========================================

3.變更權限
chmod 755 /bin/dnsupd
chmod 755 /etc/init.d/S60dnsupd

4.定時查驗ip是否變更
crontab -e (加入下一行)
==========================================
*/15 * * * * /bin/dnsupd &>/dev/nul
==========================================

沒有留言: