howto-db/data/pages/yggdrasil/dns/dns_sys_configure.txt
2024-02-10 12:53:55 +00:00

95 lines
7.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====== Настройка DNS в различных операционных системах ======
Для корректного разрешения в системе доменных имен, необходимо прописать в ней адреса DNS-серверов.
В различных ОС это делается по-разному. Ниже приведены примеры с указанием [[yggdrasil:dns:alfis#список_публичных_серверов|публичных серверов]] [[yggdrasil:dns:alfis|ALFIS]].
===== Системы c systemd-resolved =====
Этот способ подойдет для [[wp>https://ru.wikipedia.org/wiki/Ubuntu|Ubuntu]] 15.10+, [[wp>https://ru.wikipedia.org/wiki/Linux_Mint|Mint]] 18.0+ и других дистрибутивов на базе [[wp>https://ru.wikipedia.org/wiki/Debian|Debian]] версии 8 и выше, а так же, дистрибутивов, в которых [[wp>https://ru.wikipedia.org/wiki/Systemd|systemd]] установлен по-умолчанию ([[wp>https://ru.wikipedia.org/wiki/Red_Hat_Enterprise_Linux|RHEL]] 7+, [[wp>https://ru.wikipedia.org/wiki/CentOS|CentOS]] 7+, [[wp>https://ru.wikipedia.org/wiki/Fedora|Fedora]] 15+ и др.).
В файл ''%%/etc/systemd/resolved.conf%%'' нужно прописать следующее:
<code>[Resolve]
DNS=302:db60::53 300:6223::53 302:7991::53 300:170::53
Domains=~.
</code>
здесь перечислены адреса DNS-серверов через пробел, //без указания номеров портов//.
в отдельных случаях можно отключить директиву
<code>
DNSStubListener=no
</code>
Далее нужно выполнить перезапуск службы systemd-resolved:
<code>sudo systemctl restart systemd-resolved</code>
===== Системы без systemd =====
Способ подойдет для систем, где для конфигурирования основного системного резолвера используется файл ''%%/etc/resolv.conf%%'' ([[wp>https://ru.wikipedia.org/wiki/Slackware|Slackware]] и др.).
В файл ''%%/etc/resolv.conf%%'' нужно прописать следующее:
<code>nameserver 302:db60::53
nameserver 300:6223::53
nameserver 302:7991::53
nameserver 300:170::53</code>
**Примечание:** в некоторых случаях может потребоваться отключить для [[wp>https://ru.wikipedia.org/wiki/NetworkManager|NetworkManager]] управление резолвером (если NetworkManager присутствует в системе):\\
В файле ''%%/etc/NetworkManager/NetworkManager.conf%%'', в секции ''%%[main]%%'' добавляется строка:
<code>dns=none</code>
После этого внесенные изменения в ''%%/etc/resolv.conf%%'' не будут перезаписываться при перезагрузке (перезапуске NetworkManager).
==== dhcp/resolvconf ====
Если в системе используется динамическая конфигурация dhcp/resolvconf, следует обратить внимание на файл ''%%/etc/dhcp/dhclient.conf%%'' и закомментировать строки:
<code>
# domain-name, domain-name-servers, domain-search, host-name,
# dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
</code>
Затем, добавить соответствующие nameserver в ''%%/etc/resolvconf/resolv.conf.d/base%%'' и перезагрузить настройки:
<code>
resolvconf -u
</code>
Проверить результат можно командой ''%%dig%%'', в результирующем файле ''%%/etc/resolv.conf%%'' необходимый сервер должен быть расположен в начале списка.
===== Windows =====
Щёлкаем ПКМ по иконке "Сеть" в [[wp>https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C_%D1%83%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9|системном трее]], выбираем "Центр управления сетями и общим доступом". В открывшемся окне нажимаем "Изменение параметров адаптера", щёлкаем ПКМ на адаптере Yggdrasil, выбираем "Свойства", в открывшемся окне выделяем "Протокол Интернета версии 6", нажимаем кнопку "Свойства", в поле "Предпочитаемый DNS-сервер" прописываем: 302:db60::53, в поле "Альтернативный DNS-сервер" прописываем 300:6223::53, нажимаем ОК во всех окнах, где есть эта кнопка.
Так же, в Windows настроить DNS можно из командной строки:
<code>netsh interface ip set dns name="Имя подключения" static 302:db60::53
netsh interface ip set dns name="Имя подключения" 300:6223::53 index=2</code>
Можно использовать такой [[wpru>VBScript|VB-скрипт]]:
<code>Set oShell = CreateObject("Shell.Application")
oShell.ShellExecute "netsh.exe", "interface ip set dns name=""Подключение по локальной сети"" static 302:db60::53", "", "runas", 0
oShell.ShellExecute "netsh.exe", "interface ip add dns name=""Подключение по локальной сети"" 300:6223::53 index=2", "", "runas", 0
'возврат к значениям, устанавливаемым DHCP
'oShell.ShellExecute "netsh.exe", "interface ip set dnsservers name=""Подключение по локальной сети"" source=dhcp", "", "runas", 0
</code>
Пример [[wpru>PowerShell|PowerShell]]-скрипта:
<code>Set-DnsClientServerAddress -InterfaceAlias "Yggdrasil" -ServerAddresses ("302:7991::53", "302:db60::53", "300:6223::53", "324:71e:281a:9ed3::53")</code>
Если [[yggdrasil:Yggdrasil]] запускается, как системная служба, и вы хотите прописать DNS на адаптер Yggdrasil, то с помощью планировщика Windows можно создать задание, из которого будет запускаться нужный скрипт при активации нужного сетевого подключения. Пример можно посмотреть здесь: [[https://superuser.com/questions/262799/how-to-launch-a-command-on-network-connection-disconnection|How to launch a command on network connection/disconnection?]]
====== Очистка кэша DNS ======
В некоторых случаях, когда меняется IP-адрес, к которому привязано доменное имя (например, если в [[yggdrasil:dns:alfis|ALFIS]] перемайнили домен на новый адрес), система продолжает выдавать старый IP-адрес. Это связано с [[wpru>Кэш|кешированием]] данных DNS в вашей системе. В таких случаях нужно просто очистить кэш DNS.
Linux c systemd-resolved:
<code>sudo systemd-resolve --flush-caches</code>
Windows:
<code>ipconfig /flushdns</code>
Так же, может потребоваться очистить кэш браузера, которым вы пользуетесь.
Подробнее об этом можно почитать [[https://www.google.com/search?q=%D0%BA%D0%B0%D0%BA+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C+%D0%BA%D1%8D%D1%88+dns+%D0%B2+linux|здесь]] или [[https://www.google.com/search?q=%D0%BA%D0%B0%D0%BA+%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C+%D0%BA%D1%8D%D1%88+dns+%D0%B2+windows|здесь]].