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가 작동하지 않는다는 것은 놀라운 일이 아닙니다. 이를 설정하는 방법에 대한 자세한 내용은 설명서를 읽고 싶습니다.

관련 정보