2017/05/01

NTP サーバのアクセス制御設定について

連投になりますが。。。
NTP サーバのアクセス制御設定について、ちょっとハマったので記録など。

FreeBSD 11.0-RELEASE-p1 に、昔 (FreeBSD 8.4) 使用していた ntp.conf をそのまま使ったら、ntpq -p コマンドがタイムアウトしたのでした。。。
さて、なにがいけなかったんでしょうか、と言う話です。

まぁ、結論から言うと、IPv6 の設定をしていなかったから、と言うことだったりします。
普通に rc.conf で ntpd_enable="YES" すると IPv6 でも listen  するようで、自ホストからの ntpq 等は 127.0.0.1 ではなく ::1 から問い合わせているようです。
IPv4 の設定しかされていない ntp.conf では ::1 のアクセス許可が無いためにアクセスできなかった、と、そういうわけだったようで。

そんなわけでちょっと調べると、いろいろと情報がありました。
いつの間にやら、色々と新しい機能が追加されていますね。
問題は、マニュアルページに反映されていない事だったりしますが。。。(´д`;

FreeBSD 特有の話も含めてですが、昔とは変わったところをつらつらと。

・driftfile の指定は必要ない
 /etc/defaults/rc.conf を見れば分かるが、ntpd_flags の指定の中で -f /var/db/ntpd.drift されている

・DNS ラウンドロビン等で複数の IP Address を持つサーバの指定には pool を使う
 server の指定には FQDN を使用しなければならないため、複数のアドレスを持つサーバの指定は難しかった(同じものを3行書くとかの手法があった)が、最近の ntpd は pool 指定に変えれば大丈夫

・同期 NTP サーバの指定には "source" というディレクティブが使える
 昔は、複数のアドレスを持つサーバへのアクセス制御等には、IP Address を全部並べる必要があったが、最近なら "source" と書けば良いため、非常に楽ちん
 (マニュアルにはチラッとしか書かれていない)

・FQDN の記載で IPv6 を指定するには -6 を、IPv4 なら -4 を記述する
 DNS での名前解決で IPv4/IPv6 を強制する必要がある場合に指定する模様
 (昔のマニュアルページ読んだら、8.4-RELEASE でも対応してましたね (^^;)

と言うことで、最近だとこんな ntp.conf を書けば良いらしいです。

---
pool 0.freebsd.pool.ntp.org iburst preempt
pool 1.freebsd.pool.ntp.org iburst preempt
pool 2.freebsd.pool.ntp.org iburst preempt
pool 3.freebsd.pool.ntp.org iburst preempt

restrict default ignore
restrict source nomodify noquery notrap

restrict 127.0.0.1
restrict ::1

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
---


昔の人なので、IPv6 は忘れがち (^^;

マシンが遅いと思ったら。。。

未だにお亡くなりになったサーバの再構築が終わりません。。。orz

さておき。
新しい PC を組んでセットアップしているわけですが、何故か死ぬほど遅かったわけです。
具体的には、数秒に1回くらいのプチフリーズ的なものが発生する感じでした。
元のマシンとは比べものにならないくらい遅かったわけですが、元のマシンが Atom 330 で、新しいマシンが Pentium J4205 なので、元より遅いとかそりゃないよ、ってなもんでした。

色々調べた結果分かった事は、UEFI の設定で、省電力機能が有効になっていた事が原因だったと言うことでした。(なんてこったい!)
CPU C States Support と言う項目で C6, C1, Disabled が選べるところ、デフォルトは C6 です。
(この項目が Disabled 以外になっていれば、C1E の有効/無効も別項目で選べます)
この設定が Disabled 以外で有る限り(C1E の有効/無効に関係なく)、激遅になっていたのでした。。。
そうですか、省電力設定はダメですか。。。

そんなわけで、CPU C States Support を Disabled にしたところ、見事にサクサク動くようになったのでした。
それまで起動に数分掛かっていたところが、わずか数秒で起動するスピード差ですよ、奥さん!(違いすぎだろ。。。)

教訓: 意味不明の遅さの時は、(UEFI も含めて)省電力設定を見直せ