วิธีการป้องกัน ntpd เพื่อฟังใน 0.0.0.0:123?


29

ntpd คอยฟังบนอินเตอร์เฟสหลาย ๆ อันโดยค่าเริ่มต้นฉันแค่อยากฟังมันใน 127.0.0.1:123 เพราะฉันแค่อยากให้ localhost ทำการซิงค์เวลา

ฉันจะลองทำอย่างไรโดยแก้ไข / etc / default / ntp บน Debian Wheezy:

NTPD_OPTS='-4 -I 127.0.0.1'

แต่มันก็ยังฟังทั่วโลกใน 0.0.0.0:123

ความคิดใด ๆ


ฉันอยากรู้ว่าเป้าหมายสูงสุดของคุณคืออะไรที่นี่ การซิงค์กับโลคัลโฮสต์ไม่สมเหตุสมผลและจะไม่ทำงานเลยโดยปริยายหากไม่มีfudgeคำสั่ง คุณพยายามทำอะไรให้สำเร็จ
Ladadadada

@ Ladadadada เรามีเซิร์ฟเวอร์ ntp ที่นี่ภายใน LAN ไคลเอนต์ linux ของเราควรมีเวลาที่ถูกต้อง แต่แทนที่จะใช้ cronjob ทุกชั่วโมงntpdate -B timeserverเราต้องการรัน ntpd บนไคลเอนต์ทุกเครื่องด้วย 127.0.0.1:123 ซึ่งถาม timeserver ใน LAN มีบางอย่างผิดปกติกับมันหรือไม่?
JohnnyFromBF

4
บนไคลเอ็นต์พอร์ต Listen จะใช้สำหรับการสอบถามสถานะปัจจุบันของ daemon เท่านั้น serverเส้นในของคุณntpdconfigs ลูกค้ากำหนดคนที่คุณซิงค์กับ หากserverบรรทัดของคุณพูดว่า127.0.0.1คุณมีปัญหา หากพวกเขาชี้ไปที่ timeserver กลางของคุณมันควรจะดี
Ladadadada

คำตอบ:


34

ลบตัวเลือกทั้งหมด-Iหรือ--interfaceตัวเลือกออกจาก/etc/default/ntpและใส่สิ่งต่อไปนี้ใน/etc/ntp.conf:

interface ignore wildcard
interface listen 127.0.0.1
interface listen ::1
# NOTE: if you want to update your time using remote machines,
# add at least one remote interface address:
#interface listen 2001:db8::1
#interface listen 192.0.2.1

ข้อความที่ตัดตอนมาจากntpd(1)หน้าคู่มือเกี่ยวกับ-iตัวเลือก:

ตัวเลือกนี้แสดงถึงการไม่เปิดที่อยู่อื่นยกเว้น wildcard และ localhost โปรดพิจารณาใช้คำสั่งอินเตอร์เฟสไฟล์การกำหนดค่าซึ่งมีความหลากหลายมากกว่า

ดูเพิ่มเติมหน้าคู่มือ Debian (ฉันไม่สามารถหาได้ใน Arch Linux หนึ่ง) ntp.conf(5)ของ


6
ntp จำเป็นต้องเชื่อมต่อกับอินเตอร์เฟสที่สามารถกำหนดเส้นทางได้เพื่อให้สามารถซิงค์กับ timeservers ได้ ดูคำตอบของ meepmeep ด้านล่าง
mashup อินทรีย์

17

ด้วยการฟัง ntp เฉพาะบน 127.0.0.1 ดูเหมือนว่าไม่สามารถเริ่มต้นการเชื่อมต่อกับเซิร์ฟเวอร์ ntp สาธารณะได้:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
ks370079.kimsuf **.INIT.**       16 -    -   64    0    0.000    0.000   0.000

ต้องเชื่อมโยงกับที่อยู่ IP ที่สามารถกำหนดเส้นทางได้เพื่อให้ทำงานได้


ขอบคุณสำหรับการสังเกตนี้และตัวอย่างของคุณที่แสดงวิธีการตรวจสอบว่าเป็นจริง
ColinM

6

/etc/ntp.conf เต็มโปรโตคอลนั้นเป็นกลาง (IPv4 & | IPv6)

driftfile /var/lib/ntp/ntp.drift

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.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server 3.pool.ntp.org

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

restrict lo

interface ignore wildcard
interface listen lo

6

หากคุณต้องการลดจำนวนบริการการฟังด้วยเหตุผลด้านความปลอดภัย openntpd อาจได้รับการพิจารณาเนื่องจากไม่จำเป็นต้องให้เซิร์ฟเวอร์ Listen ทำหน้าที่เป็นไคลเอนต์ ถือว่ามีความแม่นยำน้อยกว่า ntpd เล็กน้อย มีความน่าเชื่อถือภายในไม่กี่ร้อยมิลลิวินาที แต่สิ่งนี้เหมาะสำหรับวัตถุประสงค์ส่วนใหญ่

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