หมดเวลาแล้วไม่ได้รับอะไรเลย


9

ฉันพยายามทั้งหมดและ Google เป็นจำนวนมาก! แต่ฉันไม่สามารถทำงาน NTP บนเซิร์ฟเวอร์ของฉัน โพสต์นี้เป็นความหวังสุดท้าย! ฉันได้ติดตั้งntpบนเซิร์ฟเวอร์เดเบียนด้วยการกำหนดค่านี้ ( /etc/ntp.conf):

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1 noserve nomodify
restrict ::1

ตอนนี้เมื่อฉันลอง:

ntpq -pn
127.0.0.1: timed out, nothing received
***Request timed out

เมื่อฉันลอง:

ntpdate -q
9 Mar 18:08:01 ntpdate[27896]: no servers can be used, exiting

แต่ด้วย:

ntpdate -d 0.it.pool.ntp.org

ฉันได้รับแพ็กเก็ตขาเข้าและตั้งเวลาชดเชย สิ่งนี้นำฉันไปสู่การกำหนดค่าntp.conf ที่ไม่ถูกต้อง

เบาะแสใด ๆ ที่ทำให้เกิดสิ่งนี้


คุณแสดงไฟล์อะไร นั่น/etc/ntp.confคือ คุณแน่ใจเกี่ยวกับเซิร์ฟเวอร์ NTP เหล่านั้นหรือไม่ ลอง Debian ของฉัน (ทำงาน) ntp.conf อยู่ที่นี่
terdon

ใช่มันคือ ntp.conf ฉันจะลองกับเซิร์ฟเวอร์ของเดเบียน ขอบคุณ
ทดสอบ

ไม่ข้อผิดพลาดเดียวกันเสมอ
ทดสอบ

สมมติว่าคุณรีสตาร์ท ntpd หลังจากทำการเปลี่ยนแปลงเหล่านี้ถูกต้องหรือไม่ service ntpd restart.
slm

1
นอกจากนี้ขีด จำกัด ของคุณดูแปลก ๆ ... ดูที่support.ntp.org/bin/view/Support/AccessRestrictions
derobert

คำตอบ:


3

หากไม่มีเซิร์ฟเวอร์ NTP ที่คุณพยายามตอบรับเป็นไปได้ว่าไฟร์วอลล์กำลังบล็อกการร้องขอขาออกหรือการตอบกลับขาเข้า

NTP ใช้พอร์ต UDP 123 คุณสามารถตรวจสอบว่าคำขอขาออกถูกบล็อกโดยเรียกใช้ traceroute บนพอร์ตนั้นหรือไม่ ทั้งนี้ขึ้นอยู่กับการใช้งาน traceroute ของคุณซึ่งอาจเป็นสิ่งที่ต้องการtraceroute -p 123 0.it.pool.ntp.org(Debian มีการติดตั้ง traceroute หลายตัวตรวจสอบtraceroute --helpหรือman tracerouteบนระบบของคุณ) หากการร้องขอเข้ามาจะถูกปิดกั้น แต่การร้องขอขาออกได้รับผ่านผมไม่คิดว่าคุณจะสามารถวินิจฉัยที่พวกเขาจะถูกบล็อกโดยไม่ต้องเข้าถึงเครื่องนอกเครือข่ายของคุณ (หากคุณมีการเข้าถึงเครื่องดังกล่าววิ่งtraceroute -p 123 your.ip.address) โปรดทราบว่าหากคุณมีที่อยู่ IP ส่วนตัวการใช้ NTP จะต้องได้รับความร่วมมือจากผู้ดูแลระบบเครือข่ายของคุณ (โดยเฉพาะการสนับสนุน NTP ในอุปกรณ์NAT )

หากคุณตั้งค่าไฟร์วอลล์ในเครื่องของคุณตรวจสอบให้แน่ใจว่ามีการให้ NTP ผ่าน วิธีง่าย ๆ คืออนุญาตการรับส่งข้อมูลทั้งหมดบนพอร์ต UDP 123:

iptables -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 --dport 123 -j ACCEPT

(คุณอาจต้องการเพิ่ม-d/ -sคำสั่งเพื่อ จำกัด เฉพาะที่อยู่ IP หรือชุดของที่อยู่ IP โปรดทราบว่าหากคุณทำเช่นนั้นคุณจะต้องอัปเดตกฎเหล่านี้หากเซิร์ฟเวอร์ NTP ในพูลที่คุณใช้เปลี่ยนที่อยู่ IP .)

หากการรับส่งข้อมูล NTP ถูกปิดกั้นระหว่างเครื่องของคุณกับอินเทอร์เน็ตให้ติดต่อผู้ดูแลระบบเครือข่าย อาจเป็นไปได้ว่ามีเครื่องถ่ายทอดที่คุณสามารถใช้เป็นเซิร์ฟเวอร์ NTP ของคุณ


