LoginSignup
5

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-02-28

はじめに

自宅サーバーを外部に公開する場合、外部の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アドレスを確認する事もできます。

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5