การตั้งค่าของฉัน:
/etc/ns-shared-resolv.conf
มีการเขียนถึงอย่างสม่ำเสมอด้วย เนมเซิร์ฟเวอร์ x.x.x.x
ปรับปรุงจากสคริปต์
/etc/netns/ag2/resolv.conf
เป็น symlink ด้านบน (พร้อมกับ ag3
, ag4
).. สำหรับการตั้งค่า DNS ส่วนกลางใน root netnsโอ
- บริการระยะยาวกำลังทำงานอยู่
ag2
เน็ต (ผ่าน ip netns exec ag2 ...
,เปิดตัวตั้งแต่ก ระบบ
บริการ)
เกิดอะไรขึ้น:
ทุกอย่างทำงานได้ดี .. สำหรับจำนวนชั่วโมงโดยพลการ หลังจากนั้น คำขอ DNS จะล้มเหลว โดยใช้ tcpdump
ฉันเห็นคำขอ DNS ไปที่ "ผิดที่" .. เซิร์ฟเวอร์ DNS ในรูท /etc/resolv.conf
,ไม่ใช่พวกเน็ทนะ.
ในเวลาเดียวกันในขณะที่ใช้งานไม่ได้ ip netns exec ag2 cat /etc/resolv.conf
ทำงานเพื่อแสดงการตั้งค่าที่ถูกต้อง
ถ้าฉันเริ่มต้นใหม่ ip netns exec ag2 ทุบตี
เชลล์จะได้รับ "ถูกต้อง" resolv.conf
(symlink ถึง /run/systemd/resolve/stub-resolv.conf
ซึ่งอัปเดต "สด" ด้วยเนื้อหาของ ns-shared-resolv.conf
)
ดังนั้นหลังจากผ่านไประยะหนึ่ง กระบวนการที่ใช้เวลานานจะได้รับราก resolv.conf
?
คำถาม:
เหตุใดสิ่งนี้จึงเกิดขึ้น / ฉันจะวินิจฉัยได้อย่างไรว่าใช้เซิร์ฟเวอร์ resolv.conf / DNS "ผิด" หลังจากระยะเวลาการสุ่มนี้
ฉันขอ DNS เริ่มต้นของอูบุนตูได้ไหม systemd-resolv
เซิร์ฟเวอร์ทำงานภายใน netns-es ดังนั้นฉันจึงไม่จำเป็นต้องทำเรื่องบ้าๆ นี่?
แก้ไข: ชอบคนนี้! --> https://www.reddit.com/r/linuxquestions/comments/dnh8wq/comment/fo1tbty/?utm_source=share&utm_medium=web2x&context=3