💾 Archived View for betahowto.duckdns.org › yggdrasil:dns:dns_sys_configure captured on 2024-03-21 at 16:04:42. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-02-05)
-=-=-=-=-=-=-
Для корректного разрешения в системе доменных имен, необходимо прописать в ней адреса DNS-серверов.
В различных ОС это делается по-разному. Ниже приведены примеры с указанием публичных серверов ( gemini://betahowto.duckdns.org/yggdrasil:dns:alfis#список_публичных_серверов ) ALFIS ( gemini://betahowto.duckdns.org/yggdrasil:dns:alfis ).
Этот способ подойдет для Ubuntu ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Ubuntu ) 15.10+, Mint ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Linux_Mint ) 18.0+ и других дистрибутивов на базе Debian ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Debian ) версии 8 и выше, а так же, дистрибутивов, в которых systemd ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Systemd ) установлен по-умолчанию (RHEL ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Red_Hat_Enterprise_Linux ) 7+, CentOS ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/CentOS ) 7+, Fedora ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Fedora ) 15+ и др.).
В файл /etc/systemd/resolved.conf нужно прописать следующее:
[Resolve] DNS=302:db60::53 300:6223::53 302:7991::53 300:170::53 Domains=~.
здесь перечислены адреса DNS-серверов через пробел, без указания номеров портов.
в отдельных случаях можно отключить директиву
DNSStubListener=no
Далее нужно выполнить перезапуск службы systemd-resolved:
sudo systemctl restart systemd-resolved
Способ подойдет для систем, где для конфигурирования основного системного резолвера используется файл /etc/resolv.conf (Slackware ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Slackware ) и др.).
В файл /etc/resolv.conf нужно прописать следующее:
nameserver 302:db60::53 nameserver 300:6223::53 nameserver 302:7991::53 nameserver 300:170::53
Примечание: в некоторых случаях может потребоваться отключить для NetworkManager ( https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/NetworkManager ) управление резолвером (если NetworkManager присутствует в системе):
В файле /etc/NetworkManager/NetworkManager.conf, в секции [main] добавляется строка:
dns=none
После этого внесенные изменения в /etc/resolv.conf не будут перезаписываться при перезагрузке (перезапуске NetworkManager).
Если в системе используется динамическая конфигурация dhcp/resolvconf, следует обратить внимание на файл /etc/dhcp/dhclient.conf и закомментировать строки:
# domain-name, domain-name-servers, domain-search, host-name, # dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
Затем, добавить соответствующие nameserver в /etc/resolvconf/resolv.conf.d/base и перезагрузить настройки:
resolvconf -u
Проверить результат можно командой dig, в результирующем файле /etc/resolv.conf необходимый сервер должен быть расположен в начале списка.
Щёлкаем ПКМ по иконке "Сеть" в системном трее ( https://en.wikipedia.org/wiki/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 можно из командной строки:
netsh interface ip set dns name="Имя подключения" static 302:db60::53 netsh interface ip set dns name="Имя подключения" 300:6223::53 index=2
Можно использовать такой VB-скрипт ( https://ru.wikipedia.org/wiki/VBScript ):
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
Пример PowerShell ( https://ru.wikipedia.org/wiki/PowerShell )-скрипта:
Set-DnsClientServerAddress -InterfaceAlias "Yggdrasil" -ServerAddresses ("302:7991::53", "302:db60::53", "300:6223::53", "324:71e:281a:9ed3::53")
Если How to launch a command on network connection/disconnection? ( gemini://betahowto.duckdns.org/yggdrasil:Yggdrasil]] запускается, как системная служба, и вы хотите прописать DNS на адаптер Yggdrasil, то с помощью планировщика Windows можно создать задание, из которого будет запускаться нужный скрипт при активации нужного сетевого подключения. Пример можно посмотреть здесь: [[https://superuser.com/questions/262799/how-to-launch-a-command-on-network-connection-disconnection )
В некоторых случаях, когда меняется IP-адрес, к которому привязано доменное имя (например, если в ALFIS ( gemini://betahowto.duckdns.org/yggdrasil:dns:alfis ) перемайнили домен на новый адрес), система продолжает выдавать старый IP-адрес. Это связано с кешированием ( https://ru.wikipedia.org/wiki/Кэш ) данных DNS в вашей системе. В таких случаях нужно просто очистить кэш DNS.
Linux c systemd-resolved:
sudo systemd-resolve --flush-caches
Windows:
ipconfig /flushdns
Так же, может потребоваться очистить кэш браузера, которым вы пользуетесь.
Подробнее об этом можно почитать здесь ( 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 ).
gemini://betahowto.duckdns.org/yggdrasil:dns:alfis#список_публичных_серверов
gemini://betahowto.duckdns.org/yggdrasil:dns:alfis
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Ubuntu
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Linux_Mint
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Debian
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Systemd
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Red_Hat_Enterprise_Linux
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/CentOS
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Fedora
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/Slackware
https://en.wikipedia.org/wiki/https://ru.wikipedia.org/wiki/NetworkManager
https://ru.wikipedia.org/wiki/VBScript
https://ru.wikipedia.org/wiki/PowerShell
gemini://betahowto.duckdns.org/yggdrasil:Yggdrasil]]
https://superuser.com/questions/262799/how-to-launch-a-command-on-network-connection-disconnection
https://ru.wikipedia.org/wiki/Кэш