aoishiの備忘録

備忘録

DDNSサービスのMyDNSを使って無料で自宅サーバとVPSのDNS登録してみた

はじめに

固定IPでない自宅サーバへ固定のDNS名でアクセスしたいと思い、DDNS(ダイナミックDNS)サービスであるMyDNSを使ったときの備忘録です。

また、何度も作り直すことが多いVPSサーバも固定のDNS名でアクセスできるようにしてみました。

MyDNSとは

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)

    希望のドメイン名を入力する。例 {{ 希望のサブドメイン名 }}.mydns.jp など

  • MX : (Hostname, Priority. FQDN)

    未入力の場合は Domain に入力したドメイン名が設定される

  • Hostname, Type, Content, Delegateid or your id. (Hostname is not FQDN)

    • MasterIDと同じIPをDNS設定する場合は、ホスト名, A、MasterIDを選択する。
    • MasterIDと異なるIPをDNS設定する場合は、ホスト名, DELEGATE, 対象のChildIDを選択する。

設定できたら、再度 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サーバにアクセスできるようになります。