Dns server linux config

Dns server linux config

Authored by: Jered Heeschen

If you find that your server’s Domain Name Server (DNS) settings are misconfigured or you prefer to use your own, this article describes how to change your Linux® server’s DNS settings.

If you want to test your site without the test link prior to going live with SSL or verify that an alias site works prior to DNS changes, you can Modify your hosts file to override the DNS for a domain on a specific machine.

Add name servers to the configuration file

On most Linux operating systems, the DNS servers that the system uses for name resolution are defined in the /etc/resolv.conf file. That file should contain at least one nameserver line. Each nameserver line defines a DNS server. The name servers are prioritized in the order the system finds them in the file. Use the Internet Protocol (IP) addresses of the name servers when you enter them into the configuration file because the system doesn’t know what to do with domain names until after it knows how to get to the DNS servers.

In some cases, /etc/resolv.conf could be a directly managed file, populated by the network service ( network by using initscripts or NetworkManager ). To directly edit the configuration file, use the following steps to add the DNS servers:

Open the resolv.conf file with an editor, such as nano , to make the necessary changes. If the file doesn’t already exist, this command creates it:

sudo nano /etc/resolv.conf

Add lines for the name servers that you want to use. The following table displays which name server IP addresses to use depending on which datacenter houses your cloud servers. The “Name server IP address” column shows the lines to add to the configuration file:

Data center Name server IP address
Hong Kong (HKG) nameserver 120.136.32.62
nameserver 120.136.32.63
Northern Virginia (IAD) nameserver 69.20.0.164
nameserver 69.20.0.196
London (LON) nameserver 83.138.151.80
nameserver 83.138.151.81
Chicago (ORD) nameserver 173.203.4.8
nameserver 173.203.4.9
Dallas/Fort Worth (DFW) nameserver 72.3.128.240
nameserver 72.3.128.241.
Sydney (SYD) nameserver 119.9.60.62
nameserver 119.9.60.63.
Frankfurt (FRA) nameserver 159.135.130.45
nameserver 159.135.130.46

To ensure that your new settings are working, ping the domain name by using the following command:

ping -c 3 rackspace.com

You should see a result similar to the following one:

If you receive an unknown host message, double-check the IP addresses that you set as your DNS servers.

Add the same name servers with IPv6 addresses

If you’re using IPv6 on your server, you might need to add the IPv6 addresses of your name servers to the resolv.conf file. You can see if a DNS server has an IPv6 address by performing the following steps:

Use the following host command to get the domain name of the server (substitute your DNS server IP address):

Use the domain name you got back in another host lookup:

If an IPv6 address is returned, you can add that as another nameserver line in the resolv.conf file, as follows:

Then test as previously shown, by using the ping6 command instead of the regular ping command to force the system to use IPv6.

Share this information:

©2020 Rackspace US, Inc.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License

Источник

Установка и настройка DNS-сервера BIND в Linux

BIND – наиболее распространенное open-source приложение, в котором реализованы протоколы DNS, предоставляющие возможность преобразования доменных имен в IP-адреса и наоборот.

Данная статья представляет собой руководство по быстрой настройке DNS-сервера в Linux при помощи BIND. Мы не будем подробно разбирать, что такое система DNS и как она работает, а сосредоточимся на примере настройки своей зоны и файла конфигурации для домена/узла с поддержкой сервисов www и электронной почты.

В нашем примере мы будем использовать следующие параметры:
IP-адрес, на котором будет установлен сервер имен: 172.31.0.122
имя домена/узла: itproffi.ru
авторитативные сервера имен для зоны itproffi.ru: ns1.itproffi.ru (172.31.1.10) и ns2. itproffi.ru (172.31.1.11)
службы www и электронной почты для itproffi.ru будут использовать адрес 172.31.1.10

Установка сервера bind

Установка bind очень проста – нужно воспользоваться менеджером пакетов. В Debian и Ubuntu выполните следующую команду:

