自宅サーバー ≫ Linux Server ≫ CentOS Stream 8 ≫ DDNSの自動更新(DiCE)

 
DDNSの自動更新

DDNS自動更新ソフト『DiCE』を使いDDNSの自動更新を行う

ダウンロード
バージョン:DiCEd Version 0.19
このソフトはダウンロードしたものを展開すれば使えるようになる

ソフトを保存するディレクトリに異動

 
 
[root@centos]# cd /usr/local/bin
 
DiCEのダウンロード
 
 
[root@centos bin]# wget http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/download.cgi?p=diced019
 
ダウンロードしたものを展開
 
 
[root@centos bin]# tar zxvf download.cgi?p=diced019
 
共有ライブラリのインストール
※ 32bit 仕様のため 64bit で使用する場合は共有ライブラリーをインストールする
 
 
[root@centos bin]# dnf -y install ld-linux.so.2
 
設定

/usr/local/bin/DiCE に移動

 
 
[root@centos bin]# cd DiCE
 
移動後 DiCE を起動して設定

※ここからは日本語表記が多用されているのでコンソール(端末)等の文字コードを UTF-8 で利用している場合は euc-jp に変更

 
 
[root@centos DiCE]# ./diced
 =-=-=- DiCE DynamicDNS Client -=-=-=
 Version 0.19 for Japanese
 Copyright(c) 2001 sarad

 :
 
: が表示されるので ? を入力

起動オプションとコマンド一覧が表示

 
 
[root@centos bin]# ./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            ログをクリアします
 :
 
まずは環境設定をするので setup と入力

設定は自分の環境に合わせて設定

 
 
[root@centos bin]# ./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            ログをクリアします
 :
setup   <--- 入力
 IPアドレスの検出方法を指定してください
 (0) 自動検出
 (1) ローカルのネットワークアダプタから検出
 (2) 外部のスクリプトから検出
 <現在:0>
 (N)変更しない (P)戻る
 >
n   <--- 自動検出のままで良いので n を入力
 -------------------------------------------------
 プライベートIPアドレスも検出対象ですか? (Y/N)
 <現在:いいえ>
 (P)戻る
 >
n   <--- プライベートIPアドレスは検出しなくても良いので n を入力
 -------------------------------------------------
 IPアドレスの検出をテストしますか? (Y/N)
 (P)戻る
 >
n   <--- テストはしてもしなくても良いので好きな方を入力
 
y を入力した場合は下記のようにIPアドレスが表示され再度同じ質問をされるので n を入力
 
検出IPアドレス>123.456.78.90
 
-------------------------------------------------
 IPアドレスの検出をテストしますか? (Y/N)
 (P)戻る
 >
n   <--- 入力

 -------------------------------------------------
 IPアドレスをチェックする間隔を指定してください(分)
 設定可能範囲は5分以上です
 <現在:10>
 (N)変更しない (P)戻る
 >
5   <--- 任意の間隔を入力
 =================================================
 DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
 前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
 ください(分) 設定可能範囲は10分から1440分です
 <現在:60>
 (N)変更しない (P)戻る
 >
10   <--- 任意の間隔を入力
 =================================================
 設定を保存しますか? (Y/N)
 (P)戻る
 >
y   <--- 保存にするので y を入力
 設定を保存しました
 =================================================
 :
 
続いて新しい設定を追加するので add と入力

設定は自分の環境に合わせて設定

 
 :
add   <--- 入力
 新しくイベントを追加します

 DynamicDNSサービス名を入力してください
 "?"で対応しているサービスを一覧表示します
 (P)戻る
 >
?   <--- 入力
 DnsTokyo  Dyn.ee  RegisterFly  VALUEDOMAIN  MyIP.US  miniDNS  HAMMERNODE  Microtech  Earth  yi  USA
 @nifty  DION   Netservers  ODS  todd  ieServer  Dynamx  DynDSL  MyDNS.JP  changeIP  nicolas  cheapnet
 DynDNSdk  did.expoze.com  ysdn   DNS2Go  eNom  MyServer  DHS  dnip  p2p  onamae.com  Now.nu  IPDYN
 No-IP  ZoneEdit  ddns.ca  cjb  ZiVE  GetmyIP  pcc.jp  unicc  Dynup  ZENNO.COM  WebReactor  3domain
 ddo.jp  dyns  DtDNS  ODN  livedoor  SelfHOsT  BIGLOBE  theBBS  ARTofDNS  JPN.ch  JSPEED  CyberGate 
 DDNS.nu  Dynu  instat  dyndns  dhs  my-domain  dynDNS.it  dnsQ  StaticCling  EveryDNS
 =================================================
 新しくイベントを追加します

 DynamicDNSサービス名を入力してください
 "?"で対応しているサービスを一覧表示します
 (P)戻る
 >
******   <--- 利用するDDNSサービスの名前を入力
 -------------------------------------------------
 << ***** Dynamic DNS Service >>
 URL: http://www.*****.com/
 *** 情報 ***
 <ポート3495を使用します>
 =================================================
 ドメイン名を入力してください
 "?"でドメイン一覧を表示します
 (P)戻る
 >
?   <--- 入力
 *****.com xxxxx.com *****.jp xxxxx.jp
 =================================================
 ドメイン名を入力してください
 "?"でドメイン一覧を表示します
 (P)戻る
 >
