Linux(CentOS)でDiCEによるDDNS更新メモ for VALUEDOMAIN

2022年11月22日

DiCEを使ったDynamic DNSのIPアドレス自動更新処理方法です。ドメインはVALUEDOMAINで得しているので、VALUEDOMAIN用の設定です。
※以下の操作は、X上でターミナルを開いて実行しています。

1.Linux for DiCE CUI versionをダウンロード
DiCE for Linux
2.ダウンロードしたファイルを展開

[root@centos download]# tar -xzvf diced01912.tar.gz

3.展開されたディレクトリを移動

[root@centos download]# mv DiCE/ /usr/local/bin/

4.ユーザがディレクトリに移動

[root@centos download]# cd /usr/local/bin/DiCE

5.ここから設定を行いますが、このままだと文字化けするのでターミナルの文字コードを一時的にEUC-JPにします。ターミナルのメニューから、端末→文字コードの設定→追加と削除→日本語 EUC-JP→追加→閉じる。端末→文字コードの設定→日本語(EUCーJP)を選択。これ以降の表示はEUC-JPとなります。
※TerTermをお使いの場合は設定→端末→漢字-受信と漢字-送信をEUCに変更で可能
6.dicedを実行

[root@centos DiCE]# ./diced

#ここで?を入力するとコマンド一覧が表示される

=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
:?
*** 起動オプション ***
diced [-s|-d|-h|-e] [-b] [-l]
-s 起動と同時に開始します
-d 起動と同時にバックグラウンドで開始します
-h コマンドオプションを表示します
-b イベント実行時にビープ音を鳴らします
-l ログを作成します
-e<EventNo> 指定のイベントを実行して終了します
*** コマンド一覧 ***
exit DiCEを終了します
start DiCEを開始します
startd DiCEをバックグラウンドで開始します
setup DiCEの環境設定を行います
list 登録済のイベント一覧を表示します
add イベントを追加します
ed[it] <番号> イベントを編集します
del <番号> イベントを削除します
en[able] <番号> イベントを有効にします
dis[able] <番号> イベントを無効にします
ev[ent] <番号> イベントの情報を表示します
ex[ec] <番号> イベントを今すぐ実行します
logcr ログをクリアします

7.環境設定を行います

:setup
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない (P)戻る
>0
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>y
検出IPアドレス>xxx.xxx.xxx.xxx
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>n
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:10>
(N)変更しない (P)戻る
>n
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分) 設定可能範囲は10分から1440分です
<現在:60>
(N)変更しない (P)戻る
>10
=================================================
設定を保存しますか? (Y/N)
(P)戻る
>y
設定を保存しました
=================================================

8.新規イベント追加

:add
新しくイベントを追加します
DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>VALUEDOMAIN
-------------------------------------------------
<< バリュードメイン >>
URL: http://www.value-domain.com/index.php
*** 情報 ***
・全ホストを更新するにはホスト名に"*"を指定してください。
・"ユーザー名"に入力された内容は無視されます。
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>xxxxxxxxxx.com #各自設定
=================================================
ホスト名を入力してください
(P)戻る
>* #各自設定(*は全てのホスト)
=================================================
ログインユーザ名を入力してください
(P)戻る
> #空欄でOK
=================================================
ログインパスワードを入力してください
(P)戻る
>xxxxxxxxxxx #各自設定
(ここはVALUEDOMAINサイト内DDNS用のパスワードです。下記画像参照。)

=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>
=================================================
このイベントに題名を付けてください
(P)戻る
>ddns_ip_change
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>5
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
(4)35日毎 (5)56日毎 (6)84日毎
(P)戻る
>0
=================================================
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y
=================================================
イベントを保存しますか? (Y/N)
>y
イベント"ddns_ip_change"を保存しました
=================================================

9.登録したイベントリストを表示

:list
(No.) (イベント名) (スケジュール) (次回予定)
0 * ddns_ip_change IPアドレス変化時 (7日毎) 02/01 00:18

10.登録したイベントを確認。

:ev 0
-------------------------------------------------
[イベント名 ] ddns_ip_change
[状態 ] 有効
[DNSサービス ] VALUEDOMAIN
[更新ホスト ] *.xxxxxxxxx.com
[ユーザ名 ]
[IPアドレス ]
[スケジュール ] IPアドレス変化時 (7日毎)
[次回更新日時 ] 2006年2月1日、0:18:19
[最終実行日時 ] 1899年12月30日、0:00:00
[最終更新IPアドレス] *
[最終更新結果 ] コマンドが実行されました
(ID:000000)
-------------------------------------------------

11.一度手動で実行してみます。

:ex 0
+ 1/25 0:27 にddns_ip_changeが実行されました
IPアドレスを更新しました
※下記の様に失敗した場合は「:ed 0」と打って編集する。
:ex 0
- 1/25 0:23 にddns_ip_changeの実行に失敗しました
Error: パスワードが無効です

12.一度終了してサービスとして起動

:exit
[root@centos DiCE]# ./diced -l -d
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad
DiCE Daemon Started !!

13.正しく動作しているか確認します。

[root@centos DiCE]# ps -aux|grep diced
root 3153 0.3 0.3 5084 1000 ? Ss 00:33 0:00 ./diced -d -l

14.一応root以外触れないようにパーミッションを設定

[root@centos DiCE]# chmod 600 dice.dat dice.ini
[root@centos DiCE]# chmod 700 diced ipcheck.dat
[root@centos DiCE]# chmod -R 700 plug-in/

15.自動起動設定

[root@centos DiCE]# vi /etc/rc.d/rc.local
下記を追記します。
/usr/local/bin/DiCE/diced -d -l

16.サービスを止める時は

[root@centos DiCE]# kill プロセス番号

※dicedが起動した状態でもう一度起動すると多重起動してしまいます。もう一度起動させたい場合は一度killコマンドを実行してプロセスを終了させて下さい。
17.最後にターミナルの文字コードをUTF-8に戻しておきます。

PC, Linux

Posted by Web Master