ntpdate : 동기화에 적합한 서버가 없습니다.


82

시계가 꺼져 있으므로를 사용하여 동기화하고 싶습니다 ntpdate. 여러 다른 NTP 서버를 시도했지만 어떤 이유로 든 항상 다음과 같은 오류 메시지가 나타납니다.

$ sudo ntpdate ntp.ubuntu.com
4 Mar 12:27:35 ntpdate[1258]: no server suitable for synchronization found
$ sudo ntpdate pool.ntp.org
4 Mar 12:27:50 ntpdate[1267]: no server suitable for synchronization found
$ sudo ntpdate de.pool.ntp.org
4 Mar 12:28:01 ntpdate[1273]: no server suitable for synchronization found
$ sudo ntpdate us.pool.ntp.org
4 Mar 12:28:12 ntpdate[1276]: no server suitable for synchronization found

관련 질문

관련 질문 을 살펴 보았지만 아무도 내 문제를 해결하지 못했습니다.

내가 시도한 것

ntp 패키지를 설치했습니다

... 유틸리티 ntpd대신 데몬을 사용해 보았습니다 ntpdate. 내 시간도 동기화되지 않습니다. 데몬은 정상적으로 시작되지만 내 시계는 꺼져 있습니다. 심지어 /etc/ntp.conf후자의 게시물에서 허용 된 답변 의 정확한 내용 을 사용 하고 데몬을 다시 시작 하려고했습니다 . 안돼 어쨌든 데몬을 사용하고 싶지 않습니다. 나는 ntpdate"더 이상 사용되지 않음"으로 간주되며, ntpd -q대신 사용 하는 것이 좋습니다 . 또한 여기를보십시오 :

그러나 ntpd나에게도 효과가 없기 때문에 문제는 다른 곳에 있습니다. 그리고 시계 동기화를 위해 추가 패키지를 설치할 필요가 없다는 것을 알게되었습니다. ntpdateUbuntu가 사전 설치되어 제공되며 제대로 작동합니다 . 그래서 ntp패키지를 다시 제거 했습니다.

포트 123이 차단되었을 수 있습니까?

이 게시물에서 :

... 직장의 컴퓨터 / 네트워크에서 포트 123이 차단 될 수 있다는 생각이 들었습니다. 과연,

$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE  SERVICE
123/udp closed ntp 
...
$ sudo ufw allow 123/udp
Rules updated
Rules updated (v6)
$ sudo nmap -p123 -sU -P0 localhost
...
PORT    STATE SERVICE
123/udp open  ntp
...

그러나 여전히 :

$ sudo ntpdate ntp.ubuntu.com
4 Mar 13:06:16 ntpdate[4361]: no server suitable for synchronization found

-u옵션 ntpdate을 사용 하더라도 123내 작업장에서 확실히 차단되지 않은 포트 (포트 대신)에 권한이없는 포트를 사용하도록 지시 합니다 .

$ sudo ntpdate -u ntp.ubuntu.com
4 Mar 13:06:28 ntpdate[4427]: no server suitable for synchronization found

아마도 지층이 너무 높을까요?

마지막 으로이 게시물에서 serverfault로 넘어갑니다.

... NTP 서버의 지층이 너무 높다고 생각했습니다. 그러나 그렇지 않습니다. 좀 더 디버깅 정보를 보자 :

$ sudo ntpdate -dv ntp.ubuntu.com
 4 Mar 13:12:24 ntpdate[4523]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host ntp.ubuntu.com and service ntp
host found : golem.canonical.com
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
91.189.89.199: Server dropped: no data
91.189.94.4: Server dropped: no data
server 91.189.89.199, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.89.199], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041ae.e6166441  Tue, Mar  4 2014 13:12:30.898
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

server 91.189.94.4, port 123
stratum 0, precision 0, leap 00, trust 000
refid [91.189.94.4], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  1:00:00.000
originate timestamp: 00000000.00000000  Mon, Jan  1 1900  1:00:00.000
transmit timestamp:  d6c041af.1948fc50  Tue, Mar  4 2014 13:12:31.098
filter delay:  0.00000  0.00000  0.00000  0.00000 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 0.000000 0.000000 0.000000 0.000000
         0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

 4 Mar 13:12:33 ntpdate[4523]: no server suitable for synchronization found

Pfeeewww ... 이것은 긴 것이 었습니다. 죄송합니다. 나는 충격을 받았다. 단서가 있습니까?

업데이트 : 추가 정보

아무리 NTP 서버의 여부 HOSTNAME에 수치 /etc/ntp.conf, 그리고 여부에 상관없이 ntpd내가 실행할 때마다 서비스가 실행되지 않거나은 sudo ntpdate -u HOSTNAME, 내가 얻을 no server suitable for synchronization found. 똑같은 때 ntpd서비스입니다 하지 실행하고 나는 생략-u 옵션을 선택합니다. 때 ntpd서비스가 됩니다 실행하고 나는 생략 -u옵션을 내가 대신 얻을 the NTP socket is in use, exiting.

또한:

$ timedatectl status
      Local time: Wed 2014-03-05 13:11:54 CET
  Universal time: Wed 2014-03-05 12:11:54 UTC
        Timezone: Europe/Berlin (CET, +0100)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 2013-10-27 02:59:59 CEST
                  Sun 2013-10-27 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2014-03-30 01:59:59 CET
                  Sun 2014-03-30 03:00:00 CEST

그러나 UTC 시간은 정확하지 않습니다. 지금은 UTC 시간이 11:11아닙니다 12:11.

과:

$ sudo hwclock --show
Wed 05 Mar 2014 01:11:56 PM CET  -0.625627 seconds

당신은 당신이 도망했다`는 sudo ntpdate를 ntp.ubuntu.com`하지만 짓 추가 한 후 ntp.ubuntu.com/etc/ntp.conf의 서버 필드? 다음 답변이 표시되지 않으면
Stormvirux

`sudo ntpdate 0.ubuntu.pool.ntp.org 시도
Stormvirux

1
안녕, 답변에 대한 내 의견을 참조하십시오. 나는 추가하는 시도 server pool.ntp.org/etc/ntp.conf,하지만 ntpdate -u pool.ntp.org같은 오류가 발생합니다. 나는 또한 이것을 시도했다 ntp.ubuntu.com(에 추가 /etc/ntp.conf, ntp서비스 다시 시작, ntpdate -u방금 추가 한 정확한 서버에서 다시 실행 /etc/ntp.conf). 요약 하면 동기화하려는 서버가에 언급되어 있는지 여부는 중요하지 않습니다/etc/ntp.conf . 내가 도착 no server suitable...합니다 (경우를 제외하고 모든 경우에 오류 ntp서비스가 실행 하고 나는 생략 -u하고 내가 얻을 옵션을 NTP socket in use오류).
Malte Skoruppa

좋아, 나는 sudo ntpdate 0.ubuntu.pool.ntp.org이미 /etc/ntp.conf파일 에있는을 시도했다 . 운이 없다-같은 오류.
Malte Skoruppa

답변:


54

호스팅 제공 업체가 ntp 패킷을 차단하고 있습니다. 이 ISP는 DDoS 공격에 대응하여 이러한 강력한 접근 방식을 구현했습니다. ntpdate가 ntpdate -vd에서 패킷을 전송하고 있음을 알 수 있습니다.

transmit(91.189.94.4)
transmit(91.189.89.199)
transmit(91.189.94.4)
transmit(91.189.89.199)

ISP에 연락하여 외부 ntp 요청을 차단하고 있는지, 시간 동기화에 사용할 수있는 로컬 서버가 있는지 묻습니다.

몇 가지 더 모호한 가능성이 있지만 syslog에서 로그를 게시하지 않았으므로 배제하기가 어렵습니다.


6
당신은 완벽하게 맞습니다. 우리 대학이 외부 NTP 요청을 차단하고있는 것 같습니다. 또한 대안으로 몇 개의 로컬 NTP 서버를 제공합니다. 이것들은 완벽하게 작동합니다. 이제 출력 ntpdate -dv에는 메시지 receive(...)뿐만 아니라 일부도 포함되어야 함을 알 수 있습니다 transmit(...). ;) 많은 감사합니다!
Malte Skoruppa

그러나 한 가지 질문 ntpdate-u옵션 과 함께 사용할 때 대학에서 어떻게 NTP 패킷을 차단할 수 있습니까? 포트 123 대신 권한이없는 포트를 사용하므로 방화벽 규칙은 단순히 "포트 123에서 들어오는 패킷 차단"보다 복잡해야합니다. 그렇다면 그들은 일종의 심층 패킷 검사를 수행합니까?
Malte Skoruppa

1
"대상 포트가 123 인 모든 트래픽 차단"이라는 방화벽 규칙과 ntp 호스트에 대한 몇 가지 예외가 있습니다
dfc

나는이 같은 문제가 있었다. traceroute 아웃 바운드를 수행하여 문제를 해결할 수 있었고 ntp를 실행중인 경로에서 로컬 서버를 찾을 수있었습니다. 그들 중 하나는 그것을 차단하고있었습니다. 팁 주셔서 감사합니다!
jonespm

1
나를 위해 ntpdate -vd말한다 no servers can be used, exiting.
highBandWidth

47

그러나 이것은 ntp 답변이 아닙니다 ...

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

이것과 컬 버전은 여기에 있습니다 .


13
이것은 끔찍하지만 작동합니다.
Alan Plum

4
비 관리 데이터를 bash 명령에 피드하면 루트로 실행됩니까? 연주 해 주셔서 감사합니다. 이 답변은 극도의 편견을 가지고 하향 조정되어야합니다.
dfc

1
ISP 지원을 다루는 것보다 훨씬 덜 고통 스럽습니다. 또한 테스트 목적으로 로컬 VM에서 실행되는 경우 전혀 중요하지 않습니다.
Yalok Iy

무슨 일인지 설명해 주실 수 있습니까?
Suraj Jain

1
@SurajJain 많은 웹 서버가 Date헤더를 반환 합니다. 설정 날짜의 경우 명령 날짜 -s에서 모든 헤더를 저장하기위한 wget -S, stdout에서 오류를 로깅하기위한 2> & 1, 헤더 날짜가있는 픽 라인의 grep, 스트립 요일 및 GMT에 대해 자름. 처리 날짜 끝의 Z는 UTC입니다. 정확도는 네트워크 속도에 따라 다릅니다.
user1516873

10

나는 같은 문제가 있었고 이것이 내가 해결 한 방법입니다. 위에서 아래로 자세한 답변을하였습니다. 내 대답의 중간으로 건너 뛰거나 한 눈에 이해하기 위해 아래 스크린 샷을 참조하십시오.

먼저 ntpdate를 설치하십시오 (분명히 완료했습니다)

sudo apt-get install ntpdate

다음 다음 과 같이 서버로 ntp를 구성해야합니다.

최소한 /etc/ntp.conf 구성 파일에서 다음 매개 변수를 설정해야합니다. server

예를 들어 nano 텍스트 편집기를 사용하여 /etc/ntp.conf 파일을 엽니 다.

sudo nano /etc/ntp.conf

서버 매개 변수를 찾고 비어있는 경우 다음과 같이 설정하십시오.

server pool.ntp.org

그러나 보통 우분투에서는 이미 일부 서버가 미리 작성되어 있습니다.

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

여기에 이미지 설명을 입력하십시오

그런 다음 파일을 저장하고 ntpd 서비스를 다시 시작하십시오 .

sudo /etc/init.d/ntpd start

다음 명령을 사용하여 시스템 시계를 NTP 서버에 즉시 동기화 할 수 있습니다.

sudo ntpdate pool.ntp.org

아니면 이미 서버가 정의되어 실행

sudo ntpdate 0.ubuntu.pool.ntp.org

또는 서버를 사용하여 정의 된 다른 서버

일반적으로

sudo ntpdate <one of the servername in /etc/ntp.conf>

그러나 그NTP socket in use아래와 같이 오류가 발생할 수 있습니다.

여기에 이미지 설명을 입력하십시오

이 경우 그냥 실행

ntpdate -u pool.ntp.org 

ntp deamon이 실행 중일 때 업데이트

또는 데몬을 중지하고 업데이트 한 후 다음과 같이 다시 시작하십시오.

sudo ntpdate pool.ntp.org
sudo service ntp stop
sudo ntpdate pool.ntp.org
sudo service ntp start

그리고 당신은 얻을 것이다

여기에 이미지 설명을 입력하십시오


안녕하세요, 자세한 답변 감사합니다! 불행히도 그것은 나를 위해 작동하지 않았습니다. 나는 /etc/ntp.conf우분투와 함께 왔지만 결코 변경하지 않았습니다. pastebin.com/bB0sskzv 여기에 붙여 넣었습니다 . 나는 또한 추가하는 시도 server pool.ntp.org는 스크린 샷과 같이 서버 목록의 상단에. pastebin.com/YH372Jdi에서 찾으십시오 . 이 두 가지 설정 을 통해 제안한 일련의 명령을 실행했습니다. 원래 게시물에 스크린 샷을 추가했습니다. 결과는 수정되지 않은 것과 수정 된 것 모두와 정확히 동일합니다 /etc/ntp.conf. 다른 아이디어가 있습니까? 감사!
Malte Skoruppa

무엇을 timedatectl status반환
Stormvirux

timedatectl status원래 게시물 의 명령 출력을 참조하십시오 .
Malte Skoruppa

옵션이 있거나 {0..3}.ubuntu.pool.ntp.org없는 두 개의 사전 정의 된 서버 (즉, )를 모두 사용해 보았습니다 -u. 항상 같은 오류입니다.
Malte Skoruppa

이것도 말해줘 의 출력sudo hwclock --show
Stormvirux

8

htpdate 사용

네트워크에서 ntp 전송이 차단 된 경우 htpdate를 설치하십시오. http 프로토콜을 통해 시간을 동기화합니다. 매뉴얼 페이지에 따르면 정확도는 0.5 초입니다.

sudo apt-get install htpdate
sudo htpdate -a google.com

패키지를 설치하면 htpdate 서비스가 시작됩니다. 인터넷에 연결되면 시간이 즉시 업데이트됩니다.


ntp에 대해 찾은 모든 주제에 동일한 답변을 복사하여 붙여 넣지 마십시오.
sempaiscuba

1
Copypasta 여부에 관계 없이이 솔루션은 ntpdate[22109]: no server suitable for synchronization found오류가 발생 하는 동안 저에게 효과적이었습니다 .
kneeki

4

Alex의 대답과 비슷하게 방화벽으로 연결된 ntp 포트를 돌아 다니는 데 도움이되었습니다.

sudo date -s "$(curl http://s3.amazonaws.com -v 2>&1 | \
  grep "Date: " | awk '{ print $3 " " $5 " " $4 " " $7 " " $6 " GMT"}')"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.