Score:0

วิธีการดีบัก Squid ERR_DNS_FAIL

ธง bd

ฉันกำลังจัดการพร็อกซีเว็บสองสามตัวที่ใช้ Squid 4.10 บน Ubuntu 20.04LTS ในหลายพื้นที่ทั่วโลก หนึ่งในนั้นพัฒนานิสัยที่น่ารังเกียจในบางครั้งไม่สามารถเข้าถึงหน้าเว็บได้ ผู้ใช้ได้รับหน้าแสดงข้อผิดพลาดแทนโดยระบุว่า:

อืม... ไม่สามารถเข้าถึงหน้านี้
ดูเหมือนว่าหน้าเว็บที่ <URL> อาจมีปัญหา
หรืออาจย้ายไปยังที่อยู่เว็บใหม่อย่างถาวร
ERR_TUNNEL_CONNECTION_FAILED

หลังจากเพิ่ม %err_code/%err_detail ถึงจุดสิ้นสุดที่เกี่ยวข้อง รูปแบบบันทึก ตามคำแนะนำบน โพสต์รายชื่อผู้รับจดหมายนี้, Squid access.log รายการสำหรับการเข้าถึงที่ล้มเหลวมีลักษณะดังนี้:

1635169354.239 171 10.72.1.103 ไม่มี/503 0 CONNECT ad.360yield.com:443 - HIER_
ไม่มี/- - ERR_DNS_FAIL/-

สถานะปลาหมึกคือ ไม่มี/503และรหัสข้อผิดพลาดและรายละเอียดเสมอ ERR_DNS_FAIL/-. การประทับเวลา ที่อยู่ IP ของไคลเอนต์ และ URL ที่ร้องขอจะแตกต่างกันไป

ปัญหาที่เกิดขึ้นแต่ละครั้งจะส่งผลต่อ FQDN เดียวหรือ FQDN จำนวนน้อยมาก ซึ่งมักจะมาจากองค์กรเดียวกันทั้งหมด (เช่นlm.licenses.adobe.com และ cc-api-data.adobe.io จาก Adobe ทั้งคู่) การเข้าถึงอื่นๆ ทั้งหมดยังคงทำงานได้ตามปกติ โดยทั่วไปเหตุการณ์จะคงอยู่ระหว่างห้าถึงสิบนาที ในช่วงเวลานั้นไคลเอ็นต์ทั้งหมดที่พยายามเข้าถึง FQDN จะได้รับผลกระทบ ก่อนและหลัง FQDN เดียวกันทำงานโดยไม่มีปัญหา ไม่มีความสม่ำเสมอที่มองเห็นได้ใน FQDN ที่ได้รับผลกระทบ

เหตุการณ์บางอย่างมาพร้อมกับข้อความเช่น:

2021/10/25 15:42:34 เด็ก1| ipcacheParse No Address บันทึกเพื่อตอบสนองต่อ 'ad.360yield.com'

ใน /var/log/squid/cache.log แต่ในกรณีส่วนใหญ่

ฉันจะรู้ได้อย่างไรว่ามีอะไรผิดพลาดที่นั่น?

Score:0
ธง bd

เพิ่มระดับล็อกสำหรับการค้นหา DNS เป็น 6 โดยใส่คำสั่ง

debug_options ทั้งหมด,1 78,6

เข้าไปข้างใน /etc/squid/squid.conf ทำให้ Squid เข้าสู่ระบบ /var/log/squid/cache.log เนมเซิร์ฟเวอร์ใดที่ใช้สำหรับการสืบค้นที่ล้มเหลว ตัวอย่างเช่น:

26/2021/10 16:16:43.088 เด็ก1| 78,3| dns_internal.cc(1369) idnsRead: idnsRead: FD 17: ได้รับ 32 ไบต์จาก 127.0.0.1:53
26/2021/10 16:16:43.088 เด็ก1| 78,3| dns_internal.cc(1176) idnsGrokReply: idnsGrokReply: QID 0x376f, 0 คำตอบ

จากนั้นสามารถตรวจสอบความล้มเหลวเพิ่มเติมบนเนมเซิร์ฟเวอร์นั้น

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

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา