FTPを使って1812jからMyDNSを更新する
最近独自ドメインを取得し直したんですが、
それに合わせてDDNSサービスをDynDNSからMyDNSに変更してみました。
HTTP-BASICで更新ができなかった
1812jからIPを更新をしてる記事もいくつか見つかったので楽勝だと思ってたら問題が発生しました。
最初に設定してたのは以下のようなコンフィグ。
ip ddns update method mydns HTTP add http://mydnsid:password@www.mydns.jp/login.html interval maximum 7 0 0 0 int Di0 ip ddns update hostname hoge.net ip ddns update mydns
debug ip ddnsしてデバッグを有効にしたあと
上のコンフィグで実際に動かしてsh loggingしてみると、
エラーページが取得されており正しく動いていませんでした。
動かない原因
実はまだよくわかってないです。
kdnsでの設定の話になりますが、
バージョンによってddns updateが動かない場合があるようなので、
それかな?と勝手に思っています。
ちなみにうちの1812jのバージョンは12.4(11)T、DRAM/Flashがそれぞれ128MB/32MBです。
バージョンアップしようとしたら、12.4(20)T以上は256MB/64MBが必要でできませんでした……。
とりあえず解決策
MyDNSはHTTP-BASIC以外にもPOPとFTPに対応してるとのことでした。
なので1812jで使えるFTPとEEMを使ってIPの更新を試みます。
EEMはEmbedded Event Managerの略で、
いろんなイベントをトリガとしてコマンドの実行などができる仕組みです。
今回はタイマーをイベントとすることで日曜AM3時に実行しています。
applet名やcronのエントリー名、MyDNSのユーザ/パスワードは適当に変更してください。
syslogへの出力はお好みで。
event manager applet ddns event timer cron name ddns-batch cron-entry "0 3 * * 0" action 1.0 syslog msg "# DDNS Update Begin" action 2.0 cli command "enable" action 3.0 cli command "copy ftp://mydnsid:password@www.mydns.jp/login.html null:" action 4.0 cli command "exit" action 5.0 syslog msg "# DDNS Update End"
まとめ
とりあえず汚い方法ですが動かすことができました。
IOSのバージョンをいろいろいじれるようHW性能を上げたいです。
まあ早く固定IPにしろって話なんですが。