DNS - วิธีใดในการบังคับให้เซิร์ฟเวอร์ชื่ออัปเดตระเบียนของโดเมน


13

ฉันทำงานบางอย่างกับชื่อโดเมนบางส่วน ฉันกำลังอัปเดตพวกเขา โดยใช้digฉันสามารถสอบถาม nameserver ของเราและฉันจะเห็นว่าชื่อที่ถูกต้องได้รับการปรับปรุง อย่างไรก็ตามแคชสำนักงานของเรายังคงแสดงชื่อเดิมอยู่ เมื่อวานนี้ฉันตั้งค่า TTL เป็น 10 นาทีดังนั้นฉันจึงไม่ต้องรอนาน อย่างไรก็ตามมีวิธีใดที่จะหลอกแคช DNS ของสำนักงานให้อัปเดตได้บ้าง? มีเล่ห์เหลี่ยมเล็กน้อยที่ฉันสามารถทำได้เพื่อทำให้สิ่งต่าง ๆ ง่ายขึ้นไหม?

อัพเดทสมมติว่าฉันไม่มีสิทธิ์เข้าถึงเซิร์ฟเวอร์และไม่สามารถรีสตาร์ทได้? มีอะไรอีกบ้างที่ฉันสามารถทำได้?


เซิร์ฟเวอร์ DNS ของคุณใช้แพลตฟอร์มใด UNIX, Linux, Windows ..
RainyRat

ระบบปฏิบัติการใดที่เซิร์ฟเวอร์ของสำนักงานทำงานอยู่ ซึ่งจะสร้างความแตกต่างในวิธีที่คุณจะล้างแคช
Bart B

2
Google อนุญาตให้คุณล้างแคช DNS: developers.google.com/speed/public-dns/cache
Nehal J Wani

คำตอบ:


16

สมมติว่าเซิร์ฟเวอร์ DNS ของคุณอยู่บนพีซีไม่ใช่เราเตอร์และอื่น ๆ :

ล้างแคช Linux:

/etc/init.d/nscd restart

หรือสำหรับ distros ที่ไม่มี nscd

/etc/init.d/named restart

แคชไคลเอนต์ Windows สำหรับแต่ละเครื่อง:

ipconfig /flushdns

แคชเซิร์ฟเวอร์ Windows สำหรับเซิร์ฟเวอร์ office (ขอบคุณericmayoสำหรับการแก้ไข):

  1. นำทางไปยังเครื่องมือผู้ดูแลระบบ
  2. ขยายวัตถุเซิร์ฟเวอร์
  3. คลิกขวาที่วัตถุที่แคช
  4. เลือกล้างแคช

Mac (อาจเป็นไปได้!):

dscacheutil -flushcache

หากคุณมีเว็บ GUI ฯลฯ สำหรับเราเตอร์จะมีตัวเลือกอยู่ในนั้น

การล้างแคชข้ามแพลตฟอร์มดังกล่าวข้างต้น

เกี่ยวกับ DNS และการแคช


ipconfig / flushdns ไม่ได้ล้างแคช DNS ของเซิร์ฟเวอร์ Windows DNS; มันเพียงล้างแคชของลูกค้า หากต้องการล้างแคชเซิร์ฟเวอร์ DNS ของ Windows ให้เปิด DNS ภายใต้เครื่องมือผู้ดูแลระบบขยายวัตถุเซิร์ฟเวอร์คลิกขวาที่วัตถุแคชและเลือกล้างแคช nscd ไม่ได้อยู่ใน distro ของฉัน ในกรณีนั้นเพียงแค่ killall ตั้งชื่อแล้วเริ่มใหม่ มักจะเริ่มต้น /etc/rc.d/rc.bind
กิโล

สำหรับ mac: dscacheutil -flushcacheล้างแคชโลคัลในระบบปฏิบัติการไม่ใช่เซิร์ฟเวอร์เนม rndc flushจะล้างเซิร์ฟเวอร์ชื่อผูกบน mac ซึ่งจะมีผลกับคอมพิวเตอร์ทุกเครื่องที่ใช้เซิร์ฟเวอร์ชื่อนั้น
Matt Connolly

11

หากคุณใช้ BIND เป็นตัวแก้ไขสำหรับสำนักงานของคุณ - เช่น ไม่ส่งต่อไปยังตัวแก้ไขอื่น

ล้างทุกอย่างในแคช:

rndc flush

ล้างบันทึกเฉพาะ:

rndc flushname example.com

หากคุณกำลังส่งต่อแล้วคุณจะอยู่ในความเมตตาของแคชของผู้ส่ง



3

หากคุณใช้ Windows คุณสามารถใช้ nltest ได้

  /DSREGDNS - Force registration of all DC-specific DNS records
  /DSDEREGDNS:<DnsHostName> - Deregister DC-specific DNS records for specified DC
      /DOM:<DnsDomainName> /DOMGUID:<DomainGuid> /DSAGUID:<DsaGuid>
  /DSQUERYDNS - Query the status of the last update for all DC-specific DNS records

และถ้าคุณใช้ WINS, nbtstat


0

หากคุณใช้ Bind9 เป็นเซิร์ฟเวอร์ dns ให้เริ่มบริการใหม่

sudo service bind9 เริ่มต้นใหม่


สิ่งนี้ไม่เป็นความจริงสำหรับ distros ทั้งหมด RH / CentOS ใช้service named restartเช่นเดียวกับ Andy alludes ถึงข้างบน นี่จะเป็นคำตอบที่เป็นประโยชน์มากขึ้นหากคุณพบว่า distros มันเป็นเรื่องจริงสำหรับ (ฉันสงสัยว่ามันเป็น " เดเบียนและอนุพันธ์ " แต่ฉันไม่ใช่ผู้เชี่ยวชาญเดเบียน) และเพิ่มเข้าไปในนั้นที่กล่าวว่ายินดีต้อนรับสู่ SF!
MadHatter

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