ntpd は IPv6 として設定され、IPv6 ポートをバインドしません。

ntpd は IPv6 として設定され、IPv6 ポートをバインドしません。

CentOS 7.4 には、次の /etc/ntp.conf があります。

# /etc/ntp.conf: Ansible managed

# drift file
driftfile /var/lib/ntp/drift

# restrictions
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1

# preferred servers
server 0.centos.pool.ntp.org iburst prefer
server 1.centos.pool.ntp.org iburst prefer
server 2.centos.pool.ntp.org iburst prefer
server 3.centos.pool.ntp.org iburst prefer

# fallback servers
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

# listen only on local interfaces
interface ignore wildcard
interface listen 127.0.0.1
interface listen ::1

# Disable the monitoring facility to prevent amplification attacks; see CVE-2013-5211
disable monitor

ただし、IPv4でのみバインドされていることがわかります。

[root@0c6790c4704c /]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
udp        0      0 127.0.0.1:123           0.0.0.0:*                           918/ntpd

ログは次のとおりです。

Jan 08 01:34:05 0c6790c4704c systemd[1]: Starting Network Time Service...
Jan 08 01:34:05 0c6790c4704c ntpd[918]: proto: precision = 0.064 usec
Jan 08 01:34:05 0c6790c4704c ntpd[918]: 0.0.0.0 c01d 0d kern kernel time sync enabled
Jan 08 01:34:05 0c6790c4704c systemd[1]: Started Network Time Service.
Jan 08 01:34:05 0c6790c4704c ntpd[918]: ntp_io: estimated max descriptors: 65536, initial socket boundary: 16
Jan 08 01:34:05 0c6790c4704c ntpd[918]: Listen normally on 0 lo 127.0.0.1 UDP 123
Jan 08 01:34:05 0c6790c4704c ntpd[918]: Listening on routing socket on fd #17 for interface updates
Jan 08 01:34:07 0c6790c4704c ntpd[918]: 0.0.0.0 c016 06 restart
Jan 08 01:34:07 0c6790c4704c ntpd[918]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Jan 08 01:34:07 0c6790c4704c ntpd[918]: 0.0.0.0 c011 01 freq_not_set

私が見落としたことはありますか?

答え1

/etc/default/ntp含まれていることを確認してください。NTPD_OPTS='-4 -g'

このオプションは、-4ntpd が ipv4 でのみ受信するように指示します。

答え2

特別なユースケースがあります。 Dockerが仮想マシン(読み取り:一般的なsystemd initプロセスを参照)を実行しており、naftulikay/centos-vmホストシステムでIPv6サポートが有効になっていません。

私が見つけた文書Dockerデーモンに渡すと--ipv6IPv6サポートが有効になるので、これを試して次のような結果を得ました。

Error starting daemon: Error initializing network controller: Error creating default "bridge" network: could not find an available, non-overlapping IPv6 address pool among the defaults to assign to the network

コンテナ内にはifconfigIPv6アドレスは表示されません。

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 7923  bytes 51083816 (48.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6941  bytes 400410 (391.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

したがって、接続されたCIDRブロックがなければ、IPv6が機能しないことは驚くべきことではありません。これを設定する方法の詳細については、マニュアルを読んでください。

関連情報