В CentOS или Fedora:

Пакет dnsutils необязателен для запуска сервера bind, но для тестирования конфигурации мы будем пользоваться командой dig из этого пакета.

Создание файла зоны DNS

Дальнейшие примеры будут для Ubuntu/Debian, но также подходят и для Centos/RedHat, только директория с настройками зон в CentOS будет находиться в /etc/named/ , а основной файл конфигурации /etc/named.conf . Для начала нам потребуется создать новый файл зоны для домена itproffi.ru. Перейдите в директорию /etc/bind/ . создайте в ней поддиректорию zones/master/ и перейдите в нее, выполнив следующую последовательность команд:

Директория /etc/bind/zones/master будет содержать файл зоны для домена itproffi.ru. При желании можно использовать другую директорию. Файл зоны db.itproffi.ru будет содержать запись DNS, которая поможет серверу имен установить соответствие полного доменного имени IP-адресу. Создайте этот файл со следующим содержимым:

Рассмотрим ключевые строки этого файла:

  • Запись SOA: авторитативный сервер имен для itproffi.ru – это ns1.itproffi.ru, адрес ответственного за зону DNS администратора – admin@itproffi.ru
  • Записи NS: два сервера имен для зоны itproffi.ru – ns[1,2].itproffi.ru
  • Запись MX: почтовый сервер для itproffi.ru. Число 10 означает уровень приоритета
  • Записи A: A означает «адрес» (address). Другими словами, ns1 в зоне itproffi.ru будет иметь адрес 172.31.1.10
  • Запись CNAME (Canonical Name – каноническое имя): привязывает одно доменное имя к другому (каноническому), например, устанавливает соответствие mail.itproffi.ru и itproffi.ru.

Настройка обратной зоны

На данном этапе DNS-сервер bind может выдать IP-адрес, связанный с узлом itproffi.ru. Теперь нам нужно научить наш сервер имен обратному процессу, то есть устанавливать соответствие имени IP-адресу. Для этого создадим еще один файл db.172.31.1 со следующим содержимым:

Запись PTR: DNS-запись, используемая для определения соответствия IP-адреса имени узла.

Настройка файла конфигурации bind

На данный момент у нас должно быть два файла:

Теперь требуется вставить имена обоих файлов зоны в файл конфигурации bind /etc/bind/named.conf.local . Для этого добавьте в файл следующие строки:

Последний момент перед проверкой конфигурации – внести в файл named.conf.options IP-адрес стабильного DNS-сервера. Он будет использоваться, если локальный DNS-сервер не будет знать ответ на запрос разрешения имени. Часто этот адрес предоставляется интернет-провайдером, но если вы поклонник Google, можно указать адрес 8.8.8.8 или 8.8.4.4.

Замените следующий блок текста в файле named.conf.options:

на блок текста с адресом стабильного DNS-сервера

Если вы планируйте что к вашему серверу будут подключаться другие компьютеры, то нужно разрешить в опциях внешние подключения. Для этого в основном файле конфигурации, в секции options добавьте или замените следующие правила

А лучше, для безопасности вместо any пропишите ваши сети с которых разрешено подключение

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

Проверка файлов зоны и конфигурации

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

Для проверки файлов конфигурации выполните следующую команду:

С этой командой работает простое правило: отсутствие результата – это хороший результат. Если команда ничего не возвращает, значит ошибок в ваших файлах конфигурации не обнаружено.

Для проверки файлов зоны DNS можно воспользоваться командой named-checkzone:

Проверка обратной зоны

Запуск и перезапуск сервера bind

Теперь мы можем запускать сервер bind:

Если сервер уже был запущен, его можно перезапустить командой restart:

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

Тестирование сервера bind

