Настройка dns windows linux

Как настроить простой DNS-сервер для локальной сети

Если вы впервые столкнулись с необходимостью поднять DNS-сервер для локальной сети под Linux, то эта статья – для вас. Преимущество предлагаемого способа – простота: сервер можно настроить буквально за несколько минут. Но этот способ, скорее всего, не подойдёт для продакшн серверов.

Автор статьи провёл несколько часов в борьбе с ошибками, багами и непонятным поведением системы прежде чем получил стабильный результат.

Далее будем считать, что имеется локальная сеть, состоящая из нескольких хостов. Локальная сеть настроена, сетевой доступ между хостами имеется. На хостах установлен Ubuntu 18.04.4 LTS (для других версий не проверялось).

Шаг 1. Установка необходимых пакетов

Следующие шаги выполняются на хосте, на котором будет устанавливаться DNS-сервер.

    Установите Dnsmasq: sudo apt-get install dnsmasq При установке выведутся следующие ошибки:

failed to create listening socket for port 53: Address already in use
FAILED to start up
Failed to start dnsmasq — A lightweight DHCP and caching DNS server.

При рестарте системы файл /etc/resolv.conf автоматически пересоздаётся. Поэтому если прописать в него нужный адрес вручную, то изменения окажутся стёртыми после перезапуска. По умолчанию после перезапуска в этот файл прописывается адрес 127.0.0.53 , который используется сервисом systemd-resolve . Этот сервис осуществляет определение IP-адресов доменов для приложений, работающих на том же хосте, на котором запущен сервис. Но мы планируем перестать использовать этот сервис и начать использовать dnsmasq .

Шаг 2. Настройка пакетов

  1. Отредактируйте файл /etc/dnsmasq.conf :
  1. no-resolv Эта настройка выключает загрузку настроек из /etc/resolv.conf . Все настройки будут браться из редактируемого файла /etc/dnsmasq.conf . Это сильно упрощает конфигурацию Dnsmasq’а, поскольку файл /etc/resolv.conf автоматически пересоздаётся при рестарте системы.
  2. server=8.8.8.8 8.8.8.8 — это адрес DNS-сервера Гугл. Этот адрес можно заменить на любой другой адрес публичного DNS-сервера. Например, на адрес DNS-сервера вашего провайдера или ранее используемого DNS-сервера. Запросы, которые не сможет обработать Dnsmasq будут направлены на этот сервер.
  3. listen-address=0.0.0.0 Эта настройка позволит осуществлять запросы к Dnsmasq’у с других хостов.
  4. bind-interfaces Задаёт режим, при котором Dnsmasq не осуществляет привязку к интерфейсам, по которым не должна осуществляться обработка запросов. Без этой настройки в предлагаемом варианте конфигурации сервер не работает.

Шаг 3. Настройка используемых DNS-серверов

Данная настройка выполняется на всех хостах-клиентах, с которых будут отправляться запросы на хост с сервисом Dnsmasq.

Читайте также:  Установка deb файла astra linux

Проще всего настроить используемые DNS-сервера в графическом интерфейсе. Укажите адрес хоста, на котором установлен Dnsmasq, первым в списке:

Шаг 4. Локальное тестирование DNS-сервера

Проверку настроек можно и не делать. Но если вам интересно узнать, всё ли работает правильно, то выполните следующие команды на хосте с сервисом Dnsmasq.

  1. Проверьте, что в файле /etc/resolve.conf прописан адрес 127.0.0.1 : cat /etc/resolve.conf
  2. Выполните команду: sudo netstat -tulpen Вы должны увидеть, что адрес 0.0.0.0:53 занят Dnsmasq’ом, а адрес 127.0.0.53:53 не фигурирует в списке.
  3. Выполните команду: dig ya.ru Вы должны получить вывод, в котором присутствует примерно такая строчка. В начале строки не должно быть символов ; . ya.ru. 220 IN A 87.250.250.242
  4. Выполните команду: dig myserver.tst Вы должны получить вывод, в котором присутствует примерно такая строчка: myserver.tst. 0 IN A 1.2.3.4

Шаг 5. Тестирование DNS-сервера с других хостов

Теперь можно проверить работу DNS-сервера с других хостов.

Выполните пункты 3 и 4 из предыдущего раздела. Вывод в консоль должен быть аналогичен результатам, указанным в предыдущем разделе.

