DiCEからIOBBのDDNSの更新を行ってみる
IODATAのルータでiobb.netのDDNSを使用して外部から自宅LANへアクセスしているが、IODATAのルータはDDNSサーバーへのIPアドレス更新が失敗したことを認識はしても再更新はしてくれない。
このせいで外部からのアクセスが不可能になることがある為ちょっと対策を考えていた。
で、DDNS更新ソフトのDiceで直接iobbのDDNSサーバへIPアドレスの更新出来ないかを調べた。
iobbのDDNSはiodataのルータからしか更新をサポートしていない為、仕様が公開されておらず勿論DiCEのプラグインもない。
しかしかなり昔にiobbのDDNS更新の方法を現物調査したことが有ったので出来そうなことはわかっていた。
で結論から言うとプラグインを作成するとDiCEからでも更新できることが分かった。
ただプラグインの仕様が公開されていないのでプラグイン作成に当たっては同梱されているプラグインからの推測となった。
この為、最初プラグインの[Response]セクションの設定が合っていなかったのでDiCEがエラーを吐いていた。
どうも必ず数字の1の所に正常更新時のレスポンス内容を記載しないとダメであった。
1以外の数字はそれぞれのエラーレスポンスに対応させる様だ。
[Messages]セクションには上記数字に対応するDiCEのイベントログ出力内容を記載する。
取り合えず正常更新と更新IPに変化が無かった場合のレスポンスを設定して更新成功とし、エラーを1個と合計3個のレスポンスを設定した。
作成したプラグイン内容はこんな感じ。
非公開情報が含まれるため、念のため該当部分は伏字に置き換えている。
以下プラグイン内容
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
;DiCE DynamicDNS Client Plug-in
;Copyright(c) 2020 riku-zen
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[DiCE]
Version=3.0
[ServiceInfo]
Name=IOPortal
URL=https://ioportal.iodata.jp/
[Updater]
Method=GET
Script=XXXXXXXXXX.iobb.net/xxxx/xxx/xxx/xxxxx.cgi?xxxxxxxxxxx
[Domains]
iobb.net
[Options]
[Response]
1=”IOBBからのIPアドレス更新成功時のレスポンス内容を記載”
1=”IOBBからのIPアドレス更新の必要が無い場合のレスポンス内容を記載”
71=”IOBBからの認証エラー時のレスポンス内容を記載”
[Command]
[Messages]
1=”IP更新に成功”
71=”認証エラー”
[Help]
プラグイン内容ここまで
上記設定でIPアドレスの更新成功時と更新前とIPアドレスに変化がなかった場合のレスポンスにDiCEのログで”IP更新に成功”と表示され、正しくDNSのIPアドレス情報が更新されていることが確認できた。
認証エラーについては特に確認していないのでちゃんとエラーとなるかは判らない。
それ以外のレスポンスについてはDiceでレスポンスが確認できませんでしたとなると思われる。
取り合えずこれでしばらく動作確認して問題なさそうであればルータのDDNS更新の補助に使用してみようと思う。
2020/10/26追記:
DiCEのIPアドレス確認用サイトにあまり負荷をかけるのも申し訳ない気がしたので自分専用で@niftyのHPサービスであるLaCoocan上にIPアドレス確認用のPerlスクリプトを設置した。
スクリプト自体はすごい簡単な物だけど調べるのに手間だったので参考にアップしておく。
ファイル名:ip_check.cgi
#!/usr/bin/perl
print "Content-type: text/html\n";
print "\n";
print "$ENV{'REMOTE_ADDR'}";
DiCE付属のipcheck.datのURLを上記スクリプトを配置したURLに書き換えるとIPアドレス確認する際に記載したURLへ確認しに行くようになる。
WEBブラウザからアクセスすると単純にアクセスしたIPアドレスだけ表示される。
DiCEでIPアドレス変更があった際の動作LOG

イベントログのメッセージは日本語から英語に替えたので英語になっている。
最初のLOGで認証エラーのメッセージが出ている。
これは設定した認証情報が間違っていたためで、DiCE側で正しく認証エラーのレスポンスを認識している。
その2分後に認証情報を修正してIPアドレス更新に行って成功している。
IPアドレス変更があった場合はIPアドレスが変わりましたとLOGに表示され更新前と更新後のIPアドレスが記載される。
あと余談だが、IODATAのルータがIOBBへ更新に行くときルータモデル名を最後につけて送信しているがDiCEはDiCEを名乗って送信している。
この情報はDiCEでは変更できない。
今の所この付加情報で弾かれることは無いがもし弾かれるようになったらDiCEは使用できない。
一応IOBBに対してDiCEと同じ動作をするperlのスクリプトも書いてテストし正常に動作することは確認している。

もしダメになったときはperlスクリプトならこの情報を自由に設定できるのでこちらに切り替える必要がある。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- Sleipnir4からBlinkエンジンだけ消えた。(2025.09.19)
- iobb.netサービス終了のお知らせに今更気が付いた件(2025.05.25)
- Fujitsu ESPRIMO Q558/Vを購入(2025.01.12)
- Fujitsu LIFEBOOK U939/B 購入(2台目)(2024.11.01)
- Ryzen 7 5700U搭載のミニPC購入(2024.06.06)
「日記・コラム・つぶやき」カテゴリの記事
- Windows11でのSAI Ver2の挙動が不安定な件(2025.09.21)
- Sleipnir4からBlinkエンジンだけ消えた。(2025.09.19)
- windows10の終了近づく(メインPCの更新)(2025.09.16)
- いにしえのグッズ色々2(2025.08.24)
- いにしえのグッズ色々(2025.08.04)
「趣味」カテゴリの記事
- スマートメディアカードのベンチマーク(2025.07.13)
- 17年前に購入したeMachines J3218を整備する。その2(2021.03.30)
- 17年前に購入したeMachines J3218を整備する。(2021.03.27)
- 以前ノートPCの液晶パネルを分解したときの作業メモ(2020.10.04)
- DiCEからIOBBのDDNSの更新を行ってみる(2020.01.19)
「自宅サーバ関連」カテゴリの記事
- iobb.netサービス終了のお知らせに今更気が付いた件(2025.05.25)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- SynologyのNASでOpenVPNのサーバーを立てる(2023.08.16)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る(2022.09.04)
- UQWiMAX WiMAX2+5Gでポート開放(2022.08.01)
「ソフトウェア」カテゴリの記事
- Adobe Muse CC 2018をWindows11で動かす(2025.11.06)
- Windows11でのSAI Ver2の挙動が不安定な件(2025.09.21)
- Sleipnir4からBlinkエンジンだけ消えた。(2025.09.19)
- windows10の終了近づく(メインPCの更新)(2025.09.16)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)

コメント