- Установка и настройка bind на Ubuntu
- Подготовка системы
- Установка и запуск
- Базовая настройка
- Создание и настройка зон
- Как установить DNS-серверы имен в Ubuntu 18.04
- Настройка DNS-серверов на рабочем столе Ubuntu
- Настройка DNS-серверов имен на сервере Ubuntu
- Как установить DNS-сервер в Ubuntu 20.04 LTS
- Как установить DNS-сервер в Ubuntu 20.04 LTS
- Установите DNS-сервер на Ubuntu 20.04 LTS Focal Fossa
- Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt команды в терминале.
- Шаг 2. Установка DNS-сервера в Ubuntu 20.04.
- Шаг 3. Настройка BIND9.
- Шаг 4. Настройте брандмауэр.
- Шаг 5. Тестирование BIND.
- Настройка DNS на Ubuntu Server 18.04 LTS
- Настройка службы systemd-resolved
- Настройка службы resolvconf.service
- Используем только resolv.conf
Установка и настройка bind на Ubuntu
Для примера, используется Ubuntu Server 16.04 LTS. Инструкция во многом подойдет для дистрибутивов Linux, основанных на Debian.
Подготовка системы
Если в системе настроен брандмауэр, добавляем правило на разрешение входящих пакетов на 53 UDP-порт:
iptables -I INPUT 1 -p udp —dport 53 -j ACCEPT
* данной командой мы вставляем первое правило на разрешение 53 порта по протоколу UDP.
Установка и запуск
Устанавливаем DNS-сервер следующей командой:
apt-get install bind9 dnsutils
Добавляем сервис в автозапуск:
systemctl enable bind9
* или для старых систем, где нет systemd update-rc.d bind9 defaults.
systemctl start bind9
* или service bind9 start.
Проверяем, что сервис работает:
nslookup dmosk.ru 127.0.0.1
Получаем, что-то на подобие:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: dmosk.ru
Address: 90.156.242.197
Базовая настройка
Основной конфигурационный файл находится по пути /etc/bind/named.conf. В последних версиях bind в нем ничего не настраивается, а используются подключаемые файлы.
По умолчанию, сервер разрешает только локальные запросы. Чтобы разрешить обращаться к серверу, открываем конфигурационный файл:
И добавляем строку:
* в данном примере будут разрешены запросы для всех клиентов (внутренних и внешних). Вместо any можно прописать конкретные сети или IP-адреса.
Если необходимо настроить сервер только для локальной сети, настройка будет следующей:
* где 192.168.0.0/24 — используемая локальная сеть.
Если необходимо перенаправлять запросы на определенный сервер DNS, добавляем строку:
* в данном примере запросы будут перенаправляться на сервер 77.88.8.8 и если они не будут обработаны — на 8.8.8.8.
systemctl restart bind9
* или service bind9 restart.
На этом базовая настройка закончена. Наш сервер готов принимать и отдавать запросы и работать, как кэширующий dns.
Проверить его работу можно с удаленного компьютера Windows или Linux командой:
nslookup ubuntu.com 192.168.0.15
* где 192.168.0.15 — адрес сервера в локальной сети.
Создание и настройка зон
Если необходимо, чтобы bind разрешал записи для собственного домена, необходимо создать соответствующую зону.
Источник
Как установить DNS-серверы имен в Ubuntu 18.04
Система доменных имен (DNS) — это центральная часть инфраструктуры Интернета, обеспечивающая способ преобразования доменных имен в IP-адреса. Вы можете думать о DNS как о телефонной книге Интернета.
Каждое устройство, подключенное к Интернету, уникально идентифицируется своим IP-адресом. Когда вы вводите веб-сайт, который хотите посетить, в своем браузере, его доменное имя должно быть преобразовано в соответствующий IP-адрес. Операционная система сначала проверяет свой файл hosts для соответствующего домена и, если для этого домена нет записи, она запрашивает настроенные серверы имен DNS для разрешения указанного имени домена.
После разрешения домена система кэширует запрос и сохранит запись для домена и соответствующего IP-адреса.
Серверы имен DNS (преобразователи) — это серверы, которые используются другими устройствами для выполнения поиска DNS для запрошенного домена.
Обычно преобразователи DNS назначаются вашим интернет-провайдером. Однако эти преобразователи могут работать медленно или не обновляться регулярно, что может вызвать задержку при запросе домена, разрешение на неправильный IP-адрес или иногда вы вообще не сможете разрешить нужный домен.
Существует множество бесплатных общедоступных преобразователей DNS, которые являются быстрыми, частными и регулярно обновляются.
Ниже приведены некоторые из наиболее популярных общедоступных преобразователей DNS:
- Google (8.8.8.8, 8.8.4.4)
- Cloudflare (1.1.1.1 и 1.0.0.1)
- OpenDNS (208.67.222.222, 208.67.220.220)
- Уровень 3 (209.244.0.3, 209.244.0.4)
В этом руководстве мы объясним, как настроить DNS-серверы имен (преобразователи) в Ubuntu 18.04.
Настройка DNS-серверов на рабочем столе Ubuntu
Настройка DNS-серверов имен на настольных компьютерах Ubuntu 18.04 очень проста и не требует технических знаний.
Запустите окно настроек.
Если вы подключены к сети Wi-Fi, щелкните вкладку «Wi-Fi». В противном случае, если у вас есть проводное соединение, щелкните вкладку «Сеть».
Выберите соединение, для которого вы хотите настроить серверы имен DNS, и щелкните значок шестеренки, чтобы открыть диспетчер сети.
Выберите вкладку Настройки IPv4.
Отключите тумблер «Автоматически» и введите IP-адреса DNS-преобразователей через запятую. Мы будем использовать DNS-серверы Google:
Нажмите кнопку «Применить», чтобы сохранить изменения.
Изменения вступают в силу немедленно, за исключением случаев, когда записи DNS кэшируются вашей системой или приложением.
Если вы хотите вернуться к своим старым настройкам, откройте Network Manager, перейдите в настройки IPv4 и включите переключатель «Автоматически».
Настройка DNS-серверов имен на сервере Ubuntu
Раньше всякий раз, когда вы хотели настроить преобразователи DNS в Linux, вы просто открывали файл /etc/resolv.conf , редактировали записи, сохраняли файл, и все готово. Этот файл все еще существует, но это символическая ссылка, управляемая службой systemd-resolved, и ее не следует редактировать вручную.
systemd-resolved — это служба, которая обеспечивает разрешение имен DNS для локальных служб и приложений, и ее можно настроить с помощью Netplan , инструмента управления сетью по умолчанию в Ubuntu 18.04.
Файлы конфигурации Netplan хранятся в каталоге /etc/netplan . Вероятно, вы найдете в этом каталоге один или два файла YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется 01-netcfg.yaml или 50-cloud-init.yaml но в вашей системе он может быть другим.
Эти файлы позволяют настроить сетевой интерфейс, включая IP-адрес, шлюз, DNS-серверы имен и так далее.
Чтобы настроить DNS-серверы имен, откройте файл конфигурации интерфейса в текстовом редакторе :
Содержимое файла будет выглядеть примерно так:
Чтобы настроить серверы имен DNS интерфейса, измените текущие IP-адреса на предпочитаемые DNS-серверы. Например, если вы хотите использовать DNS-серверы Cloudflare, вы должны изменить строку addresses на:
DNS-серверы должны быть разделены запятыми. Вы также можете добавить более двух серверов имен.
Если запись не существует, добавьте ее в блок имени интерфейса. При редактировании файлов YAML убедитесь, что вы следуете стандартам отступа кода YAML . Если в конфигурации есть синтаксическая ошибка, Netplan не сможет проанализировать файл.
После этого сохраните файл и примените изменения с помощью:
Netplan сгенерирует файлы конфигурации для службы, разрешенной systemd.
Чтобы убедиться, что установлены новые преобразователи DNS, выполните следующую команду:
systemd-resolve -status выводит много информации. Мы используем grep для фильтрации строки «DNS-серверы». Результат будет выглядеть примерно так:
Источник
Как установить DNS-сервер в Ubuntu 20.04 LTS
Как установить DNS-сервер в Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить DNS-сервер в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, DNS-серверы очень важный инструмент для вашей сети, потому что многие IP-адреса не могут запомнить, поэтому могут запомнить имя DNS. BIND или BIND 9 — это реализация DNS с открытым исходным кодом, доступная почти для всех дистрибутивов Linux. BIND расшифровывается как Berkeley Internet Name Domain и позволяет нам публиковать информацию DNS в Интернете, а также разрешать запросы DNS для пользователей. BIND на сегодняшний день является наиболее часто используемым программным обеспечением DNS в Интернете.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo ‘ к командам для получения привилегий root. Я покажу вам пошаговую установку DNS-сервера (Bind9) на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, например Linux Mint.
Установите DNS-сервер на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt команды в терминале.
Шаг 2. Установка DNS-сервера в Ubuntu 20.04.
Теперь мы устанавливаем BIND, используя следующую команду:
По умолчанию BIND автоматически запускается после установки. Вы проверяете его статус с помощью:
После завершения процесса установки вы можете проверить, работает ли BIND9:
Шаг 3. Настройка BIND9.
Основной файл конфигурации , давайте откроем его: named . conf . options
Директива listen-on позволяет указать сети, которые будет обслуживать DNS-сервер:
BIND9 по умолчанию разрешает только локальные запросы. Добавьте необходимые IP-адреса в директиву «allow-query» или «any;» чтобы разрешить все запросы:
Перенаправители содержат IP-адреса DNS-серверов, на которые перенаправляется запрос, если наш сервер не содержит необходимых данных:
Наконец, сохраните и закройте файл. Проверить конфигурацию:
Шаг 4. Настройте брандмауэр.
Если на вашем сервере привязки запущен брандмауэр ОС, выполните следующую команду, чтобы разрешить порт привязки:
sudo ufw allow Bind9
Шаг 5. Тестирование BIND.
Чтобы проверить, правильно ли работает DNS-сервер, введите следующую команду:
Поздравляю! Вы успешно установили DNS-сервер . Благодарим за использование этого руководства для установки DNS-сервера (Bind9) в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Ubuntu .
Источник
Настройка DNS на Ubuntu Server 18.04 LTS
Стало достаточно традиционным для Linux запускать небольшой локальный DNS-сервер, который ускоряет работу, кешируя ответы на повторяющиеся DNS-запросы. В этом случае в общесистемный /etc/resolv.conf помещается директива nameserver 127.0.0.1 , а ip-адреса внешних DNS-серверов переносятся в настройки локального.
При изменении сетевой конфигурации, запуске и остановке процессов, некоторым программам необходимо динамически изменять файл resolv.conf . При одновременном доступе программы мешают друг другу и сохраняют неверную информацию в файл. Утилита resolvconf действует как посредник между программами, которые предоставляют информацию о сервере имен, и программами, которые используют информацию о сервере имен.
При этом файл resolv.conf заменяется символической ссылкой на /run/resolvconf/resolv.conf и программы используют динамически сгенерированный файл. В системе без службы resolvconf.service файл resolv.conf поддерживается вручную или набором скриптов. И эти скрипты могут мешать друг другу при попытках одновременного доступа к файлу.
Всё работало хорошо, пока не появились NetworkManager и Systemd. Система инициализации Systemd имеет свой собственный резолвер systemd-resolved , запущенный по умолчанию и требующий отдельной настройки. А NetworkManager пытается дружить со всеми — с resolvconf , с Systemd , с наиболее распространёнными DNS-резолверами.
Всё это привело к тому, что теперь в одной системе порт 53 может слушать несколько разных резолверов, причём для избежания конфликтов NetworkManager и systemd-resolved используют вместо 127.0.0.1 другие ip-адреса в loopback-сети:
- 127.0.0.1 — dnsmasq или unbound с настройками по умолчанию
- 127.0.1.1 — dnsmasq или unbound , запущенный NetworkManager
- 127.0.0.53 — systemd-resolved , запущенный по умолчанию
Настройка службы systemd-resolved
В Ubuntu Server эта служба уже установлена и запущена сразу после установки операционной системы. Но если это не так, установить ее несложно:
Следующим шагом будет правка файла /etc/nsswitch.conf — находим строку, которая начинается с hosts :
Эта строка отвечает за последовательность обращений приложения к системным компонентам с целью резолвинга доменного имени. В данном случае сначала программа заглянет в файл /etc/hosts , затем запросит демона systemd-resolved , а потом — к DNS серверам.
Осталось сообщить systemd-resolved ip-адреса DNS-серверов, к которым следует обращаться для резолвинга:
Для целей совместимости с приложениями, которые не используют библиотечные вызовы, а обращаются к DNS-серверам напрямую, получая их ip-адреса из /etc/resolv.conf , следует создать символическую ссылку. Обычно этого не требуется, ссылка уже существует после установки systemd-resolved :
В файле /run/systemd/resolve/stub-resolv.conf указан один-единственный сервер 127.0.0.53 :
Кроме того, можно создать символическую ссылку на /run/systemd/resolve/resolv.conf . Этот файл содержит DNS-сервера, полученные от DHCP-сервера и из файла конфигурации /etc/systemd/resolved.conf . В этом случае локальный кеширующий сервер не используется, что замедлит резолвинг.
Как видите, у меня DNS-серверов получилось слишком много, так что последняя запись может быть проигнорирована. Все готово, остается только разрешить запуск службы при загрузке системы, если это еще не было сделано:
Настройка службы resolvconf.service
Служба предоставляет остальным программам централизованный интерфейс для добавления и удаления записей в /etc/resolv.conf при изменении сетевой конфигурации, запуске и остановке процессов и т.д.
После установки /etc/resolv.conf будет представлять из себя ссылку на /run/resolvconf/resolv.conf .
При этом исходный файл /etc/resolv.conf (который на самом деле ссылка на /run/systemd/resolve/resolv.conf ) будет сохранен как original в директории /etc/resolvconf/resolv.conf.d/ (чтобы восстановить его при удалении службы resolvconf.service ). В этой же директории есть есть еще три файла — base , head и tail — которые позволяют вручную добавить записи в динамически формируемый /run/resolvconf/resolv.conf .
Теперь добавим пару записей в файл tail (сервера OpenDNS):
Перезагрузим службу и посмотрим сформированный /run/resolvconf/resolv.conf :
Первая запись — это резолвер systemd-resolved , а две другие записи были добавлены в конец resolv.conf из файла tail . Благодаря тому, что первая запись это 127.0.0.53 — резолвинг будет работать быстро, потому что systemd-resolved кеширует ответы DNS-серверов.
Но если мы остановим службу systemd-resolved , резолвинг все равно будет работать, используя сервера 208.67.222.222 и 208.67.220.220 — хотя и гораздо медленнее.
Используем только resolv.conf
Так делать не рекомендуется, потому что резолвинг будет работать медленно, но рассмотрим и этот вариант для полноты картины. Первым делом изменим имя файла /etc/resolv.conf на /etc/resolv.conf.back , а потом создадим свой resolv.conf :
Для Ubuntu Desktop запретим вездесущему NetworkManager вмешиваться в процесс распознавания доменных имен:
Остановим службы resolvconf.service и systemd-resolved.service :
Проверим, как теперь работает распознавание доменных имен:
Источник