Для тестирования новой конфигурации сервера имен bind нам пригодится команда dig из пакета dnsutils. Эту команду можно запустить на любом компьютере с сетевым доступом к вашему DNS-серверу, но лучше всего начать тестирование с локального узла. В рассматриваемом нами примере IP-адрес сервера имен 172.31.0.122. Сначала проверим прямое разрешение имени (получение IP-адреса по доменному имени):

dig @172.31.0.122 www.itproffi.ru

Теперь проверим обратную зону:

dig @172.31.0.122 -x 172.31.1.10

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

nslookup 172.31.1.10 172.31.0.122

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

Источник

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

Если у вашего домашнего или офисного интернет-провайдера медленные серверы имен или ваш сервер выполняет много операций поиска, то вам нужен локальный кеширующий DNS-сервер.

Как мне поможет локальный DNS-сервер?

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

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

Наконец, утилита systemd-resolved поддерживает самые последние, безопасные стандарты DNS DNSSEC и DNSoverTLS или DoT. Они помогают защитить вас и сохранить вашу конфиденциальность в Интернете.

Какой локальный кеширующий DNQS мы будем использовать?

Локальный кеширующий DNS-сервер, который мы включим и настроим в этом руководстве, это systemd-resolved. Данный инструмент является частью Systemd набора инструментов управления системой. Если ваша система использует systemd , и почти все основные дистрибутивы Linux используются, то у вас уже будет установлен systemd-resolved , но он не будет работать. Большинство дистрибутивов не используют systemd-resolved, даже если он присутствует.

systemd-resolved работает, запустив небольшой локальный кеширующий DNS-сервер, который мы настроим для запуска при загрузке. Затем мы перенастроим остальную часть системы, чтобы направлять их DNS-запросы в DNS-систему с локальным кэшированием.

1. Как проверить, используете ли вы уже systemd-resolved?

В некоторых дистрибутивах Linux по умолчанию уже используется systemd-resolved, например Ubuntu 19.04.

Если вы уже запустили systemd-resolved, вам не нужно включать его или настраивать систему для его использования. Однако вам может потребоваться убедиться, что инструменты управления сетью, такие как NetworkManager, настроены правильно, поскольку они могут игнорировать конфигурацию сети системы.

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

Если вы получили сообщение:

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

Тогда вы уже используете systemd-resolved и вам не нужно его включать.

2. Включение и настройка systemd-resolved

Нам не нужно устанавливать systemd-resolved как часть systemd. Все, что нам нужно сделать, — это запустить его, чтобы запустить сервер кэширования DNS, а затем включить его при загрузке.

Запустите следующую команду в терминале от имени пользователя sudo для запуска systemd-resolved:

Затем выполните следующую команду, чтобы запустить systemd-resolved при загрузке системы:

Последний оставленный элемент конфигурации — это настройка DNS-серверов, которые systemd-resolved будет запрашивать разрешенные домены. Здесь много вариантов, но любая из следующих пар бесплатна, быстра, и они обе поддерживают DNSSEC и DoT:

Откройте основной файл конфигурации с разрешением systemd в вашем любимом текстовом редакторе, здесь я использовал nano:

Измените строку начинающуюся с:

Уберите комментарий со строки и вставьте желаемый Public DNS из списка выше. В моем случае я выберу Cloudflare Public DNS.

Сохраните и выйдите из текстового редактора. Теперь нам нужно перезапустить systemd-resolved, чтобы он начал использовать серверы имен:

systemd-resolved теперь запущен и готов начать обработке и защите DNS-запросов, как только мы настроим систему для ее использования.

Конфигурация системы для использования systemd-resolved

Ваша система может быть настроена несколькими способами для использования systemd-resolved, но мы рассмотрим две конфигурации, которые покрывают большинство случаев использования. Первые два режима системного разрешения сосредоточены вокруг того, как управляется содержимое этого файла. В рекомендуемом режиме /etc/resolv.conf делается символическая ссылка на /run/systemd/resolve/stub-resolv.conf.

