Имейте Ubuntu 16.04 версия LTS. Согласно задаче должен установить BIND как сервер DNS. Я заметил в nsswitch.conf, имеет:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Могли Вы объяснять, что делает mdns4_minimal
и mdns4
средний и как заставить систему использовать локальный экземпляр BIND для разрешения запросов DNS?
Да, я знаю, как запустить/остановить BIND.
systemctl enable bind9
systemctl start/stop bind9.
Это обеспечивается демоном Avahi/Bonjour, который позволяет компьютерам небольшой сети для использования имен, даже если никакой центральный DNS не присутствует. Это использует по умолчанию .local
домен.
Если Вы не используете .local
поскольку Ваш сервер DNS затем установил DNS после mDNS в nsswitch.conf
(значение по умолчанию)
hosts: files mdns4_minimal dns [NOTFOUND=return] mdns4
Иначе .local
используется Вашим сервером DNS (бывший бесполезный для mdns сервиса)
hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
Для ответа на Вас лучше сообщить, как я собираю такую информацию и учусь собой :) (##
чтобы комментарий сказал цель для команды ниже его),
## Update "locate" database
~$ sudo updatedb
## Search for file with "mdns4_minimal" in its name
~$ locate mdns4_minimal
/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
## Look for which package installs that file
~$ dpkg -S /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
libnss-mdns:amd64: /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
## List all files from same package
~$ dpkg -L libnss-mdns:amd64
/.
/usr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss-mdns
/usr/share/doc
/usr/share/doc/libnss-mdns
/usr/share/doc/libnss-mdns/copyright
/usr/share/doc/libnss-mdns/README.html
/usr/share/doc/libnss-mdns/README.Debian
/usr/share/doc/libnss-mdns/style.css
/usr/share/doc/libnss-mdns/changelog.Debian.gz
/lib
/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu/libnss_mdns4.so.2
/lib/x86_64-linux-gnu/libnss_mdns_minimal.so.2
/lib/x86_64-linux-gnu/libnss_mdns.so.2
/lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2
/lib/x86_64-linux-gnu/libnss_mdns6.so.2
/lib/x86_64-linux-gnu/libnss_mdns6_minimal.so.2
## "README.html" looks the only documentation there, we open it
~$ xdg-open /usr/share/doc/libnss-mdns/README.html
Документация
После компиляции и установки
nss-mdns
Вы найдете шесть новых модулей NSS в/lib
:
libnss_mdns.so.2
libnss_mdns4.so.2
libnss_mdns6.so.2
libnss_mdns_minimal.so.2
libnss_mdns4_minimal.so.2
libnss_mdns6_minimal.so.2
libnss_mdns.so.2
твердость и IPv6 и адреса IPv4,libnss_mdns4.so.2
только адреса IPv4 иlibnss_mdns6.so.2
только адреса IPv6. Вследствие того, что большинство mDNS респондентов только регистрирует локальные адреса IPv4 через mDNS, большинство людей захочет использоватьlibnss_mdns4.so.2
исключительно. Используяlibnss_mdns.so.2
илиlibnss_mdns6.so.2
в долгих тайм-аутах причин такой ситуации при разрешении хостов, так как самая современная проверка приложений Unix/Linux на IPv6 обращается сначала, сопровождаемый поиском для IPv4.
libnss_mdns{4,6,}_minimal.so
(новый в версии 0.8), главным образом идентично версиям без_minimal
. Однако они отличаются одним способом. Минимальные версии будут всегда отклонять для разрешения имен хостов, которые не заканчиваются в.local
или адреса, которые не находятся в диапазоне169.254.x.x
(диапазон используется IPV4LL/APIPA/RFC3927.) Объединение_minimal
и нормальные модули NSS позволяют нам делать mDNS авторитетный для имен хостов Zeroconf и адресов (и таким образом создающий дополнительную нагрузку на серверах DNS со всегда сбоем запросов) и использовать его в качестве нейтрализации для всего остального.
files
& dns
Модули NSS, обе поддержки, разрешающие IPv6 помимо IPv4.Однако mdns4
& mdns4_minimal
только для IPv4.
То же для mdns6
& mdns6_minimal
только для IPv6.
mdns
& mdns_minimal
поддерживайте обе IPv4 & IPv6, но ее использования нужно избежать, если только единственная версия IP развертывается в сети. Поскольку Это попытается разрешить к IPv6 затем нейтрализацию к IPv4, который может создать дополнительную задержку.
BTW, текущей установкой по умолчанию Avahi является IPv4, это - децентрализованный сервис. Таким образом для движения с IPv6, alls машина должно реконфигурированный для использования IPv6 в nsswitch
и avahi
также.
[]
подобный [NOTFOUND=return]
?Да, как мы видим от man nsswitch.conf
An action may also be specified following a service specification. The action modifies the behavior following a result obtained from the preceding data source. Action items take the general form: [STATUS=ACTION] [!STATUS=ACTION] where STATUS => success | notfound | unavail | tryagain ACTION => return | continue The ! negates the test, matching all possible results except the one specified. The case of the keywords is not significant. The STATUS value is matched against the result of the lookup function called by the pre‐ ceding service specification, and can be one of: success No error occurred and the requested entry is returned. The default action for this condition is "return". notfound The lookup succeeded, but the requested entry was not found. The default action for this condition is "continue". unavail The service is permanently unavailable. This can mean either that the required file cannot be read, or, for network services, that the server is not available or does not allow queries. The default action for this con‐ dition is "continue". tryagain The service is temporarily unavailable. This could mean a file is locked or a server currently cannot accept more connections. The default action for this condition is "continue". The ACTION value can be one of: return Return a result now. Do not call any further lookup functions. However, for compatibility reasons, if this is the selected action for the group database and the notfound status, and the configuration file does not con‐ tain the initgroups line, the next lookup function is always called, with‐ out affecting the search result. continue Call the next lookup function.