*****.com   <--- 利用するドメインを入力
 =================================================
 ホスト名を入力してください
 (P)戻る
 >
xxxx   <--- ホスト名を入力
 =================================================
 ログインユーザ名を入力してください
 (P)戻る
 >
   <--- 通常はホスト名と同じなので入力の必要なし ホスト名と違う場合に入力
 =================================================
 ログインパスワードを入力してください
 (P)戻る
 >
********   <--- パスワードを入力
 =================================================
 登録するIPアドレスを入力してください
 空白にすると現在のIPアドレスを自動検出します
 (P)戻る
 >
   <--- 自動検出するので 何も入力しない
 =================================================
 このイベントに題名を付けてください
 (P)戻る
 >
DDNS-Reflesh   <--- 適当な名前を付けます
 =================================================
 このイベントを実行するスケジュールを設定します
 -------------------------------------------------
 実行する頻度を指定してください (番号入力)
 (0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
 (4)その他の周期 (5)IPアドレス変化時 (6)起動時
 (P)戻る
 >
5   <--- IPアドレスが変わった時に実行すれば良いので 5 を入力
 -------------------------------------------------
 IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
 アカウントを削除されてしまうことがあります
 IPアドレスの変化が無い時に実行する間隔を指定してください
 (0)7日毎 (1)14日毎 (2)21日毎 (3)28日毎
 (4)35日毎 (5)56日毎 (6)84日毎
 (P)戻る
 >
0   <--- 適当な間隔を入力
 =================================================
 詳細オプションを設定します
 -------------------------------------------------
 [ オフライン ]
 (0)No (1)Yes
 番号>
0   <--- 常時接続なので 0 を入力
 =================================================
 このイベントを有効にしますか? (Y/N)
 (イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
 >
y   <--- 有効にするので y を入力
 =================================================
 イベントを保存しますか? (Y/N)
 >
y   <--- 保存にするので y を入力
 イベント"DDNS-Reflesh "を保存しました
 =================================================
 :
list   <--- 保存した設定を確認するので list を入力
 (No.) (イベント名) (スケジュール) (次回予定)
 0 * DDNS-Reflesh IPアドレス変化時 (7日毎) 07/08 17:02
 :
exit   <--- 終了
 
設定確認及び動作確認
上記でも書きましたが文字コードが euc-jp でないと正常に表示されないので文字コードが euc-jp 以外の場合は変更
 
 
[root@centos]# /usr/local/bin/DiCE/diced
 =-=-=- DiCE DynamicDNS Client -=-=-= 
 
 :
list   <--- 入力(設定確認)
 (No.)   (イベント名)       (スケジュール)                (次回予定)
   0 *   DDNS-Reflesh      IPアドレス変化時 (7日毎)     02/20  20:15
 
 :
ex 0   <--- 入力(DNS更新の実行 ex の後にイベントNoを付ける)
 + 2/19 15:33 にDDNS-Refleshが実行されました
 IPアドレスを更新しました
 
 :
ev 0   <--- 入力(DNS更新確認 ev の後にイベントNoを付ける)
 -------------------------------------------------
 [イベント名         ] DDNS-Reflesh
 [状態               ] 有効
 [DNSサービス        ] DDNS
 [更新ホスト         ] papa-net.info
 [ユーザ名           ] *****
 [IPアドレス         ]
 [スケジュール       ] IPアドレス変化時 (7日毎)
 
 [次回更新日時       ] 2012年2月26日、15:33:45
 [最終実行日時       ] 2012年2月19日、15:33:45
 [最終更新IPアドレス ] 123.456.789.000
 [最終更新結果       ] IPアドレスを更新しました
 (ID:000000)
 -------------------------------------------------
 status=0 OK
 -------------------------------------------------
 
設定変更
 
 
[root@centos]# /usr/local/bin/DiCE/diced
 =-=-=- DiCE DynamicDNS Client -=-=-= 
 
 :
list   <--- 入力( リスト表示)
 (No.)   (イベント名)       (スケジュール)                (次回予定)
   0 *   DDNS-Reflesh      IPアドレス変化時 (7日毎)     02/20  20:15
 
 :
ed 0   <--- 入力( 変更したいNo)  
 
 
後は最初に設定を行った時と同様
 
DiCE のデーモン起動及びログの取得

 
 [root@centos]#
/usr/local/bin/DiCE/diced -d -l
 =-=-=- DiCE DynamicDNS Client -=-=-=
 Version 0.19 for Japanese
 Copyright(c) 2001 sarad
 

自動起動設定

 
 [root@centos]#
echo /usr/local/bin/DiCE/diced -d -l >> /etc/rc.d/rc.local
 

上記のように起動設定をした後、サーバーを再起動し DiCEが起動している事を下記のコマンドで確認

 
 [root@centos]#
ps aux | grep dice
 root 2543 0.0 0.0 221928 1180 pts/0 S+ 18:36 0:00 grep --color=auto dice
   <--- このように表示されればOK
 

IPアドレスの自動検出に失敗する場合
ルーターの設定により正しいIPアドレスが取得出来ない場合がある(違うアドレスを検出等)
この場合は直接レジストラ等のスプリプトを指定して更新する
下記は 『Value-Domain』の設定例

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

戻る