23
27

More than 3 years have passed since last update.

MyDNSのIP自動更新

Posted at

はじめに

自宅サーバーにドメインアクセスできるよう、DDNSサービスであるMyDNSを利用することにしました。MyDNSへ、自動的にIPを通知するために、2つの方法を試したので、解説します。

MyDNSのIP通知方法

MyDNSへIPアドレスを通知するには、HTTPで、以下のURLにベーシック認証でアクセスするだけです。

https://www.mydns.jp/login.html

ベーシック認証のユーザー、パスワードは、MyDNSに登録した際に通知されたマスターID、パスワードを使用します。
IPアドレスを定期的に通知するには、なんらかの方法で、以下のcurlコマンドを定期実行すればよいだけです。

curl -u master_id:password https://www.mydns.jp/login.html

※MyDNSでは、上記以外にもIP通知の方法があります。詳しくは公式サイトの「STEP 4. Send IP ADDRESS」を確認してください。

cronによる定期更新

cronで定期実行する場合は、以下のようなエントリをcronに登録します。

crontab -e
# 毎日01:00にIPアドレスを通知する
0 1 * * * curl -u master_id:password https://www.mydns.jp/login.html

systemd timerによる定期実行

CentOS 7以降でサービスの管理で使うsystemdには、timerという定期実行の仕組みがあるので、それを使うこともできます。

/etc/systemd/system/mydns.service
[Unit]
Description=MyDNS IP Update

[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c 'curl -u master_id:password https://www.mydns.jp/login.html'
/etc/systemd/system/mydns.timer
[Unit]
Description=Run mydns.service at 01:00

[Timer]
OnCalendar=01:00

mydns.serviceで、実行するコマンドの内容を定義して、mydns.timerで、スケジュールを定義する感じです。
あとは、作成したmydns.timerを有効化して起動すれば良いです。

sudo systemctl enable mydns.timer
sudo systemctl start mydns.timer

参考サイト

23
27
0

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
23
27