はじめに
自宅サーバーを外部に公開する場合、外部のDNSサーバーに自宅サーバーのIPアドレスを登録しておく必要がありますが、固定IPを取得していない場合、DynamicDNSを利用します。
今回は、国内では比較的メジャーなmydns(無償)を利用して、DynamicDNSを設定してみましょう。
ミッション
- CentOSのcronにmydnsのIPアドレス更新シェルを登録する
- 動作確認する
条件
- (独自ドメインが必要であれば)お名前.com等で独自ドメインを取得済みであること
- mydnsのアカウントを取得済みであること
- mydnsにAレコードを設定済みであること
※独自ドメインの取得方法、mydnsの登録方法は割愛します。
やってみた
CentOSのcronにmydnsのIPアドレス更新シェルを登録する
まずは、mydnsのIPアドレス更新シェルを作成します。
登録方法はいろいろ(POP3,FTP,HTTP-BASIC等)あるようですが、ここではHTTP-BASICを利用したいと思います。
#!/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アドレスを確認する事もできます。
何かサーバーソフトウェアが起動していれば、スマホなどグローバルネットワーク経由でドメイン名を指定してアクセスできれば成功ですね!