Дополнительная информация

  1. Следующая команда в режиме реального времени выводит в консоль все запросы, выполняемые на порт 53. Это помогает определить факт выполнения запросов. sudo tcpdump -l port 53 Данную команду логично выполнять в другом терминале – не в том, в который вводятся команды, подлежащие проверке.
  2. Обратите внимание, что DNS-запросы кэшируются и сервисом systemd-resolved, и сервисом dnsmasq. Для сброса кэша проще всего перезапустить используемый сервис: sudo systemctl restart dnsmasq (на серверном хосте) sudo systemctl restart systemd-resolved (на клиентских хостах)

Заключение

В этой статье мы рассмотрели, как можно сравнительно быстро настроить DNS-сервер для локальной сети под Linux. Если вы знаете какие-то другие фишки по настройке DNS-сервера, напишите об этом в комментариях.

Источник

Настройка публичных DNS-серверов

Смена DNS-сервера может понадобиться в случаях, когда из вашей сети недоступен сайт — например, при переходе по доменному имени происходит обращение к неверному IP. Такое может произойти, когда долго не обновляется кэш DNS-сервера вашего провайдера.

В этом случае можно заменить DNS, предоставляемый провайдером интернета, на альтернативный публичный DNS. Публичные DNS предоставляются такими сервисами, как Google, Yandex, Cloudflare и многими другими; вы можете найти информацию о них в сети.

В этой инструкции мы будем использовать Google Public DNS — публичные DNS-серверы Google:

Рассмотрим настройку для операционных систем:

Windows

На устройствах с ОС Windows сначала нужно изменить DNS в сетевых настройках, после чего очистить кэш DNS.

control.exe /name Microsoft.NetworkandSharingCenter
  1. Откроется окно настроек. В разделе «Просмотр основных сведений о сети и настройка подключений» кликните на сеть в пункте «Подключения».
  1. На вкладке «Общие» выберите пункт «Использовать следующие адреса DNS-серверов» и введите нужные DNS-адреса в поля «Предпочитаемый DNS-сервер» и «Альтернативный DNS-cepвep». В зависимости от выбранного провайдера DNS, второе поле может оставаться пустым.
Читайте также:  Linux mint удалить flatpack

Теперь необходимо выполнить очистку кэша DNS.

  1. Кликните правой кнопкой мыши по иконке Windows (меню Пуск) и выберите опцию «Командная строка (администратор)» или «Windows PowerShell (администратор)».
  2. Введите команду:

Вы увидите подобный вывод:

macOS

Для смены DNS-серверов на устройствах под управлением macOS необходимо перейти в настройки сетевого подключения и указать IP-адрес DNS-сервера.

  1. Откройте меню Apple (иконка яблока) и выберите пункт «Системные настройки». После перейдите в меню «Сеть».
  1. В появившемся окне перейдите во вкладку «DNS», нажмите значок «+» и введите IP-адрес нужного DNS-сервера.

После нажмите «OK», и DNS-серверы будут добавлены.

Linux

Мы рассмотрим смену DNS в Linux на примере Ubuntu 20.04 LTS. Мы будем использовать графический интерфейс Ubuntu, но также можно изменить DNS через терминал.

  1. Войдите в настройки сетевого соединения. Для этого выберите пункт «Параметры соединения» в меню подключенной сети.
  1. В блоке «DNS» отключите автоматическое получение IP-адресов DNS и укажите в строке «DNS» нужные адреса через запятую.

Источник

Как изменить настройки DNS-серверов

В статье мы расскажем, как изменить настройки DNS-серверов на популярных ОС: Ubuntu, Debian, Centos и Windows Server.

Самые распространённые причины смены DNS-серверов:

  • увеличение скорости загрузки сайта в браузере,
  • настройка родительского контроля (чтобы дети не просматривали нежелательный контент),
  • защита от фишинга и другие.

Ubuntu 18.04

Изменить DNS-серверы поможет служба netplan. С её помощью нужно отредактировать её конфигурационный файл 01-netcfg.yaml.

sudo nano /etc/netplan/01-netcfg.yaml
network: ethernets: eth0: addresses: - 123.123.123.123/24 - 2002:7b7b:7b7b:0:0:0:0:0/64 gateway4: 123.123.123.123 gateway6: 2002:7b7b:7b7b:0:0:0:0:0 nameservers: addresses: - 1.1.1.1 - 1.0.0.1 renderer: networkd version: 2
nameservers: addresses: - 8.8.8.8 - 8.8.4.4
systemd-resolve --status | grep 'DNS Servers' -A2

Ubuntu 20.04/Debian

sudo nano /etc/systemd/resolved.conf
sudo systemctl restart systemd-resolved
systemd-resolve --status | grep 'DNS Servers' -A2

CentOS

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 2002:7b7b:7b7b:0:0:0:0:0 inet 123.123.123.123/24 brd 123.123.123.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2002:7b7b:7b7b:0:0:0:0:0/64 scope global valid_lft forever preferred_lft forever inet6 2002:7b7b:7b7b:0:0:0:0:0/64 scope link valid_lft forever preferred_lft forever 3: eth1: mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:e4:b4:cc brd ff:ff:ff:ff:ff:ff

Слева от значения отображается параметр, который отвечает за название конфигурационного файла (в нашем примере это eth0). Его название будет отличаться в зависимости от настроек.

sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0

Вместо eth0 укажите название вашего конфигурационного файла. На экране отобразится содержимое файла:

NAME="eno1" ONBOOT=yes BOOTPROTO=static HWADDR="2002:7b7b:7b7b:0:0:0:0:0" IPADDR="123.123.123.123" NETMASK="255.255.255.0" GATEWAY="123.123.123.123" TYPE=Ethernet DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=123.123.123.123 PREFIX=24 GATEWAY=123.123.123.123 DNS1=1.1.1.1 DNS2=1.0.0.1 IPV6INIT=yes IPV6ADDR=2002:7b7b:7b7b:0:0:0:0:0::3f9d/64 IPV6_DEFAULTGW=2002:7b7b:7b7b:0:0:0:0:0

Вместо 8.8.8.8 и 8.8.4.4 будут указаны ваши IP-адреса. Если вам нужно добавить дополнительные DNS-серверы, добавьте их на следующих строках как DNS3 и DNS4.

systemctl restart network

Источник

Регистрация Linux в DNS Windows 2008 R2

При необходимости иметь AD, службы DNS и DHCP проще использовать стандартные в поставке Windows Server. Практически не нуждается в настройке, разве что авторизацию DHCP в DNS включить. А автоматическая регистрация хостов работает «из коробки».

Однако Linux машины обслуживаемые тем же DHCP, что и Windows машины, автоматически не регистрируются в DNS. Да и в DHCP имя хоста пустое.

Пустое имя хоста в Windows DHCP сервере

В случае с Debian, решение проблемы не сложное, скорее всего в других дистрибутивах действия будут аналогичными.

Настройка Dibian

В /etc/dhcp/dhclient.conf добавить строку:

send host-name «hostname«;

где hostname — имя Linux хоста

Или автоматически получить имя хоста:

send host-name = gethostname();

Согласно man’у имя может как содержать имя домена, так и не содержать его, с рекомендацией указывать только имя машины, без домена.

option host-name string;
This option specifies the name of the client. The name may or may not be qualified with the local domain name (it is preferable to use the domain-name option to specify the domain name). See RFC 1035 for character set restrictions. This option is only honored by dhclient-script(8) if the hostname for the client machine is not set.

Этим мы заставим DHCP Client при запросе IP адреса передавать имя хоста. Этого более чем достаточно, чтобы в оснастке DHCP сервера появилось полное доменное имя хоста. Мне лишь не понятно, почему указание имени машины при DHCP запросах не является настройкой по-умолчанию, ну да ладно.

Примените изменения любым удобным вам образом, хоть перезагрузкой.

Настройка Windows Server

В оснастке DHCP сервера уже видно полное доменное имя хоста, который мы настраиваем.

Имя хоста в Windows DHCP сервере

Но в DNS новых записей не появилось, хотя DHCP настроен на обновление DNS (я надеюсь, что вы выполнили эту настройку еще когда поднимали AD, впрочем это не сложно сделать и в любое другое время).

Тут есть два пути. Либо разрешить Nonsecure Dynamic Updates для доменной зоны, либо попросить DHCP сервер обновить DNS. Второй вариант мне кажется более безопасным, а для его настройки нужно поставить аж одну галочку.

В свойствах DHCP сервера, или более локально, в свойствах Scope, на закладке DNS включите:

Dynamically update DNS A and PTR records for DHCP clients that do not request updates (for example, clients running Windows NT 4.0).

Настройка DHCP для принудительного обновления DNS

На этом всё. При следующем запросе IP адреса у DHCP произойдет регистрация в Windows DNS.

Источник

Оцените статью
Adblock
detector