Tech Note Plus

PC から Azure まで幅広い伝道を目指してます

OpenWrt で DDNS (MyDNS.JP) を試す!

この記事では OpenWrt の DDNS に関する設定を記載しています。なお、DNS プロバイダーは MyDNS.JP となります。

DDNS に求める要件

やりたいこと

実家は V6 プラスの非固定グローバルアドレスしか持っていないため、名前で環境に接続しようとすると DDNS が必要となります。 将来的な OpenWrt への入れ替えも視野に入れているため、試すだけ試して将来に備えます。

OpenWrt における DDNS の実装方法

OpenWrt では追加のモジュールを導入して設定をすることで、DDNS を構成できます。

DDNS の設定方法

MyDNS.JP でのアカウント登録
  1. MyDNS.JP (join us) から新規にアカウントを開設します。
MyDNS.JP でのドメインとレコード設定
  1. [Domain Info] Domain を設定してドメイン名を決定します。
  2. [Domain Info] Hostname (最低でも、*/A レコード) を設定して名前解決に対して応答可能にします。 ※ * は、ホスト名を省略した場合 (つまり、ドメイン名そのもの) のレコードを意味します。
    ※ A は、その際に IPv4 のアドレスを返す設定です。ちなみに、AAAA は IPv6 のアドレスです。
  3. [Domain Info] 確認を押して設定を反映します。
DDNS、管理画面(日本語化含む)
  1. [システム]-[ソフトウェア] フィルターddns-scripts と入力し、インストール を押します。
    ※ 一度 OS を再起動してしまうとパッケージリストの取り直しが必要なので、その場合は「リストを更新..」を実施してください。
  2. 依存関係の確認が行われるので インストール を押します。
  3. パッケージが読み込まれるので、閉じる を押します。
  4. 1-3 を繰り返します。パッケージ名は luci-app-ddns です。最近のアップデートなのか言語ファイルは本体のモジュールのインストール時に Suggest ってでて既定でチェック済みなので一緒にインストールしてくれるようになったようです。
  5. ログアウトすると、画面上部に [サービス]-[Dynamic DNS] が出現します。今回は、デフォルトで入っている 2 つのサンプルを修正して利用します。
DDNS の設定
  1. [サービス]-[Dynamic DNS]-[サービス]-[myddns_ipv4 (編集)] 以下の設定を行い、Switch service を押します。

    設定項目 設定値
    Lookup Hostname 取得したドメイン
    DDNS Service provider mydns.jp

  2. [サービス]-[Dynamic DNS]-[サービス]-[myddns_ipv4 (編集)]-[Basic Settings] 以下の設定を行い、保存 → 保存&適用 を押します。 なお、既定の設定で wan ネットワーク上のグローバルアドレスを通知する設定ですので問題のある方は詳細設定タブも修正してください。

    設定項目 設定値
    ドメイン 取得したドメイン
    ユーザー名 MyDNS.JP から発行されたログインユーザー名
    パスワード MyDNS.JP から発行されたログインパスワード
    Use HTTP Secure チェック (任意) ※
    CA 証明書のパス IGNORE (任意) ※

    ※ 更新時に HTTPS を用いる設定と接続時に証明書を用いるかという設定です。

  3. [サービス]-[Dynamic DNS]-[サービス]-[myddns_ipv4] リロードを行い、表示が更新されることを確認します。ステータスが Running に変わり、プロセス ID が表示され、Last/Next Update に時刻が表示されます。

  4. MyDNS.JP 側の [IP ADDR DIRECT] IPv4 Address で値を確認できます。

DDNS (IPv6) の設定 (任意)

基本的には IPv4 の場合と全く同じやり方でサンプルを修正することで設定可能です。

  • MyDNS.JP でのドメインとレコード設定において AAAA レコードを定義しておく
  • 修正する定義は myddns_ipv6
  • 通知されるネットワークは既定で wan6 なので問題がある場合には修正する

その他

OS を再起動すると DDNS が動かない?

私の環境でも発生しましたし、海外のコミュニティでも同様の問題が挙げられているようで、 スタートアップで /etc/init.d/ddns restart を実行すれば回避できるということでした。 が、既存のサンプル定義を流用した場合そもそもこの問題が起こらないように見えました。。。ご参考までに。

IPv4 定義における GUI のバグ?

uci コマンドや設定ファイルを vi エディタで修正することで GUI を使わずに設定することが可能です。 もちろん動作します。が、一度設定した後に GUI で設定を見ようとするとおかしなことになります。

  • CLI で設定
  • GUI で確認 (なぜか Switch service を再度押させられる → 設定した内容が消えているように見える)
  • 保存してしまうと設定した定義が本当に消える

これを防ぐためには、IPv4 の場合は use_ipv6 パラメーターを "0" として設定しておくと良いです。 デフォルトの IPv6 の定義の場合、use_ipv6 が "1" で設定されているからかこの問題は起きませんが、作り直す際には気を付けた方がよいです。

設定のための参考サイト

設定に当たっては、以下の情報を参考にしました。

openwrt.org

OpenWrt の DDNS 設定を終えて

こうして OpenWrt を使って DDNS で動的な名前解決が可能になりました。実家の入れ替えも近い?


Note
・ 当ブログは個人主催であり、ブログ中のすべての情報は個人的な観点となります。
・ 情報については正確な内容となるよう努めますが、完全性や正確性、有用性、安全性、最新性について一切保証できかねます。