ドメイン名取得(MyDNS.JP編)

最終更新日: 2018.07.17

■概要

外部からcentossrv.mydns.jpという名前(ドメイン名)でサーバーにアクセスできるようにするため、ドメイン名を取得する。
ここではMyDNS.JPのサービスを利用してcentossrv.mydns.jpというドメイン名を取得する。

※centossrv.mydns.jpは当サイトの例なので、各自で置き換えること


■ドメイン名取得

(1)ユーザー登録
JOIN USでユーザー登録する。

氏名:自分の氏名を入力
国名:国名を選択
住所:自分の住所を入力
電話番号:自分の電話番号を入力
メール1:自分のメールアドレスを入力
確認用キーを入力して「CHECK」ボタン押下
入力内容を確認して「OK」ボタン押下

登録したメールアドレス宛にMasterIDとPasswordが通知されてくるので確認する。

(2)ドメイン名取得
User LoginでLOGINする。

DOMAIN INFOでドメイン情報を登録する。

Domain:希望するドメイン名を入力※例:centossrv.mydns.jp
「CHECK」ボタン押下
入力内容を確認して「OK」ボタン押下

■IPアドレスの自動更新

非固定IPアドレス環境の場合、不定期にIPアドレスが変わってしまうが、IPアドレスがMyDNS.JPに登録したIPアドレスと変わってしまうとcentossrv.mydns.jpでサーバーにアクセスできなくなってしまう。
そこで、定期的にIPアドレスの変更をチェックし、IPアドレスが変更されていた場合は自動でMyDNS.JPへ新しいIPアドレスを登録するようにし、常にcentossrv.mydns.jpでサーバーにアクセスできるようにする。
また、1週間以上IPアドレスが変わらない場合または、固定IPアドレス環境の場合、1週間以上IPアドレスの更新を行わないとエラーとなってしまう。このため、1週間に一度自動MyDNS.JPへ新しいIPアドレスを通知するようにする。

(1)IPアドレス更新スクリプト作成
[root@centos ~]# vi /usr/local/bin/ddns-update.sh ← IPアドレス更新スクリプト作成
#!/bin/bash

SCRIPT=${0}
MID=${1}
PASS=${2}
DOMAIN=${3}

# MyDNS.JP設定IPアドレス取得
IPGETLOG=`host ${DOMAIN} ns0.mydns.jp 2>&1`
MYDNSIP=`echo "${IPGETLOG}" | grep "has address" | awk '{ print $NF }' | egrep ^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$`
[ $? -ne 0 ] && MYDNSIP=0.0.0.0

# 現在IPアドレス取得
IPGETLOG=`curl ipinfo.io/ip 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} 現在IPアドレス検出エラー" | logger -t $(basename $0)
    echo "${IPGETLOG}" | logger -t $(basename $0)
    exit
fi

# MyDNS.JP設定IPアドレス更新
# (MyDNS.JP設定IPアドレス≠現在IPアドレスの場合またはIPアドレス強制更新指定のみ)
if [ "${MYDNSIP}" != "${CURRENTIP}" ] || [ $# -eq 4 ]; then
    IPUPDATE=`wget -q -O - "https://www.mydns.jp/directip.html?MID=${MID}&PWD=${PASS}&IPV4ADDR=${CURRENTIP}"`
    echo ${IPUPDATE} | grep -q OK
    if [ $? -eq 0 ]; then
        echo "${DOMAIN} IPアドレス更新成功 to ${CURRENTIP}" | logger -t $(basename $0)
    else
        echo "${DOMAIN} IPアドレス更新エラー" | logger -t $(basename $0)
        echo ${IPUPDATE} | logger -t $(basename $0)
        (
        echo IP ADDRESS UPDATE ERROR
        echo ${IPUPDATE}
        ) | mail -s "${SCRIPT##*/} ERROR" root
        exit 1
    fi
fi

exit


[root@centos ~]# chmod +x /usr/local/bin/ddns-update.sh ← IPアドレス更新スクリプトへ実行権限付加

(2)IPアドレス更新スクリプト実行
[root@centos ~]# /usr/local/bin/ddns-update.sh MasterID Password centossrv.mydns.jp 1 ← IPアドレス更新スクリプト実行
※IPアドレス更新結果は/var/log/messagesに保存される

(3)IPアドレス更新スクリプト定期自動実行設定
[root@centos ~]# vi /etc/cron.d/ddns-update ← IPアドレス更新定期自動実行設定ファイル作成
*/10 * * * * root /usr/local/bin/ddns-update.sh MasterID Password centossrv.mydns.jp
※10分毎にIPアドレス更新スクリプトを実行する

[root@centos ~]# vi /etc/cron.weekly/ddns-update ← IPアドレス更新スクリプト週次自動実行スクリプト作成
#!/bin/bash
/usr/local/bin/ddns-update.sh MasterID Password centossrv.mydns.jp 1

[root@centos ~]# chmod +x /etc/cron.weekly/ddns-update ← IPアドレス更新スクリプト週次自動実行スクリプトへ実行権限付加

■ドメイン名確認

設定したサーバー名で外部からアクセスできるか確認する。
※ドメイン取得後24〜48時間程度経過後に行うこと(すぐアクセスできる場合もある)

Free Monitoring Test Toolsの「Select Test Type」欄で「HostName Test」を選択、「Enter Test Target」欄に設定したサーバー名(例:centossrv.mydns.jp)を入力して「Perform Test」ボタンを押下する。

以下のような結果が表示されればOK
Hostname test results

Domain name tested: centossrv.mydns.jp
Test performed from: Washington, DC
Test performed at: Thu, 02 Nov 2006 00:45:01 GMT
Known IP Addresses: XXX.XXX.XXX.XXX


■関連コンテンツ




▲このページのトップへ戻る

ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします