DynamicDNSを自動更新(ddup) の記事でDynamicDNS(dyndys.org)の自動更新にddupを使う説明をしました。
しかし、より使えるddclientというアプリケーションがあることがわかり、今回はそれを使って自動更新をしたいと思います。
ddclientの特徴は、
などです。
ddclientはいつも通りportsまたはportinstallでインストールします。
> cd /usr/ports/net/ddcilent
> su
# make install clean
> su
# portinstall ddcilent
インストールすると最後にメッセージが出ます。
***********************************************************
Copy
/usr/local/etc/ddclient.conf.sample
to
/usr/local/etc/ddclient.conf
and edit it to fit your needs.
If you would like to run ddclient as a daemon consider
copying
/usr/local/etc/rc.d/ddclient.sh.sample
to
/usr/local/etc/rc.d/ddclient.sh
***********************************************************
ということですので、まずはddclinet.confを設定しましょう。
最初に上記のメッセージのように、サンプルファイルをコピーして編集します。
# cp /usr/local/etc/ddclient.conf.sample /usr/local/etc/ddclient.conf
# chmod 644 /usr/local/etc/ddclient.conf
# vi /usr/local/etc/ddclient.conf
最初にIPアドレスを確認する間隔を設定します。
daemon=300
デフォルトでは300秒毎に確認を行うようになっていますが、このままで良いと思います。
次に/var/log/messagesにログを残すかどうかを設定します。
syslog=yes
デフォルトでは残す設定となっていますので、このままで良いと思います。
残したくない場合は「no」としてください。
実行結果、失敗結果をroot宛にメールで送るときは以下を設定します。
mail=root
mail-failure=root
デフォルトで有効になっていますので、このままで良いと思います。
自分のPCに割り振られたグローバルIPをDynamicDNSに割り当てたい場合は、PCのネットワークインターフェースを指定します。
例えばIntel 82562EMはfxp0ですので、
use=if, if=fxp0
のコメントアウトを外し、ifの後にネットワークアダプタを指定します。
ネットワークアダプタがよく分からない場合は、ifconfigで調べると良いでしょう。
また、グローバルIPがルーターに割り振られている場合は、アクセスしたIPアドレス返してくれるサイト(check.dyndns.org)を利用しますので、
use=web
のコメントアウトを外します。
次にdyndnsのユーザー名、パスワードを指定します。また必要ならばMailExchanger(MX)やバックアップMX、ワイルドカードも指定します。
login=ユーザー名
password=パスワード
mx=MailExchanger
backupmx=バックアップMX
wildcard=yes (必要なければno)
また、ddclientで更新したいDynamicDNSのホスト名も指定します。
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
server=members.dyndns.org, \(デフォルトで良い)
protocol=dyndns2 \(デフォルトで良い)
your-dynamic-host.dyndns.org(自分で作成したdyndnsのホスト)
以上で設定は終わりです。
設定が終わったらddclientが実際に動くか確認しましょう。
まずは手動でddclientを起動します。
# ddclient -daemon=0 -verbose -noquiet
としてSUCCESSと出たら成功です。
次に本当に自分のPCに設定されているか確認しましょう。
# nslookup your-dynamic-host.dyndns.org
nslookupで参照したIPアドレスと、ifconfigで出てくるIPアドレスが一致していればOKです。
動作確認できたら、ddclient.shがOS起動時に実行されるようにします。
# mv /usr/local/etc/rc.d/ddclient.sh.sample /usr/local/etc/rc.d/ddclient.sh
再起動すればddclinetが動いているはずです。
# ps -ax | grep ddclient
としてddclientが表示されればOKです。
ddclientの運用後にログをチェックしたい場合は、
# cat /var/log/messages | grep ddclient | less
のようにして確認すると良いでしょう。