08 Ekim 2007

Dinamik IP'ye hostname atama (dyndns.org güzelliği)

dyndns.org sitesinin çok güzel bir hizmeti var. Dinamik IP'lere hostname tanımlayabiliyorsunuz. 5 tane hostname tanımı ücretsiz yapılabiliyor. Böylece statik IP gerektiren durumlarda gerçekten ilaç gibi geliyor. Evdeki bilgisayarıma ssh ile bağlanmak istediğimde ssh evdeki_bilgisayar.dyndns.org komutu ile direk bağlanıyorum. Kullandığım modemde dyndns.org özelliği var ve gerekli ayarları yaptıktan sonra her IP değiştiğinde modem dyndns.org'da oluşturduğum host bilgisini değiştiriyor. Eğer modemde böyle bir özellik yok ise o zaman bu görevi Linux'a bırakacağız.

Belli aralıklarla IP'yi güncellemek için ubunturehberi.com'da anlatılanları uyguladım. Komut satırından komutu verdiğimde herşey normal ama cron'dan komut çalışmıyor. Betik path'de olmadığı için sorun oluyor. Bende şöyle yaptım. dyndns_update.sh betiğini /usr/sbin/'in altına taşıdım. Betik içinde de değişiklik yapmak gerekiyor. ipcheck komutu olan satırlarda da /usr/sbin/ipcheck .... şeklinde yol tanımladım. Sonuç olarak betiğin son hali şöyle:

#!/bin/sh

USERNAME=kullanıcı
PASSWORD=şifre
HOSTNAME=xxxxxx.dyndns.org

cd /root/
if [ -f /root/ipcheck.dat ]; then
/usr/sbin/ipcheck -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
else
/usr/sbin/ipcheck --makedat -r checkip.dyndns.org:8245 $USERNAME $PASSWORD $HOSTNAME
fi

crontab'a da şöyle ekliyoruz:

# crontab -e
her saat başı çalışması için eklenecek satır:

00 * * * * /usr/sbin/dyndns_update.sh

Hiç yorum yok: