s50
Install DiCE.
Install the wget and glibc packages.
(If you cannot use DiCE, please see here.Common Settings: Domain Settings)
[root@www ~]# 50_1dnf -y install wget [root@www ~]# 50_2dnf -y install glibc
s51Download DiCE and unzip it.
[root@www ~]# 51_1cd /usr/local/bin [root@www bin]# 51_2wget https://rcg.jp/download/DiCE.tar.gz [root@www bin]# 51_3tar xzvf DiCE.tar.gz [root@www bin]# 51_4rm -f DiCE.tar.gz [root@www bin]# 51_5cd
s52
DiCE settings.
Install the library.
[root@www ~]# 52_1dnf install ld-linux.so.2
s53Reply with ‘y’.
Is this ok [y/d/N]: 53_1y
s54
Change the character code to “EUC-JP”.
Select “Setup” → “Terminal”.
s55Change “Kanji(receive)” and “Kanji(transmit)” to EUC and click “OK”.
s56Setup.
[root@www ~]# 56_1setarch `uname -m` /usr/local/bin/DiCE/diced =-=-=- DiCE DynamicDNS Client -=-=-= Version 0.19 for Japanese Copyright(c) 2001 sarad :56_2setup IPアドレスの検出方法を指定してください s57Please specify how to detect the IP address (0) 自動検出 Auto detect (1) ローカルのネットワークアダプタから検出 Detected from local network adapter (2) 外部のスクリプトから検出 Detection from an external script <現在:0> <Current: 0> (N)変更しない Do not change (P)戻る Return >57_12 ------------------------------------------------- スクリプトのURLを入力してください s58Enter script URL <現在:> <Current: No> (N)変更しない Do not change (P)戻る Return >58_1http://dyn.value-domain.com/cgi-bin/dyn.fcg? ------------------------------------------------- プライベートIPアドレスも検出対象ですか? s59Are private IP addresses also subject to detection? (Y/N) <現在:いいえ> <Current: No> (P)戻る Return >59_1N ------------------------------------------------- IPアドレスの検出をテストしますか? s60Do you want to test IP address detection? (Y/N) (P)戻る >60_1Y 検出IPアドレス>***.***.***.*** s61Click here to check if the above detection IP address is not displayed.Confirm IP address ------------------------------------------------- IPアドレスの検出をテストしますか? s62Do you want to test IP address detection?(Y/N) (P)戻る >62_1N ------------------------------------------------- IPアドレスをチェックする間隔を指定してください(分) s63Specify the interval for checking IP addresses (minutes) 設定可能範囲は5分以上です The settable range is 5 minutes or more. <現在:60> <Current: 60> (N)変更しない Do not change (P)戻る Return >63_15 ================================================= DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります 前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して ください(分) 設定可能範囲は10分から1440分です s64Frequent DNS updates should be prevented to reduce load on DNS servers Set the protection time to prevent DNS update processing for a certain period of time from the last update (minutes) The configurable range is 10 minutes to 1440 minutes. <現在:60> <Current: 60> (N)変更しない Do not change (P)戻る Return >64_110 ================================================= 設定を保存しますか? s65Save settings? (Y/N) (P)戻る >65_1Y 設定を保存しました s66I saved the setting =================================================
s67
Added DiCE events.
Set according to the domain (VALUE DOMAIN).
:67_1add 新しくイベントを追加します DynamicDNSサービス名を入力してください "?"で対応しているサービスを一覧表示します s68Add new event Enter the DynamicDNS service name List supported services with "?" (P)戻る Return >? ZENNO.COM livedoor MyDNS.JP pcc.jp JPN.ch MyIP.US @nifty StaticCling MyServer ddns.ca p2p did.expoze.com Dynamx WebReactor unicc Earth DNS2Go instat Now.nu dynDNS.it onamae.com DION ODN RegisterFly DHS Netservers todd USA cjb Dyn.ee BIGLOBE dnip 3domain miniDNS my-domain ZoneEdit ZiVE yi ysdn theBBS SelfHOsT ddo.jp No-IP nicolas eNom CyberGate EveryDNS Microtech ieServer HAMMERNODE GetmyIP Dynup Dynu dyns DynDSL DynDNSdk dyndns DtDNS dnsQ dhs DDNS.nu cheapnet changeIP ARTofDNS 68_1VALUEDOMAIN ODS JSPEED IPDYN DnsTokyo ================================================= 新しくイベントを追加します ホスト名を入力してください s69Add new event Please enter a host name (P)戻る Return >69_1VALUEDOMAIN ================================================= ドメイン名を入力してください "?"でドメイン一覧を表示します s70Please enter your domain name Display domain list with "?" (P)戻る >Domain name ================================================= ホスト名を入力してください s71Please enter a host name (P)戻る Return >71_1* ================================================= ログインユーザ名を入力してください s72Please enter your login username (P)戻る Return > ================================================= ログインパスワードを入力してください s73Please enter your login password (P)戻る Return >Login password ================================================= 登録するIPアドレスを入力してください 空白にすると現在のIPアドレスを自動検出します s74Please enter the IP address to register Leave blank to auto detect current IP address (P)戻る Return > ================================================= このイベントに題名を付けてください s75Please give this event a title (P)戻る Return >75_1VALUEDOMAIN-75_1ドメイン名 このイベントを実行するスケジュールを設定します ------------------------------------------------- 実行する頻度を指定してください (番号入力) s76Set a schedule to run this event ------------------------------------------------- Specify how often to run (enter number) (0)1回のみ Only once (1)1日1回 Once a day (2)1週間に1回 Once a week (3)1ヵ月に1回 Once a month (4)その他の周期 Other cycles (5)IPアドレス変化時 When IP address changes (6)起動時 Startup (P)戻る Return >76_14 ------------------------------------------------- 実行する周期を指定してください s77Please specify the cycle to run <現在:9> <Current: 9> (0)3分毎 Every 3 minutes (1)5分毎 Every 5 minutes (2)10分毎 Every 10 minutes (3)30分毎 Every 30 minutes (4)1時間毎 Every hour (5)2時間毎 Every 2 hours (6)6時間毎 Every 6 hours (7)12時間毎 Every 12 hours (8)24時間毎 Every 24 hours (9)7日毎 Every 7 days (10)14日毎 Every 14 days (11)21日毎 Every 21 days (12)28日毎 Every 28 days (13)35日毎 Every 35 days (14)56日毎 Every 56 days (15)84日毎 Every 84 days (N)変更しない Do not change (P)戻る Return >77_10 ================================================= ================================================= このイベントを有効にしますか? s78Enable this event? (Y/N) (イベントの有効/無効は"EN/DIS"コマンドで切替えられます) (Event enable/disable can be switched by "EN/DIS" command) >78_1Y ================================================= イベントを保存しますか? s79Save event? (Y/N) >79_1Y イベント"VALUE-DOMAIN-server.jp"を保存しました Saved event "VALUE-DOMAIN-server.jp" ================================================= :
s80Activate transfer and exit.
:80_1ex 0 + 4/8 17:00 にVALUEDOMAIN-server.jpが実行されました VALUEDOMAIN-server.jp was executed on 4/8 17:00 IPアドレスを更新しました Updated IP address :80_2quit
s81Change “Kanji(receive)” and “Kanji(transmit)” to UTF-8 and click “OK”.
その他の方法
IPアドレス更新スクリプトを作成します。
[root@www ~]# vi /usr/local/bin/update_ip_script.sh #!/bin/bash # Store your domain, password, hostname, and current IP address in variables DOMAIN=${1} PASS=${2} HOST=${3} # Store URLs and values in variables IPINFO_URL="http://ipinfo.io/ip" VD_UPDATE_BASE_URL="http://dyn.value-domain.com/cgi-bin/dyn.fcg" NS_SERVER="ns1.value-domain.com" # Store the DNS server address DOMAIN_LOG="d" PASS_LOG="p" HOST_LOG="h" CURRENTIP_LOG="i" if [ "${HOST}" = "" ]; then FQDN=${DOMAIN} else FQDN="${HOST}.${DOMAIN}" fi # Error Messages ERROR_MSG_VDIP="Error detecting IP address configured in VALUE-DOMAIN settings" ERROR_MSG_CURRENTIP="Error detecting current IP address" UPDATE_SUCCESS_MSG="IP address update successful" UPDATE_ERROR_MSG="IP address update error" EMAIL_SUBJECT="IP address update error" # Obtain IP address configured in VALUE-DOMAIN settings IPGETLOG=`host ${FQDN} ${NS_SERVER} 2>&1` VDIP=`echo "${IPGETLOG}" | grep "has address" | awk '{ print $NF }' | egrep ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$` if [ $? -ne 0 ]; then echo "${FQDN} ${ERROR_MSG_VDIP}" | logger -t $(basename $0) echo ${IPGETLOG} | logger -t $(basename $0) exit fi # Obtain current IP address IPGETLOG=`curl "${IPINFO_URL}" 2>&1` echo "${IPGETLOG}" | egrep ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ > /dev/null 2>&1 if [ $? -eq 0 ]; then CURRENTIP=`echo "${IPGETLOG}" | tail -n 1 | awk '{ print $NF }'` else echo "${DOMAIN} ${ERROR_MSG_CURRENTIP}" | logger -t $(basename $0) echo "${IPGETLOG}" | logger -t $(basename $0) exit fi # Create URL query parameters QUERY_PARAMS="${DOMAIN_LOG}=${DOMAIN}&${PASS_LOG}=${PASS}&${HOST_LOG}=${HOST}&${CURRENTIP_LOG}=${CURRENTIP}" # Combine with the base URL for VALUE-DOMAIN update VD_UPDATE_URL="${VD_UPDATE_BASE_URL}?${QUERY_PARAMS}" # Update VALUE-DOMAIN configured IP address # (Only if VALUE-DOMAIN configured IP address is different from current IP address) if [ "${VDIP}" != "${CURRENTIP}" ]; then IPUPDATE=`wget -q -O - "${VD_UPDATE_URL}"` echo ${IPUPDATE} | grep -q OK if [ $? -eq 0 ]; then echo "${FQDN} ${UPDATE_SUCCESS_MSG} ${VDIP} to ${CURRENTIP}" | logger -t $(basename $0) else echo "${FQDN} ${UPDATE_ERROR_MSG}" | logger -t $(basename $0) echo ${IPUPDATE} | logger -t $(basename $0) ( echo ${UPDATE_ERROR_MSG} echo ${IPUPDATE} ) | mail -s "${SCRIPT##*/}${EMAIL_SUBJECT}" root exit 1 fi fi exit
IPアドレス更新スクリプトへ実行権限付加します。
[root@www ~]# chmod +x /usr/local/bin/update_ip_script.sh
IPアドレス更新スクリプトを実行します。
[root@www ~]# /usr/local/bin/update_ip_script.sh ドメイン パスワード "*"
IPアドレス更新スクリプトを定期自動実行ファイルを作成します。(3分毎に実行します。)
[root@www ~]# vi /etc/cron.d/ddns-update */3 * * * * root /usr/local/bin/update_ip_script.sh ドメイン パスワード "*"
コメント