Ubuntu 16.10'da yerel DNS araması nasıl yapılandırılır?


9

Yeni Ubuntu 16.10'u yükledim ve kubuntu 16.04'ten yeni kurulumuma önceki ev dizinimin bir yedeğini rsync'd. İşler iyi çalışıyor, ancak çok fazla deneme yanılma rağmen yerel adresleri çözemedim.

Tüm ağlar kusursuz çalışıyor. İnternet tarama, dış adreslerin DNS araması, ssh, vb. Yerel olarak, makinelere adresleri ile ssh üzerinden erişebilirim, ancak adlarıyla erişemiyorum. Her şey nautilus / samba'da iyi çalışıyor, yani WINS çalışıyor. Tek sorun, yerel ağ DNS'sidir. Ubuntu ile birlikte geldiğim gibi avahi-daemon yüklü ve çalışıyor.

Gereksiz veya doğru çalışan bölümleri kısaltmak için << >> kullanarak bazı sorun giderme işlemleri ekledim.

$ nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

$ ping tendril8 << or tendril8.local >>
ping: tendril8: Name or service not known

$ ping gateway
PING gateway (192.168.1.1) 56(84) bytes of data.
64 bytes from gateway (192.168.1.1): icmp_seq=1 ttl=64 time=4.16 ms

$ ping askubuntu.com
PING askubuntu.com (151.101.129.69) 56(84) bytes of data.
64 bytes from 151.101.129.69 (151.101.129.69): icmp_seq=1 ttl=49 time=43.0 ms

$ nslookup askubuntu.com
Server:     127.0.1.1
Address:    127.0.0.1#53
<< followed by several IP addresses >>

$ nslookup tendril8 << or tendril8.local >>
Server:     127.0.1.1
Address:    127.0.0.1#53
** server can't find tendril8: NXDOMAIN

$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

$ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Oct 15 19:30 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files resolve [!UNAVAIL=return] mdns4_minimal dns [NOTFOUND=return]
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Not: Ubuntu'nun sistemd'ye geçmeden önce "eski" çözümlere bakmak için çok zaman harcadım. 16.10'da çözüldü. Benim için çalışmadılar ve bunun önceki Ubuntu yapılandırmalarıyla benzer sorulara yinelenen bir soru olduğuna inanmıyorum.


1
Bu yükseltilmiş sistemlerde de olur ... Sanırım bu soru günlerde çok fazla ziyaret alacak :)
Michele d'Amico

Ağ sorunları nefret onlar kötü. Ve bu beni sertçe ısırıyor, ama biraz farklı bir şekilde. Cevap benim için çözmedi. Detaylar için soruma bakın.
moodboom

Yanıtlar:


18

Sorunuzu doğru anlarsam, yerel ana makine adlarınızı çözemezsiniz.

Bu konuda, 16.10 yeni bir kurulumla aynı sorunu yaşadım ve libnss ile ilgili bilinen bir sorun ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624071 ) olduğu ortaya çıktı. -sistemde çözün.

Benim durumumdaki çözüm /etc/nsswitch.conf dosyanızı incelemek ve özellikle NSS'nin ana bilgisayarlarınızı nasıl çözdüğünü not etmekti:

hosts: files resolve [!UNAVAIL=return] mdns4_minimal [NOTFOUND=return] dns myhostname

Bu mantık, mDNS'ye geçmeden önce ana makine adı çözümlemesinde başarısız gibi görünüyor.

Ana bilgisayar satırını 16.10 öncesi bir sürüme geri düzenlemek, bu görünür mantık hatasını düzeltir:

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

Ekteki hata raporu bağlantısı, systemd paketinin gelecekteki bir sürümünün sonunda bu sorunu düzeltebileceğini düşündürmektedir.

Zengin


1
Hem bağlantı hem de örnekler ile harika cevap! Önerinizle oynadım ve "[NOTFOUND = return]" ve "[! UNAVAIL = return]" öncesinde "mdns4_minimal" taşındığı sürece işe yaradığını gördüm. Yerel adresler için hala .local sonekine ihtiyacım var.
mightypile


7

Otomatik olarak düzenleyen alternatif bir çözüm [ edit: ve yeniden yükleme]/etc/nsswitch.conf kaldırmaktır : libnss-resolve

sudo apt purge libnss-resolve
sudo apt install libnss-resolve

+1. Bu, sistem konfigürasyonunu, uğraşmadığımız paketler için sağlam tutmak isteyen kişiler için üstün bir çözümdür. Şimdiye kadar yükseltme / kurulum aracı tarafından yapılmalıdır ... 16.10 bir süredir var.
17'de eskhool

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.