Fedora36: Domain settings

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”.

「漢字-受信」、「漢字-送信」をEUCに変更し、「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”.

「漢字-受信」、「漢字-送信」をUTF-8に変更し、「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 ドメイン パスワード "*"

コメント

タイトルとURLをコピーしました