Routerboard で MyDNS.jp に IPアドレスを通知する
Routerboard (RouterOS) は /tool fetch
を使うとhttpのページを取得できるので、これと /system scheduler
, /system script
を連携すれば定期的にMyDNS.jpにIPアドレスを通知できます
ここではMyDNS.jp 記載の HTTP-BASIC による通知を取り上げますが、同様にHTTP-DIRECTでの通知も可能と思います。
注意
初期のRouterOSは fetch コマンドがHTTP-BASIC認証に対応していません
方法
fetch コマンド
RouterOSのコンソールで下記のコマンドを叩けば、MyDNS.jp に対してアクセス元IPアドレス(→現在のグローバルIPアドレス)を通知できます :
/tool fetch mode=http keep-result=no user=hogehoge password=hogehoge url=http://www.mydns.jp/login.html
keep-result=no
オプションを指定することで、 wget --spider
に近い挙動を得られます。 (取得したファイルを保存しません)
MyDNS.jp に対して任意のIPアドレスを通知したい場合は、url
フィールドに HTTP-DIRECTのフォーマットに則ったURLを記入すれば良いと思います。
script コマンド
上記のfetchコマンドをRouterOSのScriptとして登録します :
/system script add name=mydns source="/tool fetch mode=http keep-result=no user=hogehoge password=hogehoge url=http://www.mydns.jp/login.html"
name パラメータには任意の名前を設定してください。
scheduler コマンド
上記のScriptを定期的に実行するようスケジュールします :
/system scheduler add name=mydns_2h on-event=mydns interval=2h
name パラメータには任意の名前を設定してください。
on-event
パラメータにはスクリプトの name を、interval
パラメータには実行間隔を指定します。
もしIPv4アドレス通知用ScriptとIPv6アドレス通知用Scriptを個別に用意した場合、それぞれを scheduler add
してください。