Как настроить локальный dns-сервер на linux?

Обновите оба сервера

Настройка сети через терминал в Ubuntu

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Устанавливаем IP-адрес;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig:

В нашей системе только один интерфейс — это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

Добавьте в этот файл такие строки, чтобы запускать интерфейс при загрузке и получать IP-адрес автоматически по DHCP:

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

$ iface интерфейс inet тип

Тип получения IP-адреса может иметь несколько значений, но нас в этой статье будут интересовать только два: dhcp и static.

После завершения настройки сохраните файл и перезапустите сетевой сервис:

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

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

Содержимое нашего конфигурационного файла будет выглядеть вот так:

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • address — наш IP-адрес;
  • gateway — шлюз, через который будем получать доступ в интернет;
  • netmask — маска сети;
  • network — адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast — широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Как видите, network и broadcast — это первый и последний IP-адреса сети. Теперь сохраните файл и перезапустите сеть:

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Настройка DNS-клиентов

Прежде чем все ваши серверы в доверенном ACL смогут отправлять запросы на ваши DNS-серверы, вы должны настроить для каждого из них использование ns1 и ns2 в качестве сервера имен. Этот процесс варьируется в зависимости от операционной системы, но для большинства дистрибутивов Linux он подразумевает добавление ваших серверов доменных имен в файл .

Клиенты Ubuntu 18.04

На Ubuntu 18.04 настройка сетевого взаимодействия выполняется с помощью Netplan, абстракции, которая позволяет вам записывать стандартную конфигурацию сети и применять ее к несовместимому сетевому ПО, отвечающему за бекэнд. Для настройки DNS нам потребуется записать файл конфигурации Netplan.

Во-первых, найдите устройство, связанное с вашей частной сетью, отправив частной подсети команду :

В этом примере используется частный интерфейс .

Далее необходимо создать новый файл в с именем :

Вставьте в файл следующее содержимое. Вам потребуется изменить интерфейс частной сети, адреса ваших DNS-серверов ns1 и ns2, а также зону DNS:

Примечание: Netplan использует формат сериализации данных YAML для своих файлов конфигурации. Поскольку YAML использует структурирование текста и пробелы для определения структуры данных, убедитесь, что ваше определение имеет равномерное структурирование текста во избежание ошибок.

/etc/netplan 00-private-nameservers.yaml

Сохраните файл и закройте его после завершения.

Затем вы должны сообщить Netplan о необходимости использования нового файла конфигурации с помощью команды . При наличии проблем, которые приводят к потере подключения к сети, Netplan будет автоматически перезапускать изменения по истечении определенного периода времени:

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

Теперь проверьте DNS-преобразователь системы, чтобы определить, применены ли изменения в конфигурацию DNS:

Прокрутите вниз, пока не увидите раздел для вашего интерфейса частной сети. Вы должны увидеть частные IP-адреса ваших DNS-серверов, которые будут перечислены в первую очередь, а за ними идут резервные значения. Ваш домен должен находиться в строке DNS Domain:

Ваш клиент должен быть настроен на использование ваших внутренних DNS-серверов.

Клиенты Ubuntu 16.04 и Debian

В серверах Ubuntu 16.04 и Debian вы можете изменить файл :

Внутри найдите строку и добавьте ваши серверы доменных имен в начало списка, который уже добавлен в файл. Под этой строкой добавьте опцию , указывающую на базовый домен вашей инфраструктуры. В нашем случае это будет “nyc3.example.com”:

/etc/network/interfaces

Сохраните файл и закройте его после завершения.

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

В результате будет выполнен перезапуск вашей сети без отключения текущего подключения. Если все работает корректно, вы должны увидеть примерно следующее:

Еще раз проверьте, что ваши настройки были применены, введя следующую команду:

Вы должны увидеть ваши серверы доменных имен в файле , а также ваш домен поиска:

Ваш клиент настроен для использования ваших DNS-серверов.

Клиенты CentOS

В CentOS, RedHat и Fedora Linux отредактируйте файл . Возможно, вам придется заменить на имя вашего основного сетевого интерфейса:

Найдите опции и и задайте для них частные IP-адреса ваших основного и дополнительного серверов доменных имен. Добавьте параметр , используя базовый домен вашей инфраструктуры. В этом руководстве это будет “nyc3.example.com”:

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

Сохраните файл и закройте его после завершения.

