Я недавно установил Ubuntu 16.10 и rsync сделал резервную копию моего предыдущего домашнего каталога с kubuntu 16.04 до моей новой установки. Все работает хорошо, но я не смог разрешить локальные адреса, несмотря на большое количество проб и ошибок.
Кажется, что все сети работают безупречно. Просмотр интернета, поиск DNS внешних адресов, ssh и т. Д. - это здорово. Локально, я могу получить доступ к машинам через ssh с их адресами, но не с их именами. В nautilus / samba все работает нормально, то есть работает WINS. Единственная проблема, по-видимому, заключается в локальной сети DNS. Я установил и запустил avahi-daemon, как и в Ubuntu.
Я включил некоторые способы устранения неполадок, используя << >> для сокращения избыточных или правильно работающих частей.
$ 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
Примечание: я потратил много времени на поиск «старых» решений до перехода Ubuntu на systemd.resolved в 16.10. Они не сработали для меня, и я не считаю, что это будет дубликат вопроса к аналогичным с предыдущими конфигурациями Ubuntu.
источник
Ответы:
Если я правильно понимаю ваш вопрос, вы не сможете разрешить свои локальные имена хостов.
При этом у меня была та же проблема со свежей установкой 16.10, и она оказалась известной проблемой ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624071 ), связанной с libnss. -решить в systemd.
Решение в моем случае состояло в том, чтобы просмотреть ваш файл /etc/nsswitch.conf и обратить особое внимание на то, как NSS разрешает ваши хосты:
Эта логика, по-видимому, не может разрешить имя хоста, даже не добравшись до mDNS.
Редактирование строки хостов до выпуска до 16.10 исправляет эту очевидную логическую ошибку:
Включенная ссылка на сообщение об ошибке предполагает, что будущий выпуск пакета systemd может в конечном итоге решить эту проблему.
Богатые
источник
Альтернативное решение, которое автоматически редактирует
/etc/nsswitch.conf
, удаляет [ edit: и переустанавливает]libnss-resolve
:источник
У меня была эта проблема со свежей установкой Ubuntu 17.04. Я решил переключиться с использования systemd-resolved на dnsmasq на своем ноутбуке (сервер имен также использует dnsmasq). Я следовал инструкциям в разделе Как отключить systemd-resolved и разрешить DNS с помощью dnsmasq?
источник