- Установка и настройка DNS-сервера BIND в Linux
- Установка сервера bind
- Создание файла зоны DNS
- Настройка обратной зоны
- Настройка файла конфигурации bind
- Проверка файлов зоны и конфигурации
- Проверка обратной зоны
- Запуск и перезапуск сервера bind
- Тестирование сервера bind
- Лучшие DNS-серверы
- Настройка DNS в Linux
- Лучшие DNS-серверы
- 1. Google Public DNS
- 2. OpenDNS
- 3. DNS.WATCH
- 4. Norton ConnectSafe
- 5. Level3 DNS
- 6. Comodo Secure DNS
- 7. OpenNIC DNS
- Выводы
- Просмотр и изменение DNS в Linux
Установка и настройка 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-серверы
В разговорах об обеспечении безопасности подключения к интернету или доступа к заблокированному контенту в вашей географической области, вы, наверное, слышали о DNS. Несмотря на то, что все провайдеры поставляют свой DNS-сервер по умолчанию, вы можете использовать альтернативный.
Служба DNS используется для определения IP-адресов сайтов по их домену. Всё очень просто — на самом деле в интернете не существует никаких буквенных адресов вроде losst.ru, все связи и сообщения между компьютерами осуществляются по IP-адресу. Вот для его определения по доменному имени и используются сервера DNS, в которых хранится огромная таблица соответствия доменных имён и IP-адресов.
Использование альтернативного DNS-сервера предоставляет несколько преимуществ:
- Чем ближе вы находитесь к DNS-серверу, тем быстрее будет выполняться определение имён.
- Если DNS провайдера не очень надёжны, альтернативный DNS улучшит стабильность.
- Вы избавитесь от ограничений доступа к контенту на основе географического положения.
Если эти причины, или хотя бы одна из них заинтересовали вас, пришло время настроить DNS-сервер в своей системе. В этой статье мы поговорим о том, как настроить DNS-сервер в Linux, как узнать его скорость работы, а также рассмотрим лучшие DNS-серверы. Вы можете выбрать лучший в зависимости от ваших потребностей.
Настройка DNS в Linux
Поскольку сайт наш всё-таки о Linux, рассмотрим, как настроить DNS-серверы Linux. Настройки DNS-сервера в любом Linux-дистрибутиве находятся в файле /etc/resolv.conf. Адрес DNS-сервера указывается в следующем формате:
Здесь 192.168.137.1 — это адрес DNS-сервера. Но настройка в этом файле будет работать только до перезагрузки, поскольку этот файл перегенерируется при каждой загрузке системы. Чтобы настройки работали и после перезагрузки, надо настраивать DNS с помощью NetworkManager или Systemd. Об этом смотрите статью Настройка DNS в Ubuntu.
Протестировать скорость работы DNS-сервера можно с помощью утилиты nsloockup. Например:
time nslookup losst.ru 208.67.222.222
time nslookup losst.ru 8.8.8.8
Первый параметр — адрес сайта, который будем измерять, второй — адрес DNS-сервера. Команда time замеряет время выполнения nslookup в миллисекундах. Как видите, первый DNS сервер от гугла медленнее по сравнению с вторым. А теперь перейдём непосредственно к списку «хорошие DNS-серверы».
Лучшие DNS-серверы
1. Google Public DNS
Первый DNS сервер в нашем списке — сервер от Google — Google Public DNS. Он работает с декабря 2009 и его цель — сделать работу пользователей в интернете быстрее, безопаснее и удобнее. В настоящее время это крупнейшая государственная DNS-структура в мире. Для использования Google Public DNS достаточно использовать IP-адрес DNS сервера 8.8.8.8 или 8.8.4.4.
При переходе на Google Public DNS повышается безопасность и оптимизируется скорость работы, поскольку Google действительно использует Anycast-маршрутизацию для нахождения ближайшего сервера. Кроме того, он устойчив к атакам DNS Cache, а также DoS.
2. OpenDNS
Если вы ищете не просто замену обычному DNS, а расширенную версию, которая даст вам больше контроля, попробуйте OpenDNS. Как говорится в сообщении этой компании, вы сделаете ещё один шаг на пути к безопасности путем внедрения этой службы. Есть два варианта OpenDNS — домашний и корпоративный. Домашняя версия поставляется с родительским контролем, защитой от фишинга и улучшенной скоростью. Корпоративная версия OpenDNS имеет полную функциональность для защиты сети предприятия. Для домашнего использования вы можете получить OpenDNS бесплатно. Чтобы настроить DNS-серверы Linux просто установите следующие адреса DNS: 208.67.222.222 и 208.67.220.220. OpenDNS также поддерживает Anycast.
3. DNS.WATCH
DNS.WATCH — это минималистичная служба DNS, которая позволяет вам иметь быстрый доступ в интернет без цензуры. Поскольку эта служба построена по принципам свободы, вы можете быть уверены ,что ваш запрос достигнет цели и не будет использовано никаких перенаправлений. Сервер работает быстро и стабильно. Если вы живете в стране с цензурой, это будет отличным решением. Сервера DNS-службы: 82.200.69.80 и 84.200.70.40.
4. Norton ConnectSafe
Norton ConnectSafe — ещё одна служба DNS, предназначенная для усиленной защиты вашего интернета. Следует отметить, что Norton занимается аспектами безопасности многих устройств в течение длительного времени. Поэтому вы можете быть уверены в качестве Norton ConnectSafe. Сервис предлагает три различных варианта защиты: защита от вредоносных программ, фишинга и жульничества, защита от порнографии и других угроз. Для каждого вида используются разные IP-адреса. Для защиты всей домашней сети достаточно просто настроить маршрутизатор.
5. Level3 DNS
Level3 DNS — это отличная служба DNS, если вы ищете надежный DNS-сервер с отличной производительностью. Хотя и Level3 не такой большой, как Google, у него впечатляющая инфраструктура. Вы можете быть уверенны, что скорость будет на высшем уровне. IP-адреса DNS сервера: 209.244.0.3, 209.244.0.4 , 4.2.2.1, 4.2.2.2 , 4.2.2.3 и 4.2.2.4.
6. Comodo Secure DNS
Comodo Secure DNS — ещё одна служба, сочетающая в себе скорость, надёжность и безопасность. Comodo использует огромную сеть, которая включает в себя большое количество DNS-серверов. Скорость будет оптимизирована путём выбора сервера в зависимости от вашего местоположения. Кроме того, Comodo заботится о безопасности, поставляя список опасных сайтов, а служба DNS убедится, что вы не посещаете ни один из них. IP-адреса Comodo Secure DNS: 8.26.56.26 и 8.20.247.20.
7. OpenNIC DNS
Хотя OpenNIC DNS находится последним в списке, он будет отличным решением, если вам нужен свободный доступ в интернет без цензуры, налагаемой властями. У OpenNIC DNS очень большая инфраструктура сети, и поэтому, скорее всего, будет найден DNS-сервер, находящийся недалеко от вашего физического местоположения. Просто выберите нужный сервер из списка.
Не только у Google есть свои DNS серверы. У Яндекса тоже есть бесплатный сервис DNS, которые вы можете использовать. Сервера яндекса могут быть ближе для некоторых районов России, чем сервера Европы, поэтому такой DNS может быть более предпочтительным. У яндекса есть три вида DNS — обычные, без фишинговых и мошеннических сайтов, и третий тип — без сайтов для взрослых. Адреса обычного DNS от яндекса — 77.88.8.8 и 77.88.8.1.
Выводы
Как видите, одни из этих серверов обеспечивают обычный DNS в обход запретов провайдера, другие же имеют дополнительные возможности — защиту от атак, фишинга и опасных программ. Все они — лучшие DNS-серверы, и вы можете выбрать один из них в зависимости от ваших потребностей.
Источник
Просмотр и изменение DNS в Linux
Служба DNS (англ. Domain Name System — система доменных имён) используется для получения информации о доменах. Основное её предназначение — увязывать IP-адрес и доменное имя хоста. Посмотреть, к какому DNS-серверу подключен компьютер с Linux на борту, не просто, а очень просто. Как просто и поменять DNS в Linux.
Если Linux снабжён графическим интерфейсом, достаточно открыть сведения о сетевом соединении и посмотреть в строчку DNS.
По понятным причинам нас этот способ не очень интересует. Да и элементы интерфейса могут у разных сред рабочего стола различаться. Рассмотрим просмотр и настройку DNS в терминале Linux.
Традиционно DNS в Linux настраивалась через файл /etc/resolv.conf. Сейчас, однако, он может оказаться бесполезным. Откроем его любым консольным текстовым редактором, например nano:
Мы можем увидеть следующее:
Это значит, что в системе есть systemd, который содержит свой локальный сервер DNS. Его адрес и прописан в этом файле. Однако, в конечном итоге, используются другие DNS-серверы! Посмотреть их можно по-разному. Можно использовать команду
Вы увидите нечто подобное тому, что на скриншоте ниже. Если в системе несколько сетевых интерфейсов, информация будет предоставлена по каждому.
Другой способ — использовать утилиту nmcli. Введите команду
Как изменить DNS? Если в системе нет systemd, то это можно сделать редактированием файла /etc/resolv.conf. Откройте его любым текстовым редактором, найдите строку nameserver и впишите адреса DNS-серверов. Если их несколько, введите их адреса последовательно. Например:
Если в ОС есть systemd, вышеописанных способ бесполезен, поскольку настройки будут перезаписываться при перезагрузке системы. В данном случае нам нужно редактировать файл /etc/systemd/resolved.conf.
В разделе Resolve отредактируйте строку DNS. При необходимости уберите символ # для раскомментирования. Адреса DNS-серверов прописываются через запятую.
Как видим на этом примере, systemd несколько усложнил операционную систему Linux. Однако настроить DNS в ней до сих пор не составляет труда. Кроме того, в Linux можно пользоваться и файлом hosts.
Источник