DDNSサービスのMyDNSを使って無料で自宅サーバとVPSのDNS登録してみた
はじめに
固定IPでない自宅サーバへ固定のDNS名でアクセスしたいと思い、DDNS(ダイナミックDNS)サービスであるMyDNSを使ったときの備忘録です。
また、何度も作り直すことが多いVPSサーバも固定のDNS名でアクセスできるようにしてみました。
MyDNSとは
- DDNS(ダイナミックDNS)サービスを無料で提供している。
- いくつかのドメイン(mydns.jp など15個ぐらい)のサブドメインが無料で使える。
- 自分で取得した独自ドメインの登録して利用することもできる。
DDNS(ダイナミックDNS)とは
IPアドレス情報を通知することで、動的にDNSサーバの設定を変更して固定のDNS名でアクセスできるようにする仕組みです。
MyDSNでは、POP3, IMAP4, FTP, HTTPを使った通知方法が提供されています。
MyDNS使い方
MyDNS.JPのページに詳細な使い方が記載されています。
Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP
ユーザ登録(MasterIDの発行)
まず、JOIN USにアクセスしてユーザ登録しましょう。
ユーザ登録が完了すると、メールにてID(MasterID)とパスワードが発行されます。 この情報は、MyDSN.JPにログインしたりIPアドレスを通知する際に必要になりますので大事に保管しましょう。
また、後にドメイン登録について説明しますが、1つのMasterIDに対して1つのドメインが利用できるようになります。
ChildIDの発行
次に、MasterIDにぶら下がるChildIDというものを発行します。
このChildIDは、MasterIDで設定したドメイン配下で、追加のIPをDNS設定するために使います。
たとえば、自宅のIPは "myhome.ドメイン名" に設定し、VPSのIPは "www.ドメイン名" のようにDNS設定する際に必要になります。
ではMasterIDでMyDNS.JPにログインして、USER INFOにアクセスします。
子ID関連という箇所があるので、必要な子ID(通知するIP)の数を設定します。デフォルトでは 0 になっています。
設定が完了すると、メールにてChildIDとそのパスワードが送られてきます。
ドメイン登録
それでは、引き続きログインした状態でDOMAIN INFOにアクセスします。
先にも記載しましたが、1つのMasterIDに対して1つのドメインが利用できます。
今回はすべて無料で実現したいので、MyDNSが提供しているドメインから、空いているサブドメインを利用してドメイン登録します。
各入力フォームに対して下記を参考に設定していきます。
Domain* : (FQDN)
MX : (Hostname, Priority. FQDN)
未入力の場合は Domain に入力したドメイン名が設定される
Hostname, Type, Content, Delegateid or your id. (Hostname is not FQDN)
設定できたら、再度 USER INFO にアクセスしてみましょう。
ページ下部にChildID一覧が表示されており、先ほどドメイン登録で設定したChildIDについて、DNS名が表示されているはずです。
IPアドレスの通知
MyDNS側の設定が完了したので、あとはIPアドレスを通知してDNS設定しましょう。
ここでは、HTTPのベーシック認証を利用した方法でやってみます。 この方法では、MyDNSにHTTPでアクセスした際の接続元IPが通知され、BASIC認証時に利用したIDに登録されているDNS名に設定されます。
下記に curl を使った方法を記載します。
$ curl -s -u {{ MasterID or ChildID }}:{{ IDに対するパスワード }} https://ipv4.mydns.jp/login.html
下記のようなレスポンスが帰ればDNS登録完了です。
<html> <head> <title>Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <LINK href="./site.css" rel=stylesheet type=text/css> </head> <BODY BGCOLOR="#FFFFFF" TEXT="#304040" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" > Login and IP address notify OK.<BR> login_status = 1.<BR> <BR> <DT>MASTERID :</DT><DD>XXXXXXXXXX</DD> <DT>REMOTE ADDRESS:</DT><DD>xxx.xxx.xxx.xxx</DD> <DT>ACCESS DAYTIME:</DT><DD>2017/10/31 16:57</DD> <DT>SERVER ADDRESS:</DT><DD>163.44.151.204</DD> <BR> </body> </html>
あとは、cronなどに仕掛けて定期的に通知させるようにしましょう。
まとめ
MyDNSのサービスを利用して、動的にIPが変わりやすい自宅サーバとVPSサーバを固定ドメイン名でアクセスできるようにしてみました。
VPSサーバで作り直すたびにIPが変わっても、構築時にcron登録してワンショット実行すれば、常に同じDNS名で新しいVPSサーバにアクセスできるようになります。