ฉันใช้ Raspberry Pi 3 กับ Ubuntu 18.04 ที่ บริษัท ของฉันเรามีเซิร์ฟเวอร์ DNS และสองสามโดเมนที่มี ".local" ฉันรู้ว่าเทคนิคนี้ไม่ถูกต้องและควรเป็น ".lan" แทนเนื่องจาก. local ถูกสงวนไว้สำหรับ multicast dns แต่นั่นคือวิธีที่มันเป็นและไม่สามารถเปลี่ยนแปลงได้ง่าย ดังนั้นบนเครื่อง windows ของฉันฉันสามารถ ping และเรียกดูชื่อโดเมนเหล่านั้นได้โดยไม่มีปัญหา บน Ubuntu ของฉัน แต่ฉันทำไม่ได้
ฉันไม่สามารถใช้ IP ได้เพราะบางโดเมนอยู่ในเครื่องเดียวกันและเว็บเซิร์ฟเวอร์ IIS จะเรียงลำดับสิ่งที่เกิดขึ้น
ฉันค้นหาแล้วมันก็เกิดขึ้นบ่อย:
- https://smallbusiness.chron.com/resolving-local-ubuntu-38861.html
- เหตุใดเซิร์ฟเวอร์ในพื้นที่ของฉันจึงไม่แก้ไข
- เซิร์ฟเวอร์ ubuntu ไม่ได้แก้ไขชื่อโฮสต์ LAN
อย่างไรก็ตามการเปลี่ยน /etc/nsswitch.conf ไม่ได้ทำเพื่อฉัน ฉันเหนื่อย
- โฮสต์: ไฟล์ mdns4_minimal [NOTFOUND = return] dns myhostname # default
- โฮสต์: ไฟล์ DNS
- โฮสต์: ไฟล์ mdns4_minimal [NOTFOUND = ดำเนินการต่อ] dns myhostname
- โฮสต์: ไฟล์ mdns4 [NOTFOUND = return] dns myhostname
- โฮสต์: ไฟล์ mdns4 [NOTFOUND = ดำเนินการต่อ] dns myhostname
- โฮสต์: ไฟล์ dns mdsn4_minimal myhostname
- ครอบครัว: dns
- อื่น ๆ ไม่กี่
ไม่ทำงานเลย ฉันพยายามรีบูตเครื่องหลังจากมีการเปลี่ยนแปลงเช่นกัน ฉันพยายามบอก avahi ว่า domain-name = alocal ใน /etc/avahi/avahi-daemon.conf ไม่ทำงานหลังจากรีสตาร์ทบริการไม่ทำงานหลังจากรีบูต หลังจากสิ่งนี้ไม่ทำงานฉันพยายามปิดการใช้งานบริการ avahi-daemon ทั้งหมด
sudo systemctl disable avahi-daemon
หลังจากรีบูตฉันลองพีชคณิตสองสามครั้งใน /etc/nsswitch.conf อีกครั้งโดยไม่มีผลกระทบ
ด้วยการตั้งค่าปัจจุบันของฉันในโฮสต์ (ไฟล์ DNS) ฉันได้รับคำตอบนี้:
dig login.name.local # not the actual name
; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33538
;; flags: qr rd ra; QUERY: 1, ANSWER:0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;login.name.local. 0 IN A
;; Query time: 2msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE rcvd: 56
อย่างไรก็ตามเมื่อฉันสั่งให้ขุดสอบถามเซิร์ฟเวอร์โดยตรงฉันได้รับคำตอบที่ถูกต้อง:
dig @dnsIP login.name.local
; <<>> Dig 9.11.3-1ubuntu1.1-Ubuntu <<>> login.name.local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; WARNING .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57866
;; flags: qr aa rd ra; QUERY: 1, ANSWER:1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;login.name.local. 0 IN A
;; ANSWER SECTION:
login.name.local. 3600 IN A serverIP
;; Query time: 2msec
;; SERVER: dnsIP#53(dnsIP)
;; WHEN: Thu Aug 23 10:51:50 CEST 2018
;; MSG SIZE rcvd: 56
Ubuntu รุ่นนี้ใช้ netplan กับผู้จัดการเครือข่าย IP DNS ที่ถูกต้องนั้นอยู่ในรายการแน่นอน (อันที่จริงมันเป็น DNS หลัก) นอกจากนี้ dnsIp เหมือนกับ serverIP แต่นั่นไม่ควรเป็นปัญหา
Ping หรือเชื่อมต่อผ่านเบราว์เซอร์และแน่นอนว่ามันไม่ทำงาน ไม่มีใช้แบบสอบถาม DNS
ฉันกำลังสูญเสียในสิ่งที่ต้องทำ แน่นอนว่าเราไม่สามารถเปลี่ยนเป็นชื่อโดเมนอื่นได้ ฉันใส่ชื่อเซิร์ฟเวอร์ใน / etc / hosts แต่นั่นเป็นเพียงวิธีแก้ปัญหาชั่วคราว