玄箱HGのddclient設定
玄箱で自宅Webサーバを立ち上げる前に、ddclientはうまく動いており、設定方法も忘れつつあったので、その方法を書いていませんでした。しかし、偶然、/var/log/syslogのメッセージを見ると、4月4日の1:30ぐらいから、次のようなメッセージを吐いてddclientが失敗していることに気づきました。
Apr 4 01:38:16 kurohg ddclient[1133]: WARNING: cannot connect to checkip.dyndns.org:80 socket: IO::Socket::INET: Bad hostname 'checkip.dyndns.org'
しかも、この直前に玄箱HGを私自身がrebootしており、それから、おかしくなったようです。そのため、再度、ddclientの設定を見直しました。結局、解決できたのですが、ddclientでハマったのは、2回目ですので、ハマった経験も含めて、設定方法を紹介します。
まず、いつものようにaptitudeでddclientをインストールします。
# aptitude install ddclient
このように、aptitudeでddclientをインストールすると、バージョンは3.6.2で問題なく動かせるのですが、DynDNSのサイトでは、最新のddclient3.7がリンクされています。これで動かそうとすると、ddclinetがcheckip.dyndns.orgへの接続に失敗します。理由はよく分かりませんが、DnyDNSのddclient設定例を見ると、ddclient3.7からssl-updatesがサポートされ、ddclient.confに、ssl=yesという行が必要で、しかも、Debianの場合は、libio-socket-ssl-perlが必要みたいです。案の定、そんなものはインストールされておらず、当時はそんなことに気付きもしませんでした。ということで、
★★★ ddclientは、aptitudeでinstallした方が無難 ★★★
です。もしかしたら間違っているかもしれませんので、ddclient3.7以上でうまく動かしている方はぜひ教えてください。
aptitudeでinstallしたならば、/etc/ddclient.confに設定ファイルができます。(ちなみに、3.7の場合は、/etc/ddclient/ddclient.confにできます。)このddclient.confを次のように設定します。
#daemon=300 pid=/var/run/ddclient.pid protocol=dyndns2 #use=if, if= use=web wildcard=yes server=members.dyndns.org login=DynDNSで設定したログイン名 password=DynDNSで設定したパスワード arakin.dyndns.org
もっと詳しい例は、/usr/share/doc/ddclient/examples/sample-etc_ddclient.confにありますので、カスタマイズしてください。デフォルトでは、5分間隔でチェックするようになっており、そんなに煩雑にIPアドレスが変わらないならば、daemon=300という行を変更した方が玄箱の負荷は下がります。秒単位の設定ですので、300は5分ということになります。/etc/ddclient.confを編集後、次のテストを行い、うまく動くことを確認します。
# ddclient -daemon=0 -verbose
うまく動けば、次のようなメッセージが出力されます。
SUCCESS: arakin.dyndns.org: skipped: IP address was already set to ...
その後、ddclientをリスタートさせれば、完了です。
# /etc/inet.d/ddclient restart
これでずーっと動いていたのですが、玄箱を久しぶりにrebootしてリフレッシュさせようと思ったら、急に動かなくなりました。調べてみると、pingも反応しておらず、DNS(domain name server)の設定がおかしい事に気付きました。それで、DNSの設定である/etc/resolv.confを見ると、次のようになっており、空っぽでした。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
たしか次のようにルーターのアドレスを設定した記憶があるのですが、消え去っていました。
nameserver 192.168.***.*** <= ルーター(私の場合、AirStation)のアドレス
再度、手書きで編集してもその場しのぎにはなりますが、「手で編集するな!」ということなので、ネットで調べました。解決策は、もめす屋さんにありました。これを読むと、resolvconfがインストールされている場合、DNSの設定は、/etc/network/interfacesを参照するようになるみたいです。そこで、次の太字で書いた2行を/etc/network/interfacesに追加しました。
iface eth0 inet static address 192.168.***.*** <- 玄箱のアドレス network 192.168.***.0 netmask 255.255.255.0 broadcast 192.168.***.255 gateway 192.168.***.*** <- ルーターのIPアドレス #dns-search arakin.dyndns.org dns-nameservers 192.168.***.*** <- ルーターのIPアドレス
dns-searchは有り難味がよく分からないので、コメントアウトしています。設定後、次のようにネットワーク設定をリスタートします。
# /etc/inet.d/networking restart
すると、/etc/resolv.conf(実体は/etc/resolvconf/run/resolv.conf)に、自動的にDNSが書き込まれるようです。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.***.***
こうなればOKで、再度、ddclientをテストします。
# ddclient -daemon=0 -verbose
うまく動いたならば、ddclientデーモンを再起動しておきましょう。
# /etc/inet.d/ddclient restart
再起動しないと、まだ/var/log/syslogにエラーを吐き続けるようです。私にとって、ddclientは鬼門のようです。しかし、たまには再起動することで、設定の問題点が分かることもあるみたいで、かえって良かったのかもしれませんね。
最新の7件
OpenGL
電子工作
玄箱HG
- ClamAVのアップデート
- Smartyも入れてみる
- etchでPHP4->PHP5
- etchでのSamba設定
- etchでのメール設定
- 玄箱HGのetch化
- Webdruidでログ解析
- PEARも入れてみる
- 玄箱WEBのUTF-8化
- phpMyAdminでMySQL
- postmasterの変更
- ウィルスメール対策
- SPAMメール対策
- メールサーバ(IMAP)
- メールサーバ(Postfix)
- 猫にXOOPS
- PHPも入れてみる
- MySQLを入れてみる
- Subversion導入
- WebDav導入
- Apacheのrewrite機能
- Apacheディレクトリ設定
- Apache1.3->2.0
- ddclientの設定
- 静かな玄箱
- ユーザ追加