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スクリプトならこの情報を自由に設定できるのでこちらに切り替える必要がある。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- Fujitsu ESPRIMO Q558/Vを購入(2025.01.12)
- Fujitsu LIFEBOOK U939/B 購入(2台目)(2024.11.01)
- Ryzen 7 5700U搭載のミニPC購入(2024.06.06)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- 作業用ノートPC探しで秋葉散策(2023.09.20)
「日記・コラム・つぶやき」カテゴリの記事
- 食品のステルス値上げ(2022.12.16)
- 久し振りの大きな地震(2021.10.07)
- 自宅にあった体温計(2021.04.19)
- @nifty光のv6プラス接続でIPv4通信のuploadが極端に遅い件について(2021.04.11)
- 17年前に購入したeMachines J3218を整備する。その2(2021.03.30)
「趣味」カテゴリの記事
- 17年前に購入したeMachines J3218を整備する。その2(2021.03.30)
- 17年前に購入したeMachines J3218を整備する。(2021.03.27)
- 以前ノートPCの液晶パネルを分解したときの作業メモ(2020.10.04)
- DiCEからIOBBのDDNSの更新を行ってみる(2020.01.19)
- マウスクリック不良の超簡単お手軽修理方法(2020.01.03)
「自宅サーバ関連」カテゴリの記事
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- SynologyのNASでOpenVPNのサーバーを立てる(2023.08.16)
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る(2022.09.04)
- UQWiMAX WiMAX2+5Gでポート開放(2022.08.01)
- Celeron N5095搭載のミニPCを購入(2022.05.06)
「ソフトウェア」カテゴリの記事
- Android12搭載のスマートフォンから自宅ネットワークへVPN接続できる環境を作る その2(2023.10.10)
- Proxmoxの導入・仮想端末構築及びWindowsアプリケーションのLinuxへの移行作業(2023.08.27)
- SynologyのNASでOpenVPNのサーバーを立てる(2023.08.16)
- Stable Diffusion WebUIでハローアスカベンチマークのリベンジと実行結果考察(2023.03.28)
- Stable Diffusionを使ってみる(2023.03.12)
コメント