CentOS7

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

外部からhogehoge.mydns.jpという名前(ドメイン名)でサーバーにアクセスできるようにするため、ドメイン名を取得する。

ここではMyDNS.JPのサービスを利用してhogehoge.mydns.jpというドメイン名を取得する。

※hogehoge.mydns.jpは例なので、各自で置き換えること

ドメイン名取得

ユーザー登録

JOIN US でユーザー登録する。

  1. 氏名:自分の氏名を入力
  2. 国名:国名を選択
  3. 住所:自分の住所を入力
  4. 電話番号:自分の電話番号を入力
  5. メール1:自分のメールアドレスを入力
  6. 確認用キーを入力して「CHECK」ボタン押下
  7. 入力内容を確認して「OK」ボタン押下
  8. 登録したメールアドレス宛にMasterIDPasswordが通知されてくるので確認する。

ドメイン名取得

  1. User LoginLOGINする。
  2. DOMAIN INFOでドメイン情報を登録する。
  3. Domain:希望するドメイン名を入力 ※例:hogehoge.mydns.jp
  4. 「CHECK」ボタン押下
  5. 入力内容を確認して「OK」ボタン押下

IPアドレスの自動更新

非固定IPアドレス環境の場合、不定期にIPアドレスが変わってしまうが、IPアドレスがMyDNS.JPに登録したIPアドレスと変わってしまうとhogehoge.mydns.jpでサーバーにアクセスできなくなってしまう。

そこで、定期的にIPアドレスの変更をチェックし、IPアドレスが変更されていた場合は自動でMyDNS.JPへ新しいIPアドレスを登録するようにし、常にhogehoge.mydns.jpでサーバーにアクセスできるようにする。

また、1週間以上IPアドレスが変わらない場合または、固定IPアドレス環境の場合、1週間以上IPアドレスの更新を行わないとエラーとなってしまう。このため、1週間に一度自動MyDNS.JPへ新しいIPアドレスを通知するようにする。

IPアドレス更新スクリプト作成

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

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

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

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

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@localhost ~]# chmod +x /usr/local/bin/ddns-update.sh ← IPアドレス更新スクリプトへ実行権限付加

IPアドレス更新スクリプト実行

[root@centos ~]# /usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp 1 ← IPアドレス更新スクリプト実行

IPアドレス更新スクリプト定期自動実行設定

[root@localhost ~]# vi /etc/cron.d/ddns-update ← IPアドレス更新定期自動実行設定ファイル作成
*/10 * * * * root /usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp ※10分毎にIPアドレス更新スクリプトを実行する
[root@localhost ~]# vi /etc/cron.weekly/ddns-update ← IPアドレス更新スクリプト週次自動実行スクリプト作成
#!/bin/bash
/usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp 1
[root@localhost ~]# chmod +x /etc/cron.weekly/ddns-update

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-16 (木) 17:00:54