How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
8.1 KiB
107 lines
8.1 KiB
====== Настройка DNS в различных операционных системах ====== |
|
|
|
Для корректного разрешения в системе доменных имен, необходимо прописать в ней адреса DNS-серверов. |
|
В различных ОС это делается по-разному. Ниже приведены примеры с указанием [[yggdrasil:dns:alfis#список_публичных_серверов|публичных серверов]] [[yggdrasil:dns:alfis|ALFIS]]. |
|
|
|
===== Системы c systemd-resolved ===== |
|
|
|
Этот способ подойдет для [[wpru>Ubuntu|Ubuntu]] 15.10+, [[wpru>Linux_Mint|Mint]] 18.0+ и других дистрибутивов на базе [[wpru>Debian|Debian]] версии 8 и выше, а так же, дистрибутивов, в которых [[wpru>Systemd|systemd]] установлен по-умолчанию ([[wpru>Red_Hat_Enterprise_Linux|RHEL]] 7+, [[wpru>CentOS|CentOS]] 7+, [[wpru>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%%'' ([[wpru>Slackware|Slackware]], [[wpru>Debian|Debian]] и др.). |
|
|
|
В файл ''%%/etc/resolv.conf%%'' нужно прописать следующее: |
|
|
|
<file - /etc/resolv.conf> |
|
nameserver 302:db60::53 |
|
nameserver 300:6223::53 |
|
nameserver 302:7991::53 |
|
nameserver 300:170::53 |
|
</file> |
|
|
|
Выборка DNS осуществляется с верхнего в списке.\\ |
|
На случай отключения пира Yggdrasil, можно добавить аварийный CloudFlare и переключаться на него по тайм-ауту 5 секунд: |
|
|
|
<file - /etc/resolv.conf> |
|
nameserver 301:5eb5:f061:678e::53 |
|
nameserver 1.1.1.1 |
|
options timeout:5 |
|
</file> |
|
|
|
Дополнительные опции ''%%resolv.conf%%'' описаны в [[https://man7.org/linux/man-pages/man5/resolver.5.html|документации]]. |
|
|
|
**Примечание:** в некоторых случаях может потребоваться отключить для [[wpru>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 ===== |
|
|
|
Щёлкаем ПКМ по иконке "Сеть" в [[wpru>Область_уведомлений|системном трее]], выбираем "Центр управления сетями и общим доступом". В открывшемся окне нажимаем "Изменение параметров адаптера", щёлкаем ПКМ на адаптере 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|здесь]]. |