ntpdate -d ดูเหมือนว่าจะประสบความสำเร็จ แต่ ntpdate จะไม่ส่งคืนเซิร์ฟเวอร์ที่เหมาะสม


14

ฉันมีระบบที่ไม่ใช้ ntpd ซึ่งฉันพยายามอัปเดตนาฬิกาโดยใช้ ntpdate ระบบนี้เป็นอุปกรณ์ที่ใช้ CentOS 6 เป็นหลัก

เมื่อฉันวิ่งntpdate 0.pool.ntp.orgฉันจะได้รับ:

8 Sep 17:52:05 ntpdate[7445]: no server suitable for synchronization found

อย่างไรก็ตามเมื่อฉันทำntpdate -d 0.pool.ntp.orgฉันได้รับ:

8 Sep 17:55:14 ntpdate[9499]: ntpdate 4.2.2p1@1.1570-o Fri Nov 18 13:21:21 UTC 2011 (1)
Looking for host 0.pool.ntp.org and service ntp
host found : 4.53.160.75
transmit(4.53.160.75)
receive(4.53.160.75)
transmit(4.53.160.75)
receive(4.53.160.75)
transmit(4.53.160.75)
receive(4.53.160.75)
transmit(4.53.160.75)
receive(4.53.160.75)
transmit(4.53.160.75)
transmit(64.16.214.60)
receive(64.16.214.60)
transmit(64.16.214.60)
receive(64.16.214.60)
transmit(64.16.214.60)
receive(64.16.214.60)
transmit(64.16.214.60)
receive(64.16.214.60)
transmit(64.16.214.60)
transmit(54.236.224.171)
receive(54.236.224.171)
transmit(54.236.224.171)
receive(54.236.224.171)
transmit(54.236.224.171)
receive(54.236.224.171)
transmit(54.236.224.171)
receive(54.236.224.171)
transmit(54.236.224.171)
transmit(50.22.155.163)
receive(50.22.155.163)
transmit(50.22.155.163)
receive(50.22.155.163)
transmit(50.22.155.163)
receive(50.22.155.163)
transmit(50.22.155.163)
receive(50.22.155.163)
transmit(50.22.155.163)
server 4.53.160.75, port 123
stratum 2, precision -23, leap 00, trust 000
refid [4.53.160.75], delay 0.03160, dispersion 0.00005
transmitted 4, in filter 4
reference time:    d7b867d0.f9841075  Mon, Sep  8 2014 17:37:20.974
originate timestamp: d7b86c03.b6a49dae  Mon, Sep  8 2014 17:55:15.713
transmit timestamp:  d7b86c02.7e12a51e  Mon, Sep  8 2014 17:55:14.492
filter delay:  0.03189  0.03188  0.03172  0.03160
         0.00000  0.00000  0.00000  0.00000
filter offset: 1.218061 1.217856 1.218023 1.217968
         0.000000 0.000000 0.000000 0.000000
delay 0.03160, dispersion 0.00005
offset 1.217968

server 64.16.214.60, port 123
stratum 2, precision -23, leap 00, trust 000
refid [64.16.214.60], delay 0.04886, dispersion 0.00006
transmitted 4, in filter 4
reference time:    d7b86425.55948a73  Mon, Sep  8 2014 17:21:41.334
originate timestamp: d7b86c03.f7d91219  Mon, Sep  8 2014 17:55:15.968
transmit timestamp:  d7b86c02.bed42c3c  Mon, Sep  8 2014 17:55:14.745
filter delay:  0.04919  0.04892  0.04912  0.04886
         0.00000  0.00000  0.00000  0.00000
filter offset: 1.210967 1.210879 1.210967 1.210836
         0.000000 0.000000 0.000000 0.000000
delay 0.04886, dispersion 0.00006
offset 1.210836

server 54.236.224.171, port 123
stratum 3, precision -20, leap 00, trust 000
refid [54.236.224.171], delay 0.04878, dispersion 0.00011
transmitted 4, in filter 4
reference time:    d7b864eb.b06fee7d  Mon, Sep  8 2014 17:24:59.689
originate timestamp: d7b86c04.2b9d2547  Mon, Sep  8 2014 17:55:16.170
transmit timestamp:  d7b86c02.f1e80bed  Mon, Sep  8 2014 17:55:14.944
filter delay:  0.04977  0.04950  0.04878  0.04887
         0.00000  0.00000  0.00000  0.00000
filter offset: 1.214091 1.214069 1.213755 1.213750
         0.000000 0.000000 0.000000 0.000000
delay 0.04878, dispersion 0.00011
offset 1.213755

server 50.22.155.163, port 123
stratum 2, precision -23, leap 00, trust 000
refid [50.22.155.163], delay 0.07384, dispersion 0.00005
transmitted 4, in filter 4
reference time:    d7b869c9.2b3f3d0b  Mon, Sep  8 2014 17:45:45.168
originate timestamp: d7b86c04.75472e97  Mon, Sep  8 2014 17:55:16.458
transmit timestamp:  d7b86c03.384a83b1  Mon, Sep  8 2014 17:55:15.219
filter delay:  0.07408  0.07414  0.07384  0.07387
         0.00000  0.00000  0.00000  0.00000
filter offset: 1.214115 1.214122 1.214012 1.214069
         0.000000 0.000000 0.000000 0.000000
delay 0.07384, dispersion 0.00005
offset 1.214012

 8 Sep 17:55:15 ntpdate[9499]: step time server 4.53.160.75 offset 1.217968 sec

จากการค้นหาก่อนหน้าของฉันผลลัพธ์นี้ (ด้วยบรรทัดรับ () และออฟเซ็ตต่าง ๆ ) แสดงว่ากำลังสื่อสารกับเซิร์ฟเวอร์ NTP ระยะไกลอย่างถูกต้อง (ไม่ถูกบล็อกโดยไฟร์วอลล์) ดังนั้นทำไมมันไม่อัพเดทนาฬิกาเมื่อฉันเรียกใช้

คำตอบ:


16

ลองเรียกใช้เป็น:

ntpdate -u 0.pool.ntp.org

การ-uกำหนดค่าntpdateให้ใช้พอร์ต unprivileged ซึ่งจะทำเมื่อคุณใช้-dตัวเลือกเสมอ

ดังนั้นจึงจะทำงานร่วมกับ-uและ-dแต่ไม่ทั้งผมตรวจสอบไฟร์วอลล์ของคุณ

จากหน้าคน:

-u Direct ntpdate เพื่อใช้พอร์ต unprivileged สำหรับแพ็กเก็ตขาออก สิ่งนี้มีประโยชน์มากที่สุดเมื่ออยู่หลังไฟร์วอลล์ที่บล็อกทราฟฟิกขาเข้าไปยังพอร์ตที่มีสิทธิพิเศษและคุณต้องการซิงโครไนซ์กับโฮสต์นอกไฟร์วอลล์ โปรดทราบว่าตัวเลือก -d ใช้พอร์ตที่ไม่มีสิทธิใช้งานเสมอ


1
นี่มัน ฉันเดาว่าฉันมีไฟร์วอลล์ที่ จำกัด มากขึ้นกว่าเซิร์ฟเวอร์นี้ซึ่งฉันหายไปเพราะ -d ใช้งานได้ ขอบคุณ!
csyria

2

เพิ่มกฎนี้ใน iptables:

iptables -t nat -A POSTROUTING -p udp --sport 123 -j MASQUERADE --to-ports 1025-65535

2
สวัสดี Norberto นี่อาจช่วยแก้ปัญหาได้ แต่มันจะมีประโยชน์มากถ้าคุณสามารถแก้ไขคำตอบของคุณเพื่ออธิบายว่าทำไมมันถึงทำเช่นนั้น
roaima

1
สำหรับผู้ลงมือ: เหตุผลสำหรับการลงคะแนนเสียงจะมีความสุภาพและมีประโยชน์ IMO ไม่มีอะไรผิดปกติกับคำตอบนี้ซึ่งคำอธิบายเล็กน้อยไม่สามารถแก้ไขได้
roaima
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.