Я використовую Raspberry Pi 3 з Ubuntu 18.04. У моєї компанії у нас DNS-сервер і пара доменів з ".local". Я технічно знаю, що це неправильно, і натомість він повинен бути ".lan", тому що .local зарезервований для багатоадресної передачі даних. Але це так, і це неможливо легко змінити. Тому на своїй машині Windows я можу без проблем пінг і переглядати ці доменні імена. Однак на моєму Ubuntu я не можу.
Я не можу використовувати IP-адреси, оскільки деякі домени знаходяться на одній машині, а веб-сервер IIS розбирає речі, куди йде.
Я шукав, і він з'являється досить часто:
- https://smallbusiness.chron.com/resolving-local-ubuntu-38861.html
- Чому жоден з моїх локальних серверів не вирішує?
- сервер ubuntu не дозволяє вирішувати імена локальних мереж
Однак зміна /etc/nsswitch.conf не робить для мене хитрості. я намагався
- хости: файли mdns4_minimal [NOTFOUND = return] dns myhostname # за замовчуванням
- хости: файли dns
- хости: файли mdns4_minimal [NOTFOUND = продовження] dns myhostname
- хости: файли mdns4 [NOTFOUND = return] dns myhostname
- хости: файли mdns4 [NOTFOUND = продовження] dns myhostname
- хости: файли dns mdsn4_minimal myhostname
- господарі: dns
- кілька інших
Жоден з яких не працював. Я спробував перезавантажити і після зміни. Я спробував сказати avahi, що доменне ім’я = 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 запитувати сервер безпосередньо, я отримую правильну відповідь:
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 - це те саме, що і серверIP, але це не повинно бути проблемою.
Пінг або підключення через браузер, і це, звичайно, не працює. Ніхто не використовує запит dns.
Я в збитках, що робити. Звичайно, ми не можемо перейти на інше доменне ім’я. Я помістив ім’я сервера в / etc / hosts, але це лише тимчасове рішення.