昨日はグローバル IP での接続に成功した。今日はDDNS(ダイナミック DNS)を使ってドメイン名で接続することに挑戦する。
無料の DDNS にはいくつか選択肢があるけど、日本語であること、更新に専用のクライアントソフトが不要であること、が決め手となって MyDNS.JP を利用することにした。
ユーザ登録(マスターIDの発行)
まずはユーザ登録。↓このページの JOIN US から登録ページに入る。
名前とかメールアドレスとかを入力して CHECK をクリックすると、確認画面になる。登録するドメイン名は1つなので子 ID の数は 0 のまま OK をクリック。すると登録したメールアドレスにマスター ID とパスワードが送られてくる。
ドメインの登録
送られてきたマスター ID とパスワードでログイン。DOMAIN INFO からドメインの登録ページに進んで、登録する。Domain 欄には希望するドメイン名(FQDN)、MX 欄は空欄、その下にはホスト名、A、マスター IDを設定。ドメインは無料で使える mydns.jp のサブドメインにした。CHECK →OK とクリックして登録完了。
IPアドレスの通知
ドメインの登録はできたはずなので、使用している IP アドレスの通知をする。通知の方法はいくつかあるけど、HTTP-BASIC を利用することにした。
[takatoh@bigswifty ~]$ wget -O - --http-user マスターID --http-password パスワード http://www.mydns.jp/login.html
↓こんな感じのレスポンスが返ってくれば OK。
<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>mydnsxxxxxx</DD> <DT>REMOTE ADDRESS:</DT><DD>xxx.xxx.xxx.xxx</DD> <DT>ACCESS DAYTIME:</DT><DD>2018/12/12 19:42:26 UTC</DD> <DT>SERVER ADDRESS:</DT><DD>168.235.75.38</DD> <BR> </body> </html>
確認
他のマシンから、ドメイン名でアクセスできるか確認したところ、ちゃんとアクセスできた。
cronで自動通知
最後に、cron を使って自動でアドレスを通知するようにする。とりあえず↓こんなスクリプトをかいて、
#!/usr/bin/sh wget -O - --http-user マスターID --http-password パスワード http://www.mydns.jp/login.html > /dev/null 2> /dev/null
実行権限を付与、毎時 0 分と 30 分に実行するように cron を設定した。
[takatoh@bigswifty ~]$ crontab -l
0,30 * * * * /home/takatoh/bin/mydns_update.sh
これで完了。