Linuxバージョン(3.12)を実行しているノートブックがあります。 ntpdをインストールし、time.google.comと同期するように設定しました。私が持っている問題は、IPV4アドレスのみを提供するネットワークに接続すると、ntp用のDNSがipv6アドレスを使用することです。
root@Node00b01973d6cc:~# ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
127.127.1.0 .LOCL. 10 l 7 64 1 0.000 0.000 0.002
ff0e::101 .MCST. 16 M - 64 0 0.000 0.000 0.002
2001:4860:4806: .INIT. 16 u - 64 0 0.000 0.000 0.000
ntpdが-4オプションでIPv4 DNSのみを使用するように強制すると、すべてがうまく機能します。
root@Node00b01973d6cc:~# ntpq -pn 172.16.17.111
remote refid st t when poll reach delay offset jitter
==============================================================================
127.127.1.0 .LOCL. 10 l 60 64 1 0.000 0.000 0.002
216.239.35.12 .GOOG. 1 u 57 64 1 29.278 341.883 0.002
しかし、IPv6アドレスだけを提供するネットワークに入ると失敗するので、そうしたくありません。私のインターフェイスに実際にそのファミリのIPアドレスがある場合は、IPv4(またはIPv6)のみを使用するようにNTPを設定できますか?
ntpdのバージョンは4.2.8p12です。これはntp.confファイルです:
tinker panic 0
driftfile /usr/local/etc/ntp.drift
disable auth
# Update the realtime clock and override its default
# stratum of 0.
server time.google.com prefer #Real Time Clock
server 127.127.1.0 #Real Time Clock
server 127.127.1.0 #Real Time Clock
fudge 127.127.1.0 stratum 10
broadcast ff0e::101 iburst ttl 7
なぜこれが起こるのか、根本的な原因を見つけました。私は最近私のシステムでIPv6転送を無効にしました。 IPv6 転送を再びオンにすると、NTP は予想どおり IPv4 アドレスの使用を開始しました。
IPv6転送が有効になると、なぜこれが起こりますか?
デフォルトでは、システム起動時にIPv6転送は無効になっています。これをオンにするには、起動スクリプトの1つに次の行があります。
sysctl -w net.ipv6.conf.all.forwarding=1
ベストアンサー1
この質問は2年前のものですが、このトピックは確かにそうではありません。
~によるとRFC-3484:IPv6のベースアドレスの選択 オペレーティングシステムは自動的に最良のIPアドレスであるIPv6またはIPv4を選択します。
変更されておらず、/etc/gai.conf
DNSが正しく機能している場合、Linux(および他の多くのオペレーティングシステム)はIPv6アドレスを好みます。それ以外の場合は、たとえば time.google.com に接続する IPv4 を選択します。
で確認できますgetent ahosts time.google.com
。各ソフトウェアは、このリストのすべてのIPアドレスを上記から順番に試す必要があります。
Linuxはどこからタイムサーバーを取得しますか? DHCPの場合、オペレーティングシステムはFQDNではなくIPv4 IPアドレスを取得するため、選択肢はありません。 NTPクライアントは、実際に構成されたNTPサーバー「名前」の代わりにIPアドレスの逆方向DNSホストを表示できます。
/edit:openSUSE 15.2とCentOS 7でntpd 4.2.8p15とntpd 4.2.6p5を試しました。 ntpdはRFC 6742(3484)に準拠していません。しかし、クロニドはそうです。
/edit2: IPv6 を介して NTP サーバーに接続できない場合、chronyd(3.4) は v4 アドレスの使用に時間がかかるようです。