Перезапустите сетевую службу с помощью следующей команды:

Команда может зависнуть на несколько секунд, но через короткое время вы должны вернуться в командную строку.

Убедитесь, что изменения вступили в силу, введя следующую команду:

Вы должны увидеть ваши серверы доменных имен и домена поиска в списке:

/etc/resolv.conf

Ваш клиент теперь может подключиться и использовать ваши DNS-серверы.

Настройка сети в Ubuntu Server 20.04

Есть два пути настройки сетевых интерфейсов:

  1. Получение IP адресов при помощи DHCP — автоматическая настройка
  2. Настройка статических IP адресов

Если вы используете какой либо маршрутизатор, то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого воспользуемся командой ifconfig.

Да, на чистой системе данная утилита не установлена по умолчанию. Её необходимо будет установить. Ну или можно воспользоваться командой ip. Я же человек старых правил ))), мне все-таки по душе утилита ifconfig поэтому набираем:

Вывод команды покажет все имеющиеся в системе сетевые интерфейсы. В моей системе команды выдает следующий результат:

Как видим из вывода имеются три сетевых интерфейса: ; ; .

Интерфейс enp0s3 выступает в качестве WAN интерфейса для системы. Остальные два enp0s8 и enp0s9 подключены к двум локальным сетям. В дальнейшем мы их объединим в сетевой мост.

Настройка сети в Ubuntu Server используя networkd и DHCP.

И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP

Открываем файл настроек Netplan

Файл должен выглядеть следующим образом (если не так, то редактируем):

Далее применим изменения:

Если в синтаксисе нет ошибок, то изменения применятся через 120 секунд, ну или сразу если Вы нажмёте

Настройка сети в Ubuntu Server используя networkd и статические маршруты.

Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов:

  • addresses — это ip адрес который будет назначен вашей сетевой карте.
  • gateway4 — ip адрес вашего роутера
  • nameservers — тут перечисляются DNS сервера. Первый опять же наш роутер.
  • search — тут указываем домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера

Далее сохраняем изменения:

Кажется, это финальный дизайн Samsung Galaxy S9

Настройка dnsmasq как DHCP

DHCP — это один из базовых сервисов в локальных сетях, благодаря которому отпадает необходимость конфигурировать настройки сети вручную. Он позволяет выдавать автоматически такие настройки как IP-адрес, адрес DNS-сервера и шлюза по-умолчанию, а также резервировать IP-адреса по MAC-адресам.

Для того, чтобы dnsmasq работал как DHCP-сервер, в конфигурационном файле /etc/dnsmasq.conf должны присутствовать следующие строки (они могут уже присутствовать в конфиге, их надо только раскомментировать и исправить):

domain=mydomain.com

Эта строка не обязательна, она нужна в том случае, если вы хотите, чтобы хосты, получающие адреса по DHCP, имели FQDN-имя, то есть полное имя, включающее имя домена.

interface=eth1

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

dhcp-range=192.168.0.20,192.168.0.100,24h

Интервал выдаваемых адресов и время аренды адресов (в данном случае 24 часа).

dhcp-host=80:15:AA:BB:CC:DD,192.168.0.10

Резервация IP-адреса по MAC-адресу, чтобы устройство с указанным MAC-адресом всегда получало указанный IP-адрес.

dhcp-option=1,255.255.255.0

Задать значение опции DHCP с номером 1. Опция с номером 1 — это маска подсети (netmask).

dhcp-option=3,192.168.0.1

Задать значение опции DHCP с номером 3. Опция с номером 3 — это шлюз по умолчанию (default gateway).

Этих опций в небольшой офисной или домашней сети обычно достаточно.

Список всех опций DHCP можно посмотреть на странице IANA (Internet Assigned Numbers Authority).

После задания настроек надо рестартовать сервис:

service dnsmasq restart

Теперь можно задавать настройки на компьютерах в сети на автоматическое получение адресов по DHCP.

Tutorial Series

An Introduction to Managing DNS

DNS, or the domain name system, is an essential component of modern internet communication. It allows us to reference computers by names instead of IP addresses. In this series, we will cover the basic ideas behind DNS so that you feel comfortable working with it. Afterwards, we will walk through various ways that you can gain greater control over your domains and DNS resolution.

Next in series: How To Use NSD, an Authoritative-Only DNS Server, on Ubuntu 14.04

