#author("2018-08-16T17:00:33+09:00","","")

#author("2018-08-16T17:00:53+09:00","","")

[[CentOS7]]

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

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

''&color(red){※hogehoge.mydns.jpは例なので、各自で置き換えること};''

**ドメイン名取得 [#g2c1237d]
***ユーザー登録 [#a36c6801]
''[[JOIN US>https://www.mydns.jp/?MENU=010]]'' でユーザー登録する。

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

**ドメイン名取得 [#q2ce6df4]
+''[[User Login>https://www.mydns.jp/]]''で''LOGIN''する。
+''[[DOMAIN INFO>https://www.mydns.jp/?MENU=300]]''でドメイン情報を登録する。
+''Domain'':希望するドメイン名を入力 &color(red){※例:hogehoge.mydns.jp};
+「CHECK」ボタン押下
+入力内容を確認して「OK」ボタン押下

**IPアドレスの自動更新 [#ncb91f71]
非固定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アドレス更新スクリプト作成 [#ec848f49]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /usr/local/bin/ddns-update.sh &color(lime){← 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

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# chmod +x /usr/local/bin/ddns-update.sh &color(lime){← IPアドレス更新スクリプトへ実行権限付加};|

**IPアドレス更新スクリプト実行 [#b449b46e]
|BGCOLOR(black):COLOR(white):|c
|[root@centos ~]# /usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp 1 &color(lime){← IPアドレス更新スクリプト実行};|

**IPアドレス更新スクリプト定期自動実行設定 [#c9bd2df2]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /etc/cron.d/ddns-update &color(lime){← IPアドレス更新定期自動実行設定ファイル作成};|
|*/10 * * * * root /usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp &color(lime){※10分毎にIPアドレス更新スクリプトを実行する};|
|[root@localhost ~]# vi /etc/cron.weekly/ddns-update &color(lime){← IPアドレス更新スクリプト週次自動実行スクリプト作成};|

 #!/bin/bash
 /usr/local/bin/ddns-update.sh MasterID Password hogehoge.mydns.jp 1

|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# chmod +x /etc/cron.weekly/ddns-update|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS