MyDNSでダイナミックDNSの利用

2018-11-28 16:29:23

無料で利用できるMyDNSのサービスを利用して、サーバにドメイン名をつける方法を解説する

MyDNSの利点は、動的IPでもドメイン名とIPアドレスを関連付けられることだ
 
AdSenseを利用しようと思っている場合、MyDNSの無料ドメインでは審査が通らないので独自ドメインが必要となる
独自ドメインを安く取得したい場合は一年目の価格が安いお名前.comをおすすめする
取得した独自ドメインをMyDNSに持ち込むことも可能だ

ダイナミックDNSとは

2018-11-28 16:29:50

動的IPとドメイン名を結びつけるための仕組み
DDNSを提供するアドレスへ、一定期間ごとにIPを通知することで成り立つ

ユーザ登録

2018-11-28 16:30:12

MyDNSのサイトへ移動し、「JOIN US」からユーザ登録を行う

結びつけるIP一つごとに一つアカウントが必要となる
30日更新通知を行わないとアカウントは削除される


利用するドメインの設定

2018-11-28 16:30:52

ユーザ登録するとメールでIDとパスワードが送られてくる

両方とも自分で変更することはできない

ログインしたら、「DOMAIN INFO」を選ぶ
最初の方に使用可能なドメイン名の一覧があるので、好きなものを選ぶ

下の方までスクロールすると以下の項目があるので、選んだドメイン名を入力する
Domain* : (FQDN)
選んだドメイン名のうち???の部分は自分でオリジナルの名前をつける

名前がかぶっていなければ設定できる。さらに以下の項目を設定する
Hostname*, Type*, Content, Delegateid or your id. (Hostname is not FQDN)

アスタリスクを設定することによって、一つ一つ設定しなくても複数のサブドメインに対応できる

通知コマンド

2018-11-28 16:31:14

サーバからIPアドレスを通知するためには以下のコマンドを使う
curl -o /dev/null -s --user ID:PASS https://www.mydns.jp/login.html
もちろんIDとPASSはメールで受け取ったものと差し替える

MyDNS側のLOG INFOIPv4 UPDATEという表示が入っていれば成功だ
IP登録情報にサーバのIPが表示されているはずだ

サーバ上で以下のコマンドを入力し正引きが可能か確認する
dig ドメイン名

これでIPアドレスが返ってくれば問題ない
もし駄目なようなら以下のようにして再度コマンドを実行する

nslookup ドメイン名 ns1.mydns.jp

MyDNSのサーバに直接問い合わせている
最初のコマンドが駄目でこれで通るようなら、駄目な情報がGCEのDNSサーバにキャッシュされてしまっている
キャッシュが更新されるまで数分待つ必要がある

自動通知

2018-11-28 16:32:00

cronで定期実行するため、以下のファイルを作成する
CentOSの場合は*.confという名前にしていたが、ubuntuではファイル名に拡張子はつけない

/etc/cron.d/ddns
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
@reboot          root sleep 5;curl -o /dev/null -s --user ID:PASS https://www.mydns.jp/login.html
*/10  *  *  *  * root curl -o /dev/null -s --user ID:PASS https://www.mydns.jp/login.html 

起動時と10分ごとに通知を行う設定である
有効にするには以下のコマンドを使う
systemctl reload cron