Тестирование клиентов

Используйте для проверки того, могут ли ваши клиенты отправлять запросы вашим серверам доменных имен. У вас должна быть возможность сделать это для всех клиентов, которые были настроены и находятся в доверенном ACL.

Для клиентов CentOS вам может потребоваться установка утилиты с помощью следующей команды:

Мы можем начать выполнять прямой просмотр.

Прямой просмотр

Например, мы можем выполнить прямой просмотр для получения IP-адреса host1.nyc3.example.com с помощью следующей команды:

Запрос “host1” расширяется до “host1.nyc3.example.com”, потому что опция задана для вашего частного субдомена, а запросы DNS будут пытаться просмотреть этот субдомен перед поиском по всему хосту. Результат описанной выше команды будет выглядеть следующим образом:

Теперь мы можем проверить обратный просмотр.

Обратный просмотр

Чтобы протестировать обратный просмотр, отправьте DNS-серверу запрос на частный IP-адрес host1:

Результат будет выглядеть следующим образом:

Если все имена и IP-адреса будут передавать правильные значения, это означает, что ваши файлы зоны настроены надлежащим образом. Если вы получите неожиданные значения, обязательно проверьте файлы зоны на вашем основном DNS-сервере (например, и ).

Поздравляем! Ваши внутренние DNS-серверы настроены надлежащим образом! Теперь мы перейдем к сохранению записей зоны.

Как посмотреть текущие сетевые настройки в Linux?Наверх

Для просмотра текущих параметров сети и состояния сетевых интерфейсов в ОС Линукс существует команда:

# sudo ifconfig

eth0Link encap:Ethernet HWaddr 00:11:5b:91:25:3e
inet addr:192.168.1.18 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648009 errors:0 dropped:0 overruns:0 frame:0
TX packets:1075413 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:70177943 (70.1 MB) TX bytes:1536487024 (1.5 GB)
Прервано:19 Base address:0xd000
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:13776 (13.7 KB) TX bytes:13776 (13.7 KB)

Для просмотра абсолютно всех сетевых интерфейсов запускаем команду с ключом -a:

# sudo ifconfig -a

Из приведенного примера видно, что на компьютере используется два сетевых интерфейса: eth0 и lo.

Интерфейс lo — это локальная петля, которая имеет IP-адрес 127.0.0.1 и предназначена для сетевого доступа к своему же компьютеру. Далее этот интерфейс рассматриваться не будет, так как для эффективной работы не требует дополнительной настройки.

Интерфейс eth0 — это Ethernet сетевая карта, которая имеет сетевые параметры: IP-адрес — 192.168.1.18, маску сети — 255.255.0.0 и MAC-адрес — 00:11:5b:91:25:3e. Значение RUNNING показывает, что в данный момент сетевой интерфейс eth0 работает.

Для просмотра типа соединения, скорости и поддерживаемых параметров сетевым интерфейсом eth0 набираем команду:

# sudo ethtool eth0
Supported ports:
Supported link modes:10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: YesSpeed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000c5 (197)
Link detected: yes

Из вывода видно, что сетевой интерфейс eth0 работает на скорости 100Мб/с с включенным полным дуплексом (Full Duplex). Полный дуплекс от полудуплекса (Half Duplex) отличается тем, что первый обеспечивает передачу данных в обе стороны одновременно, а второй осуществляет передачу входящих и исходящих данных поочередно.

Связь между подсетями

Чтобы обеспечить связь между подсетями и , добавим на маршрутизаторе еще два правила:

$ sudo iptables -A FORWARD -i enp0s9 -o enp0s8 -s 192.168.176.0/24 -d 192.168.30.0/24 -j ACCEPT
$ sudo iptables -A FORWARD -i enp0s8 -o enp0s9 -s 192.168.30.0/24 -d 192.168.176.0/24 -j ACCEPT

Проверим, что с виртуальной машины можно достучаться до :

$ ping -c 4 192.168.30.2
PING 192.168.30.2 (192.168.30.2) 56(84) bytes of data.
64 bytes from 192.168.30.2: icmp_seq=1 ttl=63 time=0.823 ms
64 bytes from 192.168.30.2: icmp_seq=2 ttl=63 time=0.829 ms
64 bytes from 192.168.30.2: icmp_seq=3 ttl=63 time=0.618 ms
64 bytes from 192.168.30.2: icmp_seq=4 ttl=63 time=0.368 ms
--- 192.168.30.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3025ms
rtt min/avg/max/mdev = 0.368/0.659/0.829/0.190 ms