Этот файл управляется systemd-resolved и, следовательно, systemd-resolved управляет информацией о конфигурации DNS для всех других программ в системе.я — это рекомендуемая конфигурация, а вторая — конфигурация совместимости. Разница между ними заключается в том, как файл /etc/resolv.conf управляется.

Два режима системного разрешения сосредоточены вокруг того, как управляется содержимое этого файла. В рекомендуемом режиме /etc/resolv.conf делается символическая ссылка на /run/systemd/resolve/stub-resolv.conf. Этот файл управляется systemd-resolved и, следовательно, systemd-resolved управляет информацией о конфигурации DNS для всех других программ в системе.

Это может вызвать проблемы, когда другие программы пытаются управлять содержимым /etc/resolv.conf. Режим совместимости оставляет /etc/resolv.conf на месте, позволяя другим программам управлять им, в то время как systemd-resolved использует эту информацию DNS. В этом режиме другие программы, управляющие /etc/resolv.conf, должны быть настроены для установки 127.0.0.53 в качестве системного сервера имен в /etc/resolv.conf.

Настройка рекомендуемого режима

Сначала удалите или переименуйте существующий файл /etc/resolv.conf . Переименование является лучшим вариантом, поскольку оно будет иметь тот же эффект, но вы всегда можете обратиться к оригиналу, если вам нужна содержащаяся в нем информация. Здесь мы переименовываем /etc/resolv.conf с помощью команды mv:

Затем создайте символическую ссылку:

Наконец, перезапустите systemd-resolved:

Настройка режима совместимости

В этом режиме вам нужно убедиться, что локальный сервер имен, запущенный systemd-resolved запущен системными службами. Откройте /etc/resolv.conf в текстовом редакторе. Я использую редактор nano:

Удалите все встречающиеся строки, начинающиеся с «nameserver», и добавьте эту строку:

3. Отладка systemd-resolved

Узнать, как именно ваша система выполняет DNS-запросы после внесения этих изменений, может быть сложно. Самый эффективный способ наблюдения за происходящим — перевести systemd-resolved в режим отладки и посмотреть файл журнала.

systemd-resolved — это служба systemd, что означает, что ее можно легко перевести в режим отладки, создав файл службы, содержащий параметр отладки. Следующая команда создаст правильный файл в правильном месте:

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

Служба с разрешением systemd будет автоматически перезагружена при успешном сохранении и выходе.

Откройте второй терминал на том же сервере и просмотрите журнал journald для службы с разрешением systemd:

Строка, которая начинается с «Using DNS server», например:

Сообщает вам, какой именно DNS-сервер используется для DNS-запросов. В этом случае DNS-сервер Cloudflare на 1.1.1.1 был запрошен.

Строки «Cache miss» указывают на то, что доменное имя не было кэшировано. Например:

Строки, начинающиеся с «Positive cache hit», например:

Укажите, что systemd-resolved ранее запрашивал этот домен, и ответ был получен из кэша в локальной памяти.

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

4. Использование безопасных DNS-запросов

systemd-resolved — это один из немногих доступных в настоящее время DNS-серверов, которые поддерживают DNSSEC и DNSoverTLS. Оба из них помогают гарантировать, что вы получаете подлинную информацию DNS (DNSSEC) и что никто не может отслеживать ваш трафик DNS, когда он проходит через Интернет. (DOT).

Эти параметры легко включить, открыв основной файл конфигурации systemd-resolved в текстовом редакторе:

И редактируем файл так, чтобы были установлены следующие две строки:

Сохраните и выйдите из редактора, затем перезагрузите systemd-resolved:

Пока на DNS-сервере вы установили поддержку DNSSEC и DoT, ваши DNS-запросы будут защищены. Оба публичных DNS-сервера Google и Cloudflare поддерживают эти протоколы.

Заключение

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

Источник

Читайте также:  Как узнать какая у меня материнская плата windows
Оцените статью