มีการปิดกั้นการรับส่งข้อมูลภายนอก NTP โดยผู้ให้บริการโฮสต์ / ISP ของคุณ นี่เป็นวิธีที่ถนัดมือหนักเพื่อป้องกัน DDOS ถาม ISP ของคุณว่าเซิร์ฟเวอร์ ntp ภายในใดที่คุณสามารถเชื่อมต่อได้
dfc

1
@dfc จากประสบการณ์ของฉันไฟร์วอลล์ขององค์กรบล็อก NTP ซึ่งเป็นส่วนหนึ่งของการปิดกั้น UDP ทั้งหมดหรือเป็นผลมาจาก NAT แต่ผู้ให้บริการอินเทอร์เน็ตไม่ได้ทำ (ยกเว้นคนที่ NAT) แต่ถ้า ISP ของคุณบล็อก NTP ขาเข้าพวกเขาควรจัดเตรียมเซิร์ฟเวอร์ NTP ในเครือข่ายของพวกเขา
Gilles 'SO- หยุดความชั่วร้าย'

ฉันได้เพิ่มกฎเหล่านี้ไปยัง iptables แล้ว แต่ยังคงมีข้อผิดพลาดเดียวกัน แปลกกับ: ntpdate -d 0.it.pool.ntp.org ใช้งานได้ ดังนั้นฉันจึงเชื่อว่ามันคือ ntp.conf
ทดสอบ

@Gilles คือ "ประสบการณ์ของคุณ" โดยคำนึงถึงคลื่นล่าสุดของการโจมตี DDoS ที่ใช้ ntp? ปีที่แล้วฉันจะเห็นด้วยกับความคิดเห็นของคุณ อย่างไรก็ตามหลังจากที่คลื่นของการโจมตีเมื่อเร็ว ๆ นี้ออกไปการกรอง ntp เป็นเรื่องธรรมดามากกว่าที่คุณคิด
dfc

@BojanVidanovic มันไม่สมเหตุสมผลใด ๆ ที่จะทำงานกับ ntpdate และไม่ใช้ ntp เมื่อทำงานกับ ntpdate คุณควรจดบันทึกที่อยู่ IP ที่ส่งคืนคำตอบของ ann และลองใส่ลงใน ntp.conf การตอบสนอง DNS สำหรับที่อยู่ pool.ntp.org จะแตกต่างกันไปขึ้นอยู่กับจำนวนเซิร์ฟเวอร์ที่สิ่งที่กลุ่มการติดตามตรวจสอบมีอยู่ในปัจจุบันที่สมบูรณ์
dfc

3

เท่าที่ฉันสามารถบอกคำถามของคุณคือ "ทำไมntpq -pnไม่ทำงานตามที่ฉันคาดไว้"

เปลี่ยนบรรทัดนี้:

restrict 127.0.0.1 noserve nomodify

กลับไปที่เดิม:

restrict 127.0.0.1

ตอนนี้ntpq -pnจะทำงาน

FYI: ::1เป็นรุ่น IPv6 ของ127.0.0.1

อัปเดตการกำหนดค่า:

driftfile /var/lib/ntp/ntp.drift

statdir /var/log/ntpstats/

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.it.pool.ntp.org iburst
server 1.it.pool.ntp.org iburst
server 2.it.pool.ntp.org iburst
server 3.it.pool.ntp.org iburst

restrict -4 default nomodify nopeer noquery notrap
restrict -6 default nomodify nopeer noquery notrap

# Restrict eth0 ip
restrict 192.168.1.1
restrict 127.0.0.1
restrict ::1

127.0.0.1: หมดเวลาแล้วไม่มีอะไรที่ได้รับ *** คำขอหมดเวลา
ทดสอบ

คุณอัปเดต /etc/ntp.conf ของคุณเป็นสิ่งที่แสดงด้านบนและ resstarted ntp และคุณได้รับข้อความหมดเวลา ผลลัพธ์ของnetstat -launอะไร
dfc

ขอบคุณมาก! ฉันได้เพิ่ม "จำกัด localhost" เมื่อสิ้นสุดการ จำกัด
Vagner do Carmo

1

ปัญหาของคุณดูเหมือนจะอยู่ในการเลือกเซิร์ฟเวอร์ 2 ตัวเหล่านั้นใน 2 บรรทัดของไฟล์กำหนดค่าของคุณ:

server ntp1.inrim.it iburst
server ntp2.inrim.it iburst

เมื่อฉันพยายามค้นหาข้อใดข้อหนึ่งฉันได้รับข้อผิดพลาดของคุณเช่นกัน:

$ sudo ntpq -p ntp1.inrim.it
ntp1.inrim.it: timed out, nothing received
***Request timed out

$ sudo ntpq -p ntp2.inrim.it
ntp2.inrim.it: timed out, nothing received
***Request timed out

ฉันจะลองเลือกเซิร์ฟเวอร์ที่แตกต่างกันสำหรับ starters

เซิร์ฟเวอร์เหล่านั้นเหรอ?

เมื่อฉัน google สำหรับชื่อของพวกเขาฉันมาข้ามหน้านี้หัวข้อ: มา configurare อิลลินอยส์ Vostro NTP มีเซิร์ฟเวอร์อื่นที่ไม่ได้กล่าวถึงนั่น:

$ sudo ntpq -p host2.miaditta.it 
host2.miaditta.it: timed out, nothing received
***Request timed out

เซิร์ฟเวอร์เหล่านี้ดูเหมือนจะเป็นปัญหา

การเข้ารหัสลับ?

หากคุณดู URL ข้างต้นเพิ่มเติมที่ฉันกล่าวถึงพวกเขาหารือเกี่ยวกับการเข้ารหัสคุณอาจต้องเปิดใช้งานสิ่งนี้เพื่อเข้าถึงเซิร์ฟเวอร์ NTP เหล่านั้น

เคล็ดลับการแก้จุดบกพร่อง

ฉันสามารถเชื่อมต่อกับiburstเซิร์ฟเวอร์ทั้งสองของคุณได้สำเร็จโดยใช้คำสั่งนี้:

$ ntpdate -d <server>
ตัวอย่าง
$ ntpdate -d ntp1.inrim.it
 9 Mar 21:01:37 ntpdate[20739]: ntpdate 4.2.6p5@1.2349-o Tue Apr  2 17:47:01 UTC 2013 (1)
Looking for host ntp1.inrim.it and service ntp
host found : ntp1.inrim.it
transmit(193.204.114.232)
receive(193.204.114.232)
...
server 193.204.114.232, port 123
stratum 1, precision -22, leap 00, trust 000
refid [CTD], delay 0.19319, dispersion 0.00084
transmitted 4, in filter 4
reference time:    d6c78d79.f0206119  Sun, Mar  9 2014 21:01:45.937
originate timestamp: d6c78d7e.55ab5b4b  Sun, Mar  9 2014 21:01:50.334
transmit timestamp:  d6c78d77.7e9b8296  Sun, Mar  9 2014 21:01:43.494
filter delay:  0.19460  0.19710  0.19453  0.19319 
         0.00000  0.00000  0.00000  0.00000 
filter offset: 6.755368 6.757349 6.755239 6.756265
         0.000000 0.000000 0.000000 0.000000
delay 0.19319, dispersion 0.00084
offset 6.756265

 9 Mar 21:01:43 ntpdate[20739]: step time server 193.204.114.232 offset 6.756265 sec

ดังนั้นดูเหมือนว่าปัญหาของคุณเป็นสิ่งที่ผิดปกติกับntp.confไฟล์ของคุณ โปรดยืนยันกรณีนี้และเราสามารถทำการดีบักต่อไปได้


ใช่ฉันจะไม่ใช้เซิร์ฟเวอร์เหล่านั้น แต่ฉันเพิ่ม debian.pool.ntp.org และฉันยังได้รับ: หมดเวลา หรือ it.pool.ntp.org ข้อผิดพลาดที่ให้ฉันเหมือนกัน ณ จุดนี้ฉันคิดว่ามีบางอย่างกำลังปิดกั้น NTP
ทดสอบ

ถ้าฉันลอง: ntpdate 0.debian.pool.ntp.org มันใช้งานได้
ทดสอบ

ใช่ด้วย: ntpdate -d ntp1.inrim.it ฉันเห็นผลลัพธ์เดียวกับคุณ จากนั้นอาจเป็น ntp.conf
ทดสอบ

1
@BojanVidanovic - ใช่แล้วปัญหาน่าจะเป็นของคุณntp.confแล้ว นี่คือความก้าวหน้าที่ดี ฉันจะใช้ประโยชน์สูงสุดจากบรรทัดยกเว้นเซิร์ฟเวอร์ที่จะแก้ปัญหานี้เพิ่มเติม
slm

1
สวิตช์ไปที่ntpdการเพิ่ม-dตัวเลือกจะเพิ่มมากขึ้นและ-D levelจะเปิดใช้งาน INFO TRACE, DEBUG และอื่น ๆ
slm

0

ในกรณีของฉันอะแดปเตอร์ย้อนกลับถูกปิดใช้งานในระบบ หลังจากเปิดใช้งานแล้วปัญหาก็จะได้รับการแก้ไข ดูไฟล์ / etc / network / interfaces


0

จากสิ่งที่ฉันเห็นคุณได้กำหนดค่า NTP SERVER แต่คุณกำลังชี้ไปที่ POOL

server 0.pool.ntp.org

ลอง:

pool 0.pool.ntp.org

แทนหรือใช้ "เซิร์ฟเวอร์" กับเซิร์ฟเวอร์เฉพาะไม่ใช่พูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.