บริษัทของฉันแจกจ่ายซอฟต์แวร์ให้กับลูกค้าบน Ubuntu VM เมื่อเร็ว ๆ นี้เราได้อัปเดต VM ไคลเอ็นต์ทั้งหมดจาก Ubuntu 16/18 เป็น Ubuntu 20.04
เราประสบปัญหาการจำแนกชื่อ DNS ไม่ทำงานบนเครือข่ายภายใน มันทำงานนอกเครือข่าย (เราสามารถ ping เว็บไซต์ภายนอกได้) แต่เราไม่สามารถเชื่อมต่อกับเครื่องในเครือข่ายภายในด้วยชื่อ DNS - โดยที่อยู่ IP เท่านั้น ในหลายกรณี เราสามารถแก้ไขชื่อ DNS ภายในบน VM เก่า (Ubuntu 16/18) ได้ แต่ใช้งานไม่ได้เมื่อเราติดตั้ง VM ใหม่โดยใช้การตั้งค่าเครือข่ายเดียวกัน
เรามักจะตั้งค่า VM ด้วย IP แบบคงที่ ฝ่ายไอทีของลูกค้าให้ข้อมูลเครือข่ายและเซิร์ฟเวอร์ DNS ภายในแก่เรา และเราได้ตั้งค่าของเรา 00-installer-config.yaml
ไฟล์ตาม
/etc/netplan/00-installer-config.yaml
ตัวอย่างการตั้งค่า:
เครือข่าย:
อีเธอร์เน็ต:
enp0s10f0:
ที่อยู่: [192.168.10.200/24]
เกตเวย์ 4: 192.168.10.1
เนมเซิร์ฟเวอร์:
ที่อยู่: [192.168.10.1, xxx.xxx.xxx.xxx ฯลฯ]
รุ่น: 2
ใน VM แบบเก่า เรามักจะไม่สามารถ ping เครื่องภายในด้วยชื่อ DNS ได้จนกว่าเราจะเพิ่มชื่อโดเมนภายในเครื่อง เช่น. ปิง fs01
จะไม่ทำงาน แต่ ping fs01.clientdomain.local
จะทำงาน. อย่างไรก็ตาม บน Ubuntu VM ดูเหมือนจะไม่ช่วยอะไรเลย เราต้องเปลี่ยนกลับเป็นที่อยู่ IP ของเซิร์ฟเวอร์ไฟล์เสมอแทนที่จะใช้ชื่อโดเมน ในกรณีส่วนใหญ่ เป็นเรื่องปกติเนื่องจาก IP เป็นแบบคงที่และไม่สามารถเปลี่ยนแปลงได้ แต่ก็ไม่เป็นเช่นนั้นเสมอไป และเราต้องการให้สามารถเชื่อมต่อผ่านชื่อ DNS ได้
เครือข่ายและโดเมนไม่เหมาะกับฉันจริงๆ ถ้าใครสามารถให้คำแนะนำเกี่ยวกับสิ่งที่ควรลองหรือพื้นที่สำหรับการวิจัยที่จะชื่นชมมาก!
อัปเดต
ฉันลองใช้คำแนะนำในการเพิ่มที่อยู่ IP ของเนมเซิร์ฟเวอร์ภายในไปยัง nslookup
คำสั่งและถ่ายภาพหน้าจอบางส่วน ดูเหมือนว่า VM สามารถค้นหาโฮสต์ด้วย nslookup
แต่เมื่อฉันรวม IP ของเนมเซิร์ฟเวอร์ไว้อย่างชัดเจนเท่านั้น
192.168.1.4 เป็นเนมเซิร์ฟเวอร์และโฮสต์ที่เรากำลังพยายามเชื่อมต่อด้วย
บันทึก: สิ่งนี้ใช้ได้กับ Ubuntu 18.04 VM รุ่นเก่าโดยใช้เนมเซิร์ฟเวอร์ภายในและชื่อโฮสต์ FQDN เดียวกัน
ปิงปกติ
user@ubuntu:~$ ping <hostname.domain.local>
ping: <hostname.domain.local>: การแก้ไขชื่อล้มเหลวชั่วคราว
nslookup ง่าย
user@ubuntu:~$ nslookup <hostname.domain.local>
เซิร์ฟเวอร์: 127.0.0.53
ที่อยู่: 127.0.0.53#53
** เซิร์ฟเวอร์ไม่พบ <hostname.domain.local>: SERVFAIL
nslookup ด้วยเนมเซิร์ฟเวอร์ IP
user@ubuntu:~$ nslookup <ชื่อโฮสต์.โดเมน.ท้องถิ่น> 192.168.1.4
เซิร์ฟเวอร์: 192.168.1.4## หัวข้อ ##
ที่อยู่: 192.168.1.4#53
ชื่อ: <hostname.domain.local>
ที่อยู่: 192.168.1.85
ชื่อ: <hostname.domain.local>
ที่อยู่: 192.168.1.4
ในกรณีนี้ เซิร์ฟเวอร์ชื่อ 192.168.1.4 เป็นรายการเซิร์ฟเวอร์ชื่อเดียวในไฟล์ yaml ของเรา ดังนั้นฉันจึงไม่เห็นว่านี่อาจเป็นปัญหากับลำดับของเนมเซิร์ฟเวอร์ในไฟล์ได้อย่างไร:
เครือข่าย:
อีเธอร์เน็ต:
enp0s10f0:
ที่อยู่: [192.168.1.21/24]
เกตเวย์ 4: <เกตเวย์>
เนมเซิร์ฟเวอร์:
ค้นหา: [<domain.local>]
ที่อยู่: [192.168.1.4]
รุ่น: 2