CentOS7でcronを使ってmydnsのDynamicDNSを更新する

More than 1 year has passed since last update.


はじめに

自宅サーバーを外部に公開する場合、外部のDNSサーバーに自宅サーバーのIPアドレスを登録しておく必要がありますが、固定IPを取得していない場合、DynamicDNSを利用します。

今回は、国内では比較的メジャーなmydns(無償)を利用して、DynamicDNSを設定してみましょう。


ミッション


  1. CentOSのcronにmydnsのIPアドレス更新シェルを登録する

  2. 動作確認する


条件


  • (独自ドメインが必要であれば)お名前.com等で独自ドメインを取得済みであること

  • mydnsのアカウントを取得済みであること

  • mydnsにAレコードを設定済みであること

※独自ドメインの取得方法、mydnsの登録方法は割愛します。


やってみた


CentOSのcronにmydnsのIPアドレス更新シェルを登録する

まずは、mydnsのIPアドレス更新シェルを作成します。

登録方法はいろいろ(POP3,FTP,HTTP-BASIC等)あるようですが、ここではHTTP-BASICを利用したいと思います。


mydns.cron

#!/bin/bash

wget --http-user=mydnsXXXXXXXX --http-passwd=password http://ipv4.mydns.jp/login.html -O /dev/null


ってかHTTPSでないのはなんでだぜ・・・

wgetコマンドがインストールされていない場合は、yumコマンドでインストールしましょう。

# yum -y install wget

次に、cronに設定します。

crontabに登録するのでも良いのですが、ここは便利なcron.dailyディレクトリを使ってみます。

といっても、/etc/cron.dailyにシェルを置くだけですが。。。

# ll /etc/cron.daily/mydns.cron

-rwxr-xr-x 1 root root 114 11月 12 21:07 mydns.cron

rootに実行権限を付与するのを忘れずに


動作確認する

cron.dailyが実行されるのを待つか、直接mydns.cronを実行してみます。

登録に成功すれば、mydnsの管理画面にIPアドレスが設定されている事が確認できると思います。

または、nslookupコマンドでIPアドレスを確認する事もできます。

何かサーバーソフトウェアが起動していれば、スマホなどグローバルネットワーク経由でドメイン名を指定してアクセスできれば成功ですね!