TL;ดร:
ฉันต้องกำหนดค่าอะไรบ้างจึงจะแก้ไขได้ .ท้องถิ่น
ชื่อโฮสต์บนแขก VM ของฉันราวกับว่าฉันกำลังแก้ไขบนโฮสต์ VM ของฉัน
รุ่นยาว:
ฉันใช้ VM กับ Ubuntu 21.04 บน Windows 10 โดยใช้ VMware Workstation (16.1.1 build-17801498) อูบุนตูเองก็เกือบจะเป็นวานิลลา ฉันได้เปลี่ยนแปลงอะไรเกี่ยวกับ OS/env เอง (จริง ๆ แล้วตอนนี้ไม่มีอะไรอยู่ในใจ) อาจเป็นเรื่องน่าสังเกตว่าฉันอัปเกรดจาก Ubuntu เวอร์ชันก่อนหน้า ฉันเชื่อว่าเป็น 20.04
บนโฮสต์ฉันสามารถแก้ไขได้ foo.bar.local
ใช้งานได้ดี nslookup:
> nslookup foo.bar.local
เซิร์ฟเวอร์: <...>
ที่อยู่: 10.73.1.9
ชื่อ: <...>
ที่อยู่: 10.132.0.30
นามแฝง: foo.bar.local
ในแขก ความพยายามเดียวกันในการแก้ไขล้มเหลวตามค่าเริ่มต้น
> โฮสต์ foo.bar.local
ไม่พบโฮสต์ foo.bar.local: 2(SERVFAIL)
แต่ฉันสามารถแก้ชื่อได้ถ้าฉันบอก เจ้าภาพ เพื่อใช้เซิร์ฟเวอร์ DNS เดียวกันกับที่ตอบสนองก่อนหน้านี้บนโฮสต์ (VM):
> โฮสต์ ordermanagement-migration.comventure.local 10.73.1.9
ใช้เซิร์ฟเวอร์โดเมน:
ชื่อ: 10.73.1.9
ที่อยู่: 10.73.1.9#53
นามแฝง:
foo.bar.local เป็นนามแฝงของ hello.world.local
hello.world.local มีที่อยู่ 10.132.0.30
ดังนั้นฉันจึงคิดว่า "ทำไมไม่ใช้เซิร์ฟเวอร์นั้นตลอดเวลา" และพยายามกำหนดค่าผ่าน GUI ของตัวจัดการเครือข่าย: เปิดการตั้งค่าเครือข่าย ไปที่แท็บ IPv4 ปิดใช้งาน "อัตโนมัติ" และป้อน IP ในช่อง เนื่องจาก VM ของฉันมีการกำหนดค่าสองอินเทอร์เฟซ (เครือข่ายเฉพาะโฮสต์ & NAT ปกติสำหรับการเข้าถึง inet สาธารณะ) และเพื่อความปลอดภัย ฉันจึงทำสิ่งนี้สำหรับทั้งสองอินเทอร์เฟซ ฉันประหลาดใจที่ไม่มีเวลารอหลังจากยืนยันการเปลี่ยนแปลงเหล่านั้นจริง ๆ แล้วนำไปสู่การเปลี่ยนแปลงที่สังเกตได้ในผลลัพธ์ของ systemd-แก้ไข -- สถานะ
: สำหรับอินเทอร์เฟซทั้งสองนั้น ก.ค.ศ.1
ที่อยู่เป็นเซิร์ฟเวอร์ DNS ฉันต้องปิดใช้งานอินเทอร์เฟซก่อน หลังจากนั้น IP ของเซิร์ฟเวอร์จะแสดงขึ้น:
ทั่วโลก
โปรโตคอล: -LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
โหมด resolv.conf: ต้นขั้ว
ลิงค์ 2 (ens33)
ขอบเขตปัจจุบัน: DNS
โปรโตคอล: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
เซิร์ฟเวอร์ DNS ปัจจุบัน: 10.73.1.9
เซิร์ฟเวอร์ DNS: 10.73.1.9
ลิงค์ 3 (ens38)
ขอบเขตปัจจุบัน: ไม่มี
โปรโตคอล: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
ลิงค์ 4 (นักเทียบท่า 0)
ขอบเขตปัจจุบัน: ไม่มี
โปรโตคอล: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=ไม่/ไม่รองรับ
ฉันไม่เข้าใจว่าทำไม ens38
(การเข้าถึง inet สาธารณะ) ไม่มีการแสดงเซิร์ฟเวอร์ DNS อีกต่อไป ณ จุดนี้ สิ่งต่าง ๆ สับสนมากยิ่งขึ้นเนื่องจากการเปิดใช้งานอินเทอร์เฟซ (ในตัวจัดการเครือข่าย) ซึ่งก่อนหน้านี้ฉันได้ปิดใช้งาน "อัตโนมัติ" สำหรับ DNS ก็แสดงเป็น "อัตโนมัติ" เป็นเปิดใช้งาน แต่ยังแสดงรายการ DNS IP ด้วยตนเองและ systemd-แก้ไข -- สถานะ
แต่ข้าพเจ้าก็ยังไม่สามารถแก้ไขได้ foo.bar.local
.
ฉันยังพยายามตั้งค่า 10.73.1.9
เป็นเซิร์ฟเวอร์ DNS หลักโดยตรงในการตั้งค่า NAT/DNS ของเวิร์กสเตชัน VMware แต่ไม่มีประโยชน์
แล้วจะรับได้อย่างไร foo.bar.local
สามารถแก้ไขได้บนแขก (VM) ของฉันโดยค่าเริ่มต้น หรืออีกนัยหนึ่งคือไม่ต้องระบุ 10.73.1.9
เป็นเนมเซิร์ฟเวอร์ที่จะใช้ - ซึ่งฉันไม่สามารถทำได้ในบริบทของแอปพลิเคชันที่ฉันต้องการ foo.bar.local
แก้ไขได้
ภาคผนวก: มี VPN ที่เกี่ยวข้องกับโฮสต์ VM ของฉันในกรณีที่อาจเกี่ยวข้อง ฉันเปิดใช้งานและเชื่อมต่อตลอดเวลาเมื่อใช้โฮสต์ (VM)