И наоборот, что с виртуальной машины можно достучаться до :

$ ping -c 4 192.168.176.2
PING 192.168.176.2 (192.168.176.2) 56(84) bytes of data.
64 bytes from 192.168.176.2: icmp_seq=1 ttl=63 time=0.786 ms
64 bytes from 192.168.176.2: icmp_seq=2 ttl=63 time=1.39 ms
64 bytes from 192.168.176.2: icmp_seq=3 ttl=63 time=2.60 ms
64 bytes from 192.168.176.2: icmp_seq=4 ttl=63 time=0.638 ms
--- 192.168.176.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 0.638/1.354/2.604/0.775 ms

Предварительные требования

Для выполнения данного руководства вам потребуется следующая инфраструктура. Создайте каждый сервер в одном центре обработки данных *с активированной *опцией частной сети:

  • Свежий сервер Ubuntu 18.04, который будет использоваться в качестве основного DNS-сервера, ns1.
  • (Рекомендуется) Второй сервер Ubuntu 18.04, который используется в качестве дополнительного DNS-сервера, ns2.
  • Дополнительные серверы в одном центре обработки данных, которые будут использовать ваши DNS-серверы.

На каждом из этих серверов необходимо настроить административный доступ с помощью пользователя и брандмауэра согласно инструкциям нашего руководства по начальной настройке сервера Ubuntu 18.04.

Если вы не знакомы с концепцией DNS, рекомендуем ознакомиться минимум с первыми тремя частями нашего руководства Введение в управление DNS.

Пример инфраструктуры и целей

В рамках данной статьи мы предполагаем следующее:

  • У нас есть два сервера, которые будут назначены в качестве наших серверов имен DNS. В этом руководстве мы будем использовать наименования ns1 и ns2.
  • У нас есть два дополнительных клиентских сервера, которые будут использовать созданную нами инфраструктуру DNS. В этом руководстве мы будем использовать наименования host1 и host2. Вы можете добавить любое количество, которое захотите, для вашей инфраструктуры.
  • Все эти серверы существуют в одном центре обработки данных. Мы полагаем, что это центр обработки данных nyc3.
  • Для всех этих серверов активирована опция частной сети (и в подсети ; вам, возможно, нужно будет отредактировать эти параметры для ваших серверов).
  • Все серверы подключены к проекту, который запущен на example.com. Поскольку наша система DNS будет полностью внутренней и частной, вам не нужно будет приобретать доменное имя. Однако использование собственного домена может помочь избежать конфликтов с доменами с публичной маршрутизацией.

С учетом этих предположений мы решили, что будет полезно использовать схему именования, которая использует nyc3.example.com для обращения к нашей частной подсети или зоне. Таким образом, частным полным доменным именем (FQDN) для host1 будет host1.nyc3.example.com. Соответствующую информацию см. в следующей таблице:

Хост Роль Частное FQDN Частный IP-адрес
ns1 Основной DNS-сервер ns1.nyc3.example.com 10.128.10.11
ns2 Дополнительный DNS-сервер ns2.nyc3.example.com 10.128.20.12
host1 Стандартный хост 1 host1.nyc3.example.com 10.128.100.101
host2 Стандартный хост 2 host2.nyc3.example.com 10.128.200.102

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

К концу данного руководства мы получим основной DNS-сервер, ns1, и, в качестве опции, дополнительный DNS-сервер, ns2, который будет служит в качестве резервного сервера.

Давайте начнем с установки нашего основного DNS-сервера, ns1.

Настройка службы systemd-resolved

В Ubuntu Server эта служба уже установлена и запущена сразу после установки операционной системы. Но если это не так, установить ее несложно:

# apt install systemd-resolved

Следующим шагом будет правка файла — находим строку, которая начинается с :

# nano /etc/nsswitch.conf
passwd:         compat systemd
group:          compat systemd
shadow:         compat
gshadow:        files

hosts:          files resolve dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis

Эта строка отвечает за последовательность обращений приложения к системным компонентам с целью резолвинга доменного имени. В данном случае сначала программа заглянет в файл , затем обратиться к демону , а потом — к DNS серверам.

Осталось сообщить ip-адреса DNS-серверов, к которым следует обращаться для резолвинга:

# nano /etc/systemd/resolved.conf
# сервера DNS от Cloudflare
DNS=1.1.1.1 1.0.0.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

Для целей совместимости с приложениями, которые не используют библиотечные вызовы, а обращаются к DNS-серверам напрямую, получая их ip-адреса из , следует создать символическую ссылку. Обычно этого не требуется, ссылка уже существует после установки :

# ln -svi /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

В файле указан один-единственный сервер :

$ cat /run/systemd/resolve/stub-resolv.conf
nameserver 127.0.0.53
option edns0

Кроме того, можно создать символическую ссылку на . Этот файл содержит DNS-сервера, полученные от DHCP-сервера и из файла конфигурации . В этом случае локальный кеширующий сервер не используется, что замедлит резолвинг.

# ln -svi /run/systemd/resolve/resolv.conf /etc/resolv.conf
$ cat /run/systemd/resolve/stub-resolv.conf
nameserver 1.1.1.1 # из файла конфигурации /etc/systemd/resolved.conf
nameserver 1.0.0.1 # из файла конфигурации /etc/systemd/resolved.conf
nameserver 8.8.8.8 # этот DNS-сервер получен от DHCP-сервера сети
# Too many DNS servers configured, the following entries may be ignored.
nameserver 8.8.4.4 # этот DNS-сервер получен от DHCP-сервера сети

Как видите, у меня DNS-серверов получилось слишком много, так что последняя запись может быть проигнорирована. Все готово, остается только разрешить запуск службы при загрузке системы, если это еще не было сделано:

# systemdctl enable systemd-resolved
# reboot

Настройка локального DNS-сервера BIND9 на Ubuntu 20.04 LTS

Для настройки пакеты BIND9 перейдем в его каталог:

В нем нас будут интересовать следующие файлы:

  • named.conf.options
  • named.conf.local

Давайте сперва откроем файл :

И внесем в него следующие изменения:

Сохраните и закройте файл. Затем проверьте синтаксис файла конфигурации.

Если ничего не выдал, то все в порядке. Можно перезапустить службу:

Также если у вас закрыты порты то их необходимо открыть.

Для UFW

Для iptables

Это откроет TCP и UDP порт 53 для локальной сети 10.5.5.0 / 24. Затем с другого компьютера в той же локальной сети мы можем выполнить следующую команду для запроса записи A google.com.

где, 10.5.5.1 — IP адрес нашего сервера в локальной сети

Теперь проверьте журнал запросов с помощью следующей командой:

или

Из вывода видно что запросы поступают на наш DNS сервер, а он в свою очередь на них успешно отвечает.

В файле настраиваются зона прямого и обратного просмотра. В данном уже описано как это сделать

Настройка DNS в Ubuntu через GUI

Установка локального DNS-сервера BIND9 на Ubuntu 20.04

Выполните следующую команду, чтобы установить BIND9 на Ubuntu 20.04 LTS, из репозитория по умолчанию:

После установки можно проверить версию следующей командой:

По умолчанию после установки BIND9 запускается автоматически. Вы можете проверить его статус с помощью команды:

Также если автоматически служба не запустилась, то выполните следующие команды:

Сервер DNS в вашей системе будет работать от имени  пользователя, который создается во время установки, и прослушивает TCP и UDP порт 53. Для проверки выполните следующую команду:

Обычно DNS-запросы отправляются на UDP-порт 53. TCP-порт 53 предназначен для ответов размером более 512 байт.

Есть еще один важный пакет: , контроллер демона BIND9, который был установлен с пакетом .  используется для перезагрузки / остановки и управления другими аспектами демона BIND. Связь осуществляется через TCP-порт 953.

Вы также можете проверить его статус командой:

Проверка работы Postfix

Полезно установить утилиту mutt, чтобы работать с почтой было удобнее. Это можно сделать с помощью команды:

Теперь можно попробовать отправить письмо на какой-нибудь почтовый ящик:

Если всё хорошо, то письмо будет получено. Но учтите, что в Google такие письма обычно попадают в спам.

ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Настройка конфигурационных файлов Bind9

Для начала отредактируем файл named.conf.options

Добавим в него следующий код:

Теперь открываем файл конфигурации зон и вносим информацию о наших зонах.

Сохраняем, закрываем. Теперь проверим правильность синтаксиса конфигурационных файлов BIND.

Если конфигурационные файлы не содержат ошибок, вывод этой программы будет пуст.

Перезагружаем bind9

Проверяем работу DNS сервера

в ответ вы должны увидеть:

Как видите зона прямого просмотра работает, нам показался ip адрес проверяемого имени. Теперь проверим работу зоны обратного просмотра

В ответ должны получить:

Как видим в ответе мы получили имя сервера по его адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, то проверяйте что сделали не так.

P.S. Также добавьте в файле resolv.conf свой nameserver

Для того чтобы ваш DNS сервер был виден из интернета, а также чтобы он обрабатывал все запросы по FQDN-имени (obu4alka.ru), у регистратора Вашего домена необходимо поменять NS сервера на IP вашего сервера DNS

Обновление системы

И как всегда первым делом обновим нашу систему:

Создадим папки для хранения конфигураций для локальных и внешних клиентов:

Создадим конфигурацию зон:

Соответственно db.dom замените на ваш домен. Содержимое файла должно быть примерно таким:

10.5.5.1 — внутренний адрес ресурса

Содержимое файла:

11.22.33.44 — внешний адрес ресурса.

Дальше отредактируем конфигурационный файл bind для того, чтобы он возвращал правильный адрес ресурса клиентам:

Приводим содержимое этого файла к следующему виду:

  • acl lan — наш список IP адресов, таких списков может быть несколько. В этой секции мы указываем адреса или сети, для которых хотим отдавать локальный адрес ресурса.
  • view «lan» — обработка для локальных клиентов сети lan.
  • view «inet» — обработка для всех остальных клиентов, которые не входят в список lan.

Еще обратите внимание на параметр recursion no; и recursion yes;. Будьте внимательны, включенные рекурсивные запросы могут использоваться для различных атак с использованием вашего сервера

Если вы не планируете прописывать ваш DNS сервер клиентам — лучше отключите рекурсивные запросы.

Так же неплохо было бы включить логи для нашего DNS сервера, это необязательно, и даже наверное лучше после тестирования выключить. В общем набираем:

Приводим файл named.conf к следующему виду:

Мы включили логирование, а так же отключили стандартные зоны (обратите внимание на строчку //include «/etc/bind/named.conf.default-zones»;, т.к. мы их прописали в файле named.conf.local, их в данной конфигурации нужно выключать обязательно

Перезапускаем bind:

Проверяем, что он запустился без ошибок:

Он должен быть в статусе active:

После этого можно проверять — для адресов указанных в acl будут возвращаться одни адреса, для всех остальных другие.

Тут есть один нюанс — запрос на ваш сервер будет приходить с адресов DNS серверов, которые указаны у клиента, а не непосредственно с клиентского адреса. Т.е. если у клиента прописаны гугловские DNSы, то и запросы на ваш сервер будут приходить с гугловых серверов, учитывайте это.

Используем только resolv.conf

Так делать не рекомендуется, но рассмотрим и этот вариант для полноты картины. Первым делом изменим имя файла на , а потом создадим свой :

# mv /etc/resolv.conf /etc/resolv.conf.back
# nano /etc/resolv.conf
#search example.com domain.local
# сервера DNS от Yandex
nameserver 77.88.8.8
nameserver 77.88.8.1

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

Для Ubuntu Desktop запретим вездесущему NetworkManager вмешиваться в процесс распознавания доменных имен:

# nano /etc/NetworkManager/conf.d/dns.conf
dns=no
rc-manager=unmanaged

Остановим службы и :

# systemctl stop resolvconf.service
# systemctl disable resolvconf.service
# systemctl stop systemd-resolved.service
# systemctl disable systemd-resolved.service
# reboot

Проверим, как теперь работает распознавание доменных имен:

$ nslookup ya.ru
Server:     77.88.8.8
Address:    77.88.8.8#53
Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Name:   ya.ru
Address: 2a02:6b8::2:242

Поиск:
Linux • Ubuntu • Кеширование • Конфигурация • Настройка • Сервер • Установка • DNS • nslookup • resolv.conf

Вывод

Самостоятельное выполнение перепрошивки устройства – достаточно простой процесс, если действовать согласно инструкции.

Он полностью авторизированный и не требует наличия специальных знаний.

Однако, для его выполнения требуется подготовка: сохранение данных, скачивание программ, запрос на разблокировку загрузчика и др.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector