ラウンドロビンを採用するNTPサーバのYAMAHAルータへのフィルタリング設定

記事の更新日:2026/09/29 評価を加筆

1.概要

NTPサーバへのアクセスの規定値を変更しました。また、この設定でYAMAHAルータ上でNTPへのアクセス制御をfilter定義も実施したいと考えて、ドメイン名の定義設定をしました。ntp.jst.mfeed.ad.jpのfiller設定をYAMAHAルータ(RTX)に実施したのですが、NTP同期ができなくなりました。正確にはできない場合とできる場合が起きていました。

原因を調べた結果、ntp.jst.mfeed.ad.jpには3台のNTPサーバが準備されており、同一ドメイン名でラウンドロビン方式で分散アクセス設定されていました。ラウンドロビン方式のURLをfilter設定をしたのは初めてのことです。この場合、全ての候補をfiltter許可設定しなければ、正しいアクセス制御ができないとわかりました。その内容を記述します。

私の評価は以下の通りです。

(1) 有名なNTPサーバがラウンドロビン方式で運営されていると知りませんでした
(2) YAMAHAのルータで単純なフィルタリングをすると問題が発生します
(3) 動作する場合と動作しない場合が起きてしまい原因を調べることに時間が必要でした
(4) 現在のネットは、53/udp, 123/udp, 443/tcpが通ると動作します。NTPは認証に必須です

2.詳細

ntp.jst.mfeed.ad.jpはDNSラウンドロビンの設定で下記URLを利用しています。

ntp1.jst.mfeed.ad.jp
ntp2.jst.mfeed.ad.jp
ntp3.jst.mfeed.ad.jp

NTPへのアクセス制御にntp.jst.mfeed.ad.jpを設定したために、常にNTP同期できなくなってしまいました。クライアント側にもntp.jst.mfeed.ad.jpを設定したのが理由です。RTX側がフィルタリングしたNTPサーバとクライアントがアクセスするNTPサーバが一致しなかったと思われます。

具体的には、YAMAHA上に設定したntp.jst.mfeed.ad.jpは設定したタイミングでntp1.jst.mfeed.ad.jpのip-addressとラウンドロビン設定が一致していたとします。つまり、この時点でntp.jst.mfeed.ad.jpは、ntp1.jst.mfeed.ad.jpと認識されて設定されてしまいntp2.jst.mfeed.ad.jpやntp3.jst.mfeed.ad.jpはフィルタリングされてアクセスできません。

クライアント側はntp.jst.mfeed.ad.jpを設定しているので、ラウンドロビンに従ってアクセスしたタイミングでntp1.jst.mfeed.ad.jp、ntp2.jst.mfeed.ad.jp、ntp3.jst.mfeed.ad.jpに分散されます。想定したとおりの機能ですが、YAMAHAルータ側のフィルタリングの影響で3回に1回しか成功しません。それでも成功するので時刻同期もされ、問題に気が付きません。

これを回避するには、上記ラウンドロビンの3つのURLをRTXのフィルタリング設定で通過を許可して、クライアント側はntp.jst.mfeed.ad.jpを設定してラウンドロビンでどのNTPサーバを選択しても通過するようにする必要がありました。

NTPサーバがラウンドロビン方式を利用している事例は、このサイトが初めてであったと思います。この事例から1回の試験で問題なく設定できたと言えども、環境条件が変わることで問題が起きる場合があることを勉強する機会になりました。

3.所見

このエラーは原因がわかりませんでした。ntp.jst.mfeed.ad.jpはラウンドロビンの設定になっていることを知らなかったので、調べてみて初めて原因がわかりました。同一ドメイン名のサーバがラウンドロビンの場合は、IPアドレスが個別に変わってしまうので、filter定義によるアクセス制御が働いて、アクセスできないことになっていました。

原因調査が難しかったのは、アクセスできる場合があったためです。ラウンドロビンの組み合わせがマッチして、アクセスできる場合があったため問題の特定が困難でした。当初、設定した直後の試験で問題なく同期できていたことが、問題を難しくしました。別の問題のために同期できないと思い原因を調べることをしていました。

参考

[本ブログ内参照]
[外部サイト参照]

コメント