Свой dns сервер: Поднимаем свой DNS сервер на VDS / Песочница / Хабр

Содержание

Поднимаем свой DNS сервер на VDS / Песочница / Хабр

В данной статье я опишу, как поднять свой DNS сервер на арендованном VDS/VPS с помощью пакета BIND.

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

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

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

Сервер для DNS → 91.197.130.49 (ns1.mydomain.com)
→ 91.197.130.63 (ns2.mydomain.com)
Зона —> mydomain.com

На виртуальном сервере установлена ОС — CentOS5.5

Установка BIND

Прежде всего, нам необходимо установить на сервер сам пакет BIND, а для этого нужно подсоединится к нашему VDS.

Тут есть два варианта в зависимости от того, какой ОС вы пользуетесь на своем персональном компьютере.

В linux системах все довольно просто. Нужно перейти в основной панели на вкладку Places — Connect to Server.., в Service type выбрать SSH соединение, ввести адрес вашего сервера, ваш логин, нажать кнопку «connect». В появившемся окошке ввести свой пароль и… вы уже в терминале операционной системы своего VDS.

Если вы пользуетесь Windows, то могу посоветовать вам скачать программу PuTTY. Программа распространяется бесплатно и без ограничений. Скачать и узнать, как ей пользоваться, можно здесь.

Итак, мы попали в терминал VDS. Чтобы установить последнюю версию пакета BIND, нужно ввести команду:

yum install bind

Жмем «Enter» и ждем успешного завершения установки.

Создание данных зоны

Следующим шагом на нашем пути будет создание данных для зоны.

Для корректной настройки DNS под BIND данные разбиваются на несколько файлов. Один из них содержит отображения имен узлов в адреса, остальные — отображения адресов обратно в имена. Поиск адреса для имени принято называть прямым отображением, а поиск имени по адресу — обратным отображением.

Мы будем использовать следующие файлы:
1.Файл, содержащий данные преобразования имен хостов в адреса. Его имя для нашей зоны будет иметь вид db.mydomain.com.
2.Файл, содержащий данные преобразования адресов в имена хостов. Его название имеет вид db.addr, где addr — это внешний IP адрес нашего будущего DNS сервера, без последних цифр или маски сети. Для данного примера файл будет назваться
db.91.197.130.

3.Файлы зоны db.cache и db 127.0.0. Эти файлы необходимы для корректной работы DNS.
4.Файл настройки (конфигурационный файл), необходимый для связи всех файлов данных зоны. В версиях BIND 8 и 9 файл обычно называется /etc/named.conf.

Приступим непосредственно к созданию файлов.

Начнем с конфигурационного файла. Чтобы создать его, вводим в терминале VDS команду

vi /etc/named.conf

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

options {
directory "/var/named/";
dump-file "/var/run/named_dump.bd";
statistics-file "/var/run/named.stats";
};

Далее идет описание каждого файла данных зоны, которые необходимо использовать. Строка начинается со слова zone, за ним следует доменное имя и имя класса (in — класс интернета.) В BIND 8 и 9 класс интернета устанавливается по умолчанию, и поэтому нет необходимости указывать класс для него. Тип master указывает на то, что наш DNS сервер будет первичным. В последнем поле содержится имя файла данных зоны.

zone "mydomain.com" IN {
type master;
file "db.mydomain.com";
};

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

zone "." {
type hint;
file "db.cache";
};

Этот файл не содержит данные кэша, а только указатели (hints) корневых DNS-серверов, о чем будет сказано ниже.

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

options {
directory "/var/named/";

dump-file "/var/run/named_dump.bd";
statistics-file "/var/run/named.stats";
};

zone «mydomain.com» IN {
type master;
file «db.mydomain.com»;
};

zone «130.197.91.IN-ADDR.ARPA.» IN {
type master;
file «db.91.197.130.»;
};

zone «0.0.127.IN-ADDR.ARPA.» IN {
type master;
file «db.127.0.0»;
};

zone «.» {
type hint;
file «db.cache»;
};

Теперь рассмотрим, как создать файлы данных для mydomain.com., 91.197.130.0, 127.0.0 и cache. Вообще файлы db.127.0.0 и db.cache создаются автоматически, так что описывать их нет необходимости.

Вводим в терминале

vi /var/named/db.mydomain.com.

Теперь приступим к редактированию файла.

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

Для того, чтобы указать стандартное значение, нужно воспользоваться директивой $TTL. Для данного примера возьмем за стандартное значение 3 часа (3h). Первая строчка будет выглядеть так:

$TTL 3H

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

SOA-запись для данного примера будет иметь вид:

mydomain.com. IN SOA ns1.mydomain.com. admin.mydomain.com. (
1 ; Порядковый номер
3h ; Обновление через 3 часа
1h ; Повторение попытки через 1 час
1w ; Устаревание через 1 неделю
1h ) ; Отрицательное TTL в 1 час

На первом месте указываем доменную зону нашего будущего NS, обязательно в конце домена ставим точку. Зачем это делается, я расскажу чуть позже. Далее следует класс сети, об этом уже было написано выше, его указывать не обязательно. SOA указывает на тип записи. ns1.mydomain.com. — это адрес первичного сервера DNS зоны mydomain.com. А admin.mydomain.com. — почтовый адрес владельца доменной зоны. Скобки позволяют указать несколько строк, относящихся к записи. Следующие в них значения по сути не нужны в данном примере, они используются в основном вторичными серверами, но все же я вкратце опишу, что они значат.

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

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

Обновление (refresh)
Интервал обновления инструктирует вторичный DNS-сервер, с какой частотой следует проверять актуальность информации для зоны. Установленные в данном примере 3 часа будут создавать весьма большую нагрузку на первичный сервер, так что при редком обновлении файлов зоны вторичного сервера стоит установить интервал хотя бы в 24 часа.

Повторение попытки (retry)

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

Устаревание (expire)
Если вторичный DNS сервер не может соединиться с первичным в течении указанного периода, данные на нем устаревают. Устаревшие данные зоны говорят о том, что информация уже не актуальна и не стоит ее больше использовать. Имеет смысл устанавливать значения устаревания намного большие, чем интервал обновления (от недели до месяца), иначе они будут устаревать еще до того, как успеют обновиться.
Отрицательное TTL

TTL — это время жизни (time to live). Это значение относится ко всем отрицательным ответам DNS-серверов, авторитативных для данной зоны.

Документом RFC 1537 рекомендуются следующие значения для DNS серверов высшего уровня:
Обновление 24 hours

Повторение попытки 2 hours
Устаревание 30 days
Стандартное TTL 4 days

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

mydomain.com. IN NS ns1.mydomain.com.
mydomain.com. IN NS ns2.mydomain.com.

Теперь наши записи указывают на то, что для нашей DNS зоны существует якобы два различных DNS сервера. Для правильной работы NS записей необходимо указать IP адреса, на которых установлены сервера. Делается это с помощью A записей:

ns1.mydomain.com. IN A 91.197.130.49
ns2.mydomain.com. IN A 91.197.130.63

Файл db.mydomain.com. готов, перейдем к создания следующего файла. Вводим в терминале:

vi /var/named/chroot/var/named/db.91.197.130.

И редактируем данные как в предыдущем файле.
Сначала прописываем TTL и SOA запись.

$TTL 3H
130.197.91 IN SOA ns1.mydomain.com admin.mydomain.com (
1
3H
1H
1W
1H )

Далее NS записи:

пробел IN NS ns1.mydomain.com.
пробел IN NS ns2.mydomain.com.

А теперь указываем PTR записи — они служат для отображения имен, соответствующих IP адресам. Для данного примера записи будут выглядеть следующим образом:

49.130.197.91 PTR ns1.mydomain.com.
63.130.197.91 PTR ns2.mydomain.com.

Вот наш файл и готов.

Упрощаем код

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

Вернемся к нашему конфигурационному файлу. Поле директивы zone определяет доменное имя. Это имя является суффиксом по умолчанию (origin) для всей информации в файлах данных зоны. Суффикс по умолчанию добавляется в конец всех имен, которые не заканчиваются точкой (Помните я говорил о том, что не следует забывать ставить точку в конце имен). Так как каждый файл отвечает за свою зону, то и суффиксы по умолчанию в каждом файле свои.

Исходя из данного принципа сокращений, можно упростить код следующим образом:

Вместо строки: «ns1.mydomain.com. IN A 91.197.130.49» можно указать вот такую строку:

ns1 IN A 91.197.130.49

Запись «49.130.197.91 PTR ns1.mydomain.com.» можно записать так:

49 PTR ns1.mydomain.com.

Если доменное имя совпадает с суффиксом по умолчанию, его можно указывать в виде «@». Обычно такая запись используется в SOA-записях. Например:

@ IN SOA ns1.mydomain.com. admin.mydomain.com. (
1
3h
1h
1w
1h )

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

130.197.91 IN NS ns1.mydomain.com.
«пробел» IN NS ns2.mydomain.com.

Таким сокращением можно пользоваться даже при создании различных типов записей для одного имени.

Итог

Посмотрим теперь, как будут выглядеть наши файлы данных зоны с применением вышеописанных правил сокращения.
Файл db.mydomain.com.

$TTL 3H
@ IN SOA ns1.mydomain.com. admin.mydomain.com. (
1
3h
1h
1w
1h )

«пробел» IN NS ns1.mydomain.com.
«пробел» IN NS ns2.mydomain.com.

ns1 IN A 91.197.130.49
ns2 IN A 91.197.130.63

Файл db.91.197.130.

$TTL 3H
@ IN SOA ns1.mydomain.com admin.mydomain.com (
1
3H
1H
1W
1H )

«пробел» IN NS ns1.mydomain.com.
«пробел» IN NS ns2.mydomain.com.

49 PTR ns1.mydomain.com.
63 PTR ns2.mydomain.com.

Поздравляю! Мы закончили настройку нашего DNS сервера с двумя записями NS.

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

/etc/init.d/nammed start
/etc/init.d/nammed stop
/etc/init.d/nammed restart

Для тестирования серверов существует очень полезная программка — nslookup.

Поднимаем свой DNS-over-HTTPS сервер / Хабр

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

До последнего времени, несмотря на очевидность уязвимости DNS трафика, который, до сих пор, по большей части, передаётся в открытом виде, для злонамеренных действий со стороны провайдеров, стремящихся повысить своих доходы за счёт встраивания рекламы в контент, государственных силовых органов и цензуры, а также просто преступников, процесс усиления его защиты, несмотря на наличие различных технологий, таких как DNSSEC/DANE, DNScrypt, DNS-over-TLS и DNS-over-HTTPS, буксовал. И если серверные решения, а некоторые из них существуют уже довольно долгое время, широко известны и доступны, то поддержка их со стороны клиентского программного обеспечения оставляет желать много лучшего.

К счастью, ситуация меняется. В частности, разработчики популярного браузера Firefox заявили о планах по включению по умолчанию режима поддержки режима DNS-over-HTTPS (DoH) в ближайшее время. Это должно помочь защитить DNS трафик пользователя WWW от вышеупомянутых угроз, однако потенциально способно вызвать новые.

На первый взгляд, начинающееся массовое внедрение DNS-over-HTTPS в программное обеспечение работающее в Интернет вызывает только позитивную реакцию. Однако, чёрт, как говорится, кроется в деталях.

Первой проблемой, которая ограничивает сферу массового применения DoH, является его ориентация исключительно на веб-трафик. Действительно, протокол HTTP и его актуальная редакция HTTP/2, на которой базируется DoH, является основой WWW. Но Интернет это не только веб. Существует масса популярых сервисов, такие, как электронная почта, всевозможные мессенджеры, системы передачи файлов, стриминг мультимедиа и проч., которые не используют HTTP. Таким образом, несмотря на восприятие многими DoH как панацеи, он оказывается неприменим без дополнительных (да и не нужных) усилий, ни для чего иного, кроме браузерных технологий. К слову, на эту роль куда как более достойным кандидатом выглядит DNS-over-TLS, который реализует инкапсуляцию стандартного DNS трафика в защищённый стандартный протокол TLS.

Второй проблемой, которая потенциально куда как более значима, чем первая, является фактический отказ от присущей DNS by design децентрализации в угоду использования указываемого в настройках браузера единого DoH сервера. В частности, Mozilla предлагает использовать сервис от Cloudflare. Подобный сервис запустили также и другие заметные фигуры Интернет, в частности Google. Получается, что внедрение DNS-over-HTTPS в том виде, в котором это предлагается сейчас, лишь увеличивает зависимость конечных пользователей от крупнейших сервисов. Не секрет, что информация, которую может предоставить анализ DNS запросов способен собирать ещё больше данных о нём, а также повысить их точность и актуальность.

В этой связи, автор был и остаётся сторонником массового внедрения не DNS-over-HTTPS, а DNS-over-TLS совместно с DNSSEC/DANE как универсального, безопасного и не способствующего дальнейшей централизации Интернет средства для обеспечения безопасности DNS трафика. К сожалению, ожидать быстрое внедрение массовой поддержки альтернатив DoH в клиентский софт в силу понятных причин, не приходится и её уделом пока остаются энтузиасты безопасных технологий.

Но, коль уж мы теперь получаем DoH, то почему бы не использовать его, предварительно уйдя от потенциальной слежки по стороны корпораций посредством их серверов на свой собственный DNS-over-HTTPS сервер?


Если взглянуть в стандарт RFC8484 описывающий протокол DNS-over-HTTPS, то можно увидеть, что он, по сути, представляет собой веб API позволяющий инкапсулировать стандартный пакет DNS в протокол HTTP/2. Это реализуется посредством специальных HTTP-заголовков, а также конверсии бинарного формата передаваемых DNS данных (см. RFC1035 и последующие документы) в форму, позволяющую передавать и получать их, а также работать с необходимыми метаданными.

По стандарту поддерживается только HTTP/2 и защищённое соединение TLS.

Отправка DNS-запроса может производится стандартными методами GET и POST. В первом случае запрос трансформируется base64URL-encoded строку, а во-втором — через тело POST-запроса в двоичной форме. При этом при запросе и при ответе DNS используется специальный MIME-тип данных application/dns-message.

[email protected]:~ # curl -H 'accept: application/dns-message' 'https://my.domain/dns-query?dns=q80BAAABAAAAAAAAB2V4YW1wbGUDY29tAAABAAE' -v
*   Trying 2001:100:200:300::400:443...
* TCP_NODELAY set
* Connected to eprove.net (2001:100:200:300::400) port 443 (#0)
* ALPN, offering h3
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /usr/local/share/certs/ca-root-nss.crt
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h3
* Server certificate:
*  subject: CN=my.domain
*  start date: Jul 22 00:07:13 2019 GMT
*  expire date: Oct 20 00:07:13 2019 GMT
*  subjectAltName: host "my.domain" matched cert's "my.domain"
*  issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x801441000)
> GET /dns-query?dns=q80BAAABAAAAAAAAB2V4YW1wbGUDY29tAAABAAE HTTP/2
> Host: eprove.net
> User-Agent: curl/7.65.3
> accept: application/dns-message
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
< HTTP/2 200
< server: h3o/2.3.0-beta2
< content-type: application/dns-message
< cache-control: max-age=86274
< date: Thu, 12 Sep 2019 13:07:25 GMT
< strict-transport-security: max-age=15768000; includeSubDomains; preload
< content-length: 45
<
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
* Failed writing body (0 != 45)
* stopped the pause stream!
* Connection #0 to host eprove.net left intact

Обратите также внимание на заголовок cache-control: в ответе со стороны веб-сервера. В параметре max-age содержится значение TTL для возвращаемой записи DNS (или минимальное значение если возвращается их набор).

Исходя из вышеизложенного, функционирование DoH сервера состоит из нескольких этапов.


  • Получить HTTP запрос. Если это GET то декодировать пакет из base64URL кодировки.
  • Отправить этот пакет DNS серверу.
  • Получить ответ от DNS сервера
  • Найти минимальное значение TTL в полученных записях.
  • Вернуть клиенту ответ по HTTP.

Наиболее простым, быстрым и эффективным способом запустить свой собственный DNS-over-HTTPS сервер представляется использование HTTP/2 веб-сервера h3O, о котором автор уже вкратце писал (см. «Высокопроизводительный веб-сервер h3O»).

В пользу этого выбора играет тот факт, что весь код собственного DoH сервра может быть полностью реализован средствами интегрированного в сам h3O интерпретатором mruby. Помимо стандартных библиотек, для обмена данными с DNS сервером необходима библиотека (mrbgem) Socket, которая, по счастью, уже включена в текущую девелоперскую версию h3O 2.3.0-beta2 присутствующую в портах FreeBSD. Впрочем, не трудно добавить её и в любую предыдущую версию клонировав репозиторий библиотеки Socket в каталог /deps перед компиляцией.

[email protected]:~ # uname -v
FreeBSD 12.0-RELEASE-p10 GENERIC
[email protected]:~ # cd /usr/ports/www/h3o
[email protected]:/usr/ports/www/h3o # make extract
===>  License MIT BSD2CLAUSE accepted by the user
===>   h3o-2.2.6 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by h3o-2.2.6 for building
===>  Extracting for h3o-2.2.6.
=> SHA256 Checksum OK for h3o-h3o-v2.2.6_GH0.tar.gz.
===>   h3o-2.2.6 depends on file: /usr/local/bin/ruby26 - found
[email protected]:/usr/ports/www/h3o # cd work/h3o-2.2.6/deps/
[email protected]:/usr/ports/www/h3o/work/h3o-2.2.6/deps # git clone https://github.com/iij/mruby-socket.git
Клонирование в «mruby-socket»…
remote: Enumerating objects: 385, done.
remote: Total 385 (delta 0), reused 0 (delta 0), pack-reused 385
Получение объектов: 100% (385/385), 98.02 KiB | 647.00 KiB/s, готово.
Определение изменений: 100% (208/208), готово.
[email protected]:/usr/ports/www/h3o/work/h3o-2.2.6/deps # ll
total 181
drwxr-xr-x   9 root  wheel  18 12 авг.  16:09 brotli/
drwxr-xr-x   2 root  wheel   4 12 авг.  16:09 cloexec/
drwxr-xr-x   2 root  wheel   5 12 авг.  16:09 golombset/
drwxr-xr-x   4 root  wheel  35 12 авг.  16:09 klib/
drwxr-xr-x   2 root  wheel   5 12 авг.  16:09 libgkc/
drwxr-xr-x   4 root  wheel  26 12 авг.  16:09 libyrmcds/
drwxr-xr-x  13 root  wheel  32 12 авг.  16:09 mruby/
drwxr-xr-x   5 root  wheel  11 12 авг.  16:09 mruby-digest/
drwxr-xr-x   5 root  wheel  10 12 авг.  16:09 mruby-dir/
drwxr-xr-x   5 root  wheel  10 12 авг.  16:09 mruby-env/
drwxr-xr-x   4 root  wheel   9 12 авг.  16:09 mruby-errno/
drwxr-xr-x   5 root  wheel  14 12 авг.  16:09 mruby-file-stat/
drwxr-xr-x   5 root  wheel  10 12 авг.  16:09 mruby-iijson/
drwxr-xr-x   5 root  wheel  11 12 авг.  16:09 mruby-input-stream/
drwxr-xr-x   6 root  wheel  11 12 авг.  16:09 mruby-io/
drwxr-xr-x   5 root  wheel  10 12 авг.  16:09 mruby-onig-regexp/
drwxr-xr-x   4 root  wheel  10 12 авг.  16:09 mruby-pack/
drwxr-xr-x   5 root  wheel  10 12 авг.  16:09 mruby-require/
drwxr-xr-x   6 root  wheel  10 12 сент. 16:10 mruby-socket/
drwxr-xr-x   2 root  wheel   9 12 авг.  16:09 neverbleed/
drwxr-xr-x   2 root  wheel  13 12 авг.  16:09 picohttpparser/
drwxr-xr-x   2 root  wheel   4 12 авг.  16:09 picotest/
drwxr-xr-x   9 root  wheel  16 12 авг.  16:09 picotls/
drwxr-xr-x   4 root  wheel   8 12 авг.  16:09 ssl-conservatory/
drwxr-xr-x   8 root  wheel  18 12 авг.  16:09 yaml/
drwxr-xr-x   2 root  wheel   8 12 авг.  16:09 yoml/
[email protected]:/usr/ports/www/h3o/work/h3o-2.2.6/deps # cd ../../..
[email protected]:/usr/ports/www/h3o # make install clean
...

Конфигурация веб-сервера, в целом, стандартная.

[email protected]:/usr/ports/www/h3o #  cd /usr/local/etc/h3o/
[email protected]:/usr/local/etc/h3o # cat h3o.conf
# this sample config gives you a feel for how h3o can be used
# and a high-security configuration for TLS and HTTP headers
# see https://h3o.examp1e.net/ for detailed documentation
# and h3o --help for command-line options and settings

# v.20180207 (c)2018 by Max Kostikov http://kostikov.co e-mail: [email protected]

user: www
pid-file: /var/run/h3o.pid
access-log:
    path: /var/log/h3o/h3o-access.log
    format: "%h %v %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
error-log: /var/log/h3o/h3o-error.log

expires: off
compress: on
file.dirlisting: off
file.send-compressed: on

file.index: [ 'index.html', 'index.php' ]

listen:
    port: 80
listen:
    port: 443
    ssl:
        cipher-suite: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
        cipher-preference: server
        dh-file: /etc/ssl/dhparams.pem
        certificate-file: /usr/local/etc/letsencrypt/live/eprove.net/fullchain.pem
        key-file: /usr/local/etc/letsencrypt/live/my.domain/privkey.pem

hosts:
    "*.my.domain":
        paths: &go_tls
            "/":
                redirect:
                    status: 301
                    url: https://my.domain/
    "my.domain:80":
        paths: *go_tls
    "my.domain:443":
        header.add: "Strict-Transport-Security: max-age=15768000; includeSubDomains; preload"
        paths:
            "/dns-query":
               mruby.handler-file: /usr/local/etc/h3o/h3odoh.rb

Исключение составляет лишь обработчик URL /dns-query за который отвечает, собственно, наш DNS-over-HTTPS сервер h3odoh, написанный на mruby и вызываемый через опцию обработчика mruby.handler-file.

[email protected]:/usr/local/etc/h3o # cat h3odoh.rb
# h3O HTTP/2 web server as DNS-over-HTTP service
# v.20190908 (c)2018-2019 Max Kostikov https://kostikov.co e-mail: [email protected]

proc {|env|
    if env['HTTP_ACCEPT'] == "application/dns-message"
        case env['REQUEST_METHOD']
            when "GET"
                req = env['QUERY_STRING'].gsub(/^dns=/,'')
                # base64URL decode
                req = req.tr("-_", "+/")
                if !req.end_with?("=") && req.length % 4 != 0
                    req = req.ljust((req.length + 3) & ~3, "=")
                end
                req = req.unpack1("m")
            when "POST"
                req = env['rack.input'].read
            else
                req = ""
        end
        if req.empty?
            [400, { 'content-type' => 'text/plain' }, [ "Bad Request" ]]
        else
            # --- ask DNS server
            sock = UDPSocket.new
            sock.connect("localhost", 53)
            sock.send(req, 0)
            str = sock.recv(4096)
            sock.close
            # --- find lowest TTL in response
            nans = str[6, 2].unpack1('n') # number of answers
            if nans > 0 # no DNS failure
                shift = 12
                ttl = 0
                while nans > 0
                    # process domain name compression
                    if str[shift].unpack1("C") < 192
                        shift = str.index("\x00", shift) + 5
                        if ttl == 0 # skip question section
                            next
                        end
                    end
                    shift += 6
                    curttl = str[shift, 4].unpack1('N')
                    shift += str[shift + 4, 2].unpack1('n') + 6 # responce data size
                    if ttl == 0 or ttl > curttl
                        ttl = curttl
                    end
                    nans -= 1
                 end
                 cc = 'max-age=' + ttl.to_s
            else
                 cc = 'no-cache'
            end
            [200, { 'content-type' => 'application/dns-message', 'content-length' => str.size, 'cache-control' => cc }, [ str ] ]
        end
    else
        [415, { 'content-type' => 'text/plain' }, [ "Unsupported Media Type" ]]
    end
}

Обратие внимание, что за обработку пакетов DNS отвечает локальный кэширующий сервер, в данном случае Unbound из стандратной поставки FreeBSD. С точки зрения безопасности это оптимальное решение. Впрочем, ничто не мешает заменить localhost на адрес другого DNS, который вы предполагаете использовать.

[email protected]:/usr/local/etc/h3o # local-unbound verison
usage:  local-unbound [options]
        start unbound daemon DNS resolver.
-h      this help
-c file config file to read instead of /var/unbound/unbound.conf
        file format is described in unbound.conf(5).
-d      do not fork into the background.
-p      do not create a pidfile.
-v      verbose (more times to increase verbosity)
Version 1.8.1
linked libs: mini-event internal (it uses select), OpenSSL 1.1.1a-freebsd  20 Nov 2018
linked modules: dns64 respip validator iterator
BSD licensed, see LICENSE in source package for details.
Report bugs to [email protected]
[email protected]:/usr/local/etc/h3o # sockstat -46 | grep unbound
unbound  local-unbo 69749 3  udp6   ::1:53                *:*
unbound  local-unbo 69749 4  tcp6   ::1:53                *:*
unbound  local-unbo 69749 5  udp4   127.0.0.1:53          *:*
unbound  local-unbo 69749 6  tcp4   127.0.0.1:53          *:*

Отстаётся перезапустить h3O и посмотреть что же из этого получилось.

[email protected]:/usr/local/etc/h3o # service h3o restart
Stopping h3o.
Waiting for PIDS: 69871.
Starting h3o.
start_server (pid:70532) starting now...

Итак, проверим результаты отправив вновь пробный запрос и посмотрев сетевой трафик при помощи утилиты tcpdump.

[email protected]/usr/local/etc/h3o # curl -H 'accept: application/dns-message' 'https://my.domain/dns-query?dns=q80BAAABAAAAAAAAB2V4YW1wbGUDY29tAAABAAE'
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
...
[email protected]:~ # tcpdump -n -i lo0 udp port 53 -xx -XX -vv
tcpdump: listening on lo0, link-type NULL (BSD loopback), capture size 262144 bytes
16:32:40.420831 IP (tos 0x0, ttl 64, id 37575, offset 0, flags [none], proto UDP (17), length 57, bad cksum 0 (->e9ea)!)
    127.0.0.1.21070 > 127.0.0.1.53: [bad udp cksum 0xfe38 -> 0x33e3!] 43981+ A? example.com. (29)
        0x0000:  0200 0000 4500 0039 92c7 0000 4011 0000  [email protected]
        0x0010:  7f00 0001 7f00 0001 524e 0035 0025 fe38  ........RN.5.%.8
        0x0020:  abcd 0100 0001 0000 0000 0000 0765 7861  .............exa
        0x0030:  6d70 6c65 0363 6f6d 0000 0100 01         mple.com.....
16:32:40.796507 IP (tos 0x0, ttl 64, id 37590, offset 0, flags [none], proto UDP (17), length 73, bad cksum 0 (->e9cb)!)
    127.0.0.1.53 > 127.0.0.1.21070: [bad udp cksum 0xfe48 -> 0x43fa!] 43981 q: A? example.com. 1/0/0 example.com. A 93.184.216.34 (45)
        0x0000:  0200 0000 4500 0049 92d6 0000 4011 0000  [email protected]
        0x0010:  7f00 0001 7f00 0001 0035 524e 0035 fe48  .........5RN.5.H
        0x0020:  abcd 8180 0001 0001 0000 0000 0765 7861  .............exa
        0x0030:  6d70 6c65 0363 6f6d 0000 0100 01c0 0c00  mple.com........
        0x0040:  0100 0100 0151 8000 045d b8d8 22         .....Q...].."
^C
2 packets captured
23 packets received by filter
0 packets dropped by kernel

В выводе видно, как запрос на разрешение адреса example.com был получен и успешно обработан DNS сервером.

Теперь осталось активировать наш сервер в браузере Firefox. Для этого на страницы конфигурации следует изменить несколько настроек about:config.

Во-первых, это адрес нашего API по которому браузер будет запрашивать в DNS информацию в network.trr.uri. Рекомендуется также указать IP домена из этого URL для безопасного разрешения в IP средствами самого браузера без обращения к DNS в network.trr.bootstrapAddress. И, наконец, собственно сам параметр network.trr.mode включающий использование DoH. Установка значения в «3» заставит браузер использовать исключительно DNS-over-HTTPS для разрешения имён, а более надёжное и безопасное «2» отдаст приоритет DoH отставив стандартное обращение к DNS в качестве резервного варианта.


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

Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS / Хабр

С каждым годом скорость интернета — как последней мили, так и магистральных каналов становится все выше. Лишь одно неизменно — латентность уже уперлась в физические ограничения: скорость света в оптоволокне — около 200тыс километров в секунду, и соответственно, быстрее чем за ~150ms ответ от сервера через атлантический океан не получить в обозримой перспективе (хотя конечно есть изыски, вроде оптоволокна с воздушной сердцевиной или радиорелейной связи, но это для простых смертных едва-ли доступно).

Когда мы пытаемся например из России открыть web-сайт, расположенный в США (его NS сервера вероятно там же), и домен не нашелся в DNS-кэше вашего провайдера — то ждать придется долго даже на гигабитном интернете, возможно даже целую секунду: пока мы через океан получим имена NS серверов домена, пока разрезолвим их IP, пока отправим и получим собственно сам DNS запрос…

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

Но мне удалось сделать свой DNS сервер, который работает быстрее Google Public DNS, и в этой краткой заметке хочу поделится результатами.

pdnsd — кэширующий DNS proxy. Помимо банального кэширования DNS запросов (с возможностью жестко задавать минимальный TTL — может быть нужно на очень плохом интернете), он умеет отсылать запрос одновременно на несколько «родительских» DNS серверов, и отдавать клиенту первый вернувшийся ответ.

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

Ставится в Ubuntu — банальным apt-get.

Пара моментов в конфиге

global {
	perm_cache=10240; //Максимальный размер кэша в килобайтах. 
                      //По дефолту было 1024, все записи у меня не влазили.
	cache_dir="/var/cache/pdnsd";
[...]
	min_ttl=60m;    // Минимальное время сохранения записи в кэше.
                   //Даже если TTL придет меньше 60минут - будет 60минут
	max_ttl=1w;	   // Максимальное время сохранения записи в кэше
	neg_ttl=5m; //Время кеширования отрицательных ответов (т.е. если домен не найден)
[..]
	par_queries=3; //Количество одновременно опрашиваемых "родительских" DNS серверов
}

server {
	label = "main";
	ip = 	85.21.192.5 //Тут 4 сервера, если первые 3 не ответят, то будет отправлен запрос на 4-й
	,       213.234.192.7 //Первые 2 сервера - это сервер вашего провайдера, и какого-нибудь соседнего
	,	8.8.4.4 //Это Google Public DNS - у них закэшировано все редкое и резолвят они быстро
	,	8.8.8.8
	;
[..]
}

В принципе, кэширование можно сделать менее агрессивным (min_ttl=1m например), но за год работы проблем особых не возникло. В случае проблем — при желании можно вытереть одну запись из кэша:

sudo pdnsd-ctl record 3.14.by delete
или сразу все:
sudo pdnsd-ctl empty-cache

Результаты тестирования в NameBench



Видим, что для 50% запросов ответ мы получаем менее чем за 10мс, для 85% быстрее Google Public DNS, ну а дальше результаты естественно совпадают с гуглом.

По результатам тестов NameBench нам радостно сообщает:

8.8.8.8 	Slower replica of SYS-192.167.0.98 [192.167.0.98]
8.8.4.4 	Slower replica of SYS-192.167.0.98 [192.167.0.98]

Таким образом, умный кэширующий DNS прокси с параллельными запросами — позволяет ускорить даже 100-мегабитный интернет. А уж для медленных (радио)линков с большой латентностью и потерей пакетов — и вовсе разница может быть как между небом и землей.

Как настроить DNS сервера на VDS, VPS сервере

От автора

Настроить DNS сервера на VDS, VPS сервере можно несколькими способами. Более того, если провайдер не ограничил вас в способах  настройки DNS, то вы, как владелец сервера с правами root,  можете настроить  DNS сервера на VDS/VPS сервере, несколькими способами.

Что такое DNS, кратко

DNS это сервер доменных имен (Domain Name System). Сервера доменных имен, объединенные в иерархическую структуру поддерживают и позволяют получить информацию, как компьютерам искать друг друга в Интернет. Работает это так: Вы набираете адрес ресурса в вашем браузере, ваш провайдер проверяет его через DNS (сервер доменных имен) введенный домен, чтобы знать, куда отправить сделанный вами запрос.

http://www.domain.com → проверка в системе DNS → DNS по домену ищет IP адрес ресурса domain.ru = IP: XX.XXX.XXX.XX →  Вы получаете содержимое сайта.

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

Привязываем домен с помощью DNS серверов провайдера

Этот способ привязки домена проходит у любого провайдера. Нужно посмотреть адреса DNS серверов провайдера VDS и вписать их у регистратора имен во вкладке «Управление DNS». Так же можно привязать доменное имя к DNS серверам регистратора имен.

Ваш сервер VDS/VPS имеет свой уникальный IP адрес. Раз IP уникален, то и свои домены к нему можно привязать. Делается это у регистратора имен. Сначала свой домен прикрепляете к серверам регистратора, а потом во вкладке «Управление DNS зоной», создаете три записи: [@], [www],  и [*], типа А.

Создаем свои DNS сервера

Выделенный сервер тем и хорош, что вы можете выполнять на нем любые необходимые операции.

Mожно настроить DNS сервера на VDS/VPS сервере на свои, вновь созданные, DNS сервера. Для этого нужен любой домен, можно тот домен, на который вы ставите WordPress. Каждый DNS сервер создается на отдельном IP адресе. Один IP адрес у вас есть и он является главным. На главном IP адресе сервера создаем первичный DNS сервер (ns1). Одного DNS сервера будет не достаточно, поэтому для создания вторичного DNS  (ns2) нужно приобрести у провайдера еще один IP адрес. Созданные DNS сервера (ns1 и ns2) используются для всех доменов, создаваемых на  сервере VDS.

Создать свои DNS сервера лучше до создания и установки сайтов на сервере.Чтобы создать свои  DNS сервера в панели ISP, во вкладке «Домены» выделяем нужный домен и открываем «Записи» домена. Делаем две новые записи типа «А», привязывая ns1 и ns2 к конкретным IP адресам.

Далее, в этих же записях, меняем записи типа «NS сервера имен». В поле «Имя» вписываем домен с точкой в конце. «Тип записи» выбираем «NS (сервер имен). В поле «Адрес» вместо DNS серверов провайдера, вписываем свои созданные поддомены ns1 и ns2 DNS серверов.

Созданные DNS сервера можно использовать для всех доменов сервера.

После изменения адресов ns1 и ns2 в типах записи NS (сервер имен), нужно поменять адреса NS серверов у вашего регистратора имен.

Важно! При смене доменных зон у регистратора, домен который используется для создания своих DNS, прописывается с указанием IP адресов сервера. На фото меняются DNS сервера для домена vpc-cоm.ru, который используется на сервере для создания своих DNS серверов. Как видите, нужно указать не только Имя DNS-сервера, но и IP адреса DNS-серверов. Для других доменов IP адреса указывать не нужно.

Привязываем домен, используя сторонние DNS сервера

Если вас беспокоит, что ваши DNS сервера лежат на вашем же сервере VDS, то прикрепите домен к сторонним DNS серверам. Самое простое, прикрепить домен к DNS серверам регистратора. Сложнее, «припарковаться» к специальному сервису Яндекс.

Лучшим, в смысле надежности, вариантом создания и использования DNS серверов для сервера VPS/VDS будет вариант, когда все DNS сервера будут лежать на разном «железе», то есть на двух или четырех разных DNS серверах. Например,

  • DNS 1 делаете на своем домене и на главном IP адресе, который вам выделят при покупке сервера;
  • DNS 2 вторичный dns делаете на стороннем сервере, чтобы он работал при падении вашего сервера DNS;
  • Для большей надежности ( скорее лишнее) можно также сделать DNS 3 и DNS 4, опять-таки используя третьи и четвертые сторонние DNS сервера.

©www.wordpress-abc.ru

Другие стати раздела: Установка WordPress

Похожие посты:

Похожее

что это, как настроить, изменить

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

Основные понятия Domain Name System

DNS – аббревиатура, образованная от Domain Name System. С английского языка на русский это переводится как «Система доменных имен»,  изменяющая их в IP-адреса. А днс-сервер хранит в базе данных соответствующие адреса.

Работа осуществляется таким образом: браузер, переходя на сайт, обращается к ДНС-серверу, чтобы узнать искомый адрес. Server определяет сайт, посылает ему запрос и передает полученный ответ обратно пользователю.

Как узнать, включен ли DNS-сервер на компьютере

Текущие настройки DNS-server определяются так:

  1. «Панель управления» -> «Сеть и интернет» -> «Просмотр состояния сети и задач». Выделить свое подключение по сети, перейти в панель «Общее», затем — в свойства.
  2. Зайти в свойства «Протокола Интернета версии 4 (TCP/IPv4)».
  3. Открыть вкладку «Общие». Если активирован пункт использования следующих адресов DNS-серверов, значит, он находится в рабочем режиме.

Как установить DNS-сервер

Повторить предыдущие шаги, активировать «Использовать DNS-сервер». После этого потребуется указание первичного DNS-сервера, а затем вторичного.

Как настроить/изменить DNS

При изменении или дополнительной настройке не потребуется совершать много действий. Необходимо использовать окно, открытое ранее, зайти в пункт «Дополнительно». Здесь производится детальная наладка обращения к DNS-серверам. В Windows 7 это все возможно настроить самостоятельно. Поэтому вопрос, как самим изменить dns-сервер, не вызовет проблем.

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

На wi-fi роутере

При использовании роутера в опциях ДНС  необходимо выставить его IP-адрес. Чтобы выполнить эти манипуляции, потребуются включенные DNS-relay и DHCP-server.

Интерфейс роутера предназначен для проверки и последующих детальных настроек. Сначала необходимо проверить ДНС в WAN-порте. DNS-relay активируется в параметрах LAN-порта.

На компьютере

Настройка ДНС-сервера в Windows 10 схожа с аналогичной ситуацией в ранних версиях ОС.  Сначала нужно выбрать свойства «Протокола интернета версии 4 (TCP/IPv4)». Перейти в дополнительные опции и настроить список серверов.

Настройка сервера ДНС на компьютере и на ноутбуке одинаковая.

На планшете

В зависимости от установленной «операционки» действия  несколько различаются, но их все объединяют следующие моменты:

  • Открыть меню «Wi-Fi», находящееся в «Настройках».
  • Зайти в свойства текущего подключения к интернету.
  • Кликнуть «Изменить сеть», после – «Показать дополнительные параметры».
  • Пролистать до пункта ДНС-серверов, потом их прописать.

На смартфоне

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

Возможные ошибки и как их исправить

Проблемы с работой интернета возникают при неправильных настройках DNS-сервера, в том числе при их неожиданном сбое.

Что делать, если сервер не отвечает или не обнаружен

Чаще всего эта неполадка возникает при серверном отключении или сбившихся настройках. Для этого нужно открыть «Панель управления», перейти в «Систему и безопасность», затем —  «Администрирование». Кликнуть на «Службы», найти «ДНС-клиент» и дважды щелкнуть по нему. В строке состояния отмечается команда «Выполняется». В ином случае нужно выбрать автоматический тип запуска из выпадающего списка выше.

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

Неправильно разрешает имена

При такой ошибке необходимо проверить правильность параметров своего DNS-server. А лучше просто прибегнуть к смене  адреса dns-сервера, чтобы избавиться от возникшей проблемы.

Также неполадки возможны на серверах оператора, и решается задача тем же способом – изменением ДНС.

Список рекомендуемых DNS-серверов

Для неискушенного пользователя существует список качественных и бесплатных servers:

Google Public DNS

Адреса: 8.8.8.8; 8.8.4.4

Как и все сервисы Google, качественно выполняет свои задачи, но обладает известным минусом – собирает и хранит статистику пользователя. Несмотря на это, server не имеет никакого доступа к персональным данным, поэтому волноваться о безопасности не стоит.

Если хочется узнать подробнее о server-работе, существует официальная документация на информационном сайте.

OpenDNS

Адреса: 208.67.222.222; 208.67.220.220

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

DNS.WATCH

Адреса: 84.200.69.80; 84.200.70.40

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

Norton ConnectSafe

Адреса: 199.85.126.10; 199.85.127.10

Тоже не «просит» предварительную регистрацию, надежно хранит данные пользователя. Создан разработчиками антивируса Norton, не требуя себе дополнительной рекламы.

Level3 DNS

Адреса: 4.2.2.1; 4.2.2.2

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

Comodo Secure DNS

Адреса: 8.26.56.26; 8.20.247.20

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

OpenNIC DNS

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

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

DHCP-сервер: что это и в чем его особенности

Больше всего подходит для сеток с наличием большого количества компьютеров по причине передачи  своих сетевых настроек всем подключенным устройствам.

Такой server позволяет администратору задать диапазон хостов серверов и избежать большой траты времени на детальную оптимизацию.

Работает он только с настройками IP-адресов и самими адресами.

Заключение

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

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

Похожие статьи

Собственный Dynamic DNS / Хабр

Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns, описанные в недавнем топике Связываем домен и динамический IP. Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.

Итак:
1. Имеем установленный сервер bind9 с доменом server.org
2. Создаем зону client.server.org.zone:

$ORIGIN .
$TTL 10 ; 10 seconds
client.server.net IN SOA ns1.server.net. hostmaster.server.net. (
18 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
10 ; minimum (10 seconds)
)
$TTL 3600 ; 1 hour
NS ns1.server.net.
NS ns2.server.net.
MX 10 client.server.net.

здесь сервера ns1.server.net и ns2.server.net — DNS сервера для нашей зоны, client.server.net — адрес нашего домашнего компьютера

3. генерим ключи на клиенте:
client# cd /etc/namedb/keys
client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.

4. Создаем фаил с ключем на сервере:
server# cd /var/named/chroot/etc
server# vim keys.conf :

key client.server.net. {
algorithm "HMAC-MD5";
secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA==";
};

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

Выставляем права доступа к фаилу с ключами:
server# chmod 640 keys.conf
server# chown root:named keys.conf

5. добавляем нашу зону в named.conf:
include "/etc/keys.conf"
zone "client.server.net" {
type master;
file "zones/client.server.net";
allow-update{
key client.server.net;
};
};

Здесь прописан параметр, который позволяет обновлять данные зоны. Вообще, почитав мануалы, можно найти опции этого параметра, позволяющие обновлять только одну запись в зоне для данного ключа. Т.е можно иметь зону с прописанными в ней поддоменами client1, client2, etc. которые будут авторизоваться с ключами key1, key2, etc.

6. Перезапускаем DNS сервер:
server# /etc/init.d/named reload

7. Создаем на клиенте скрипт, который будет обновлять данные зоны:
#!/bin/bash
IFACE="wlan0"
TTL=3600
SERVER=ns1.example.com
HOSTNAME=foo.example.com
ZONE=example.com
KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private

new_ip_address=`ifconfig $IFACE | grep «inet addr:» | awk ‘{print $2}’ | awk -F «:» ‘{print $2}’`
new_ip_address=${new_ip_address/ /}

nsupdate -v -k $KEYFILE << EOF
server $SERVER
zone $ZONE
update delete $HOSTNAME A
update add $HOSTNAME $TTL A $new_ip_address
send
EOF

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

8. Осталось только настроить автозапуск/автоматическую смену адреса при смене DNS.
Мы это сделаем при помощи скрипта для NetworkManager:
создадим фаил /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh

iface=$1
state=$2

if [ «x$state» == «xup» ] ; then
/etc/namedb/ddns-update
elif [ «x$state» == «xdown» ]; then
true
fi

Сделаем его исполняемым и принадлежащим пользователю root.

Запускаем-проверяем-пользуемся.

Upd: Если не работает — проверяем (устанавливаем) на сервере права named на записть в папку в которой лежит фаил client.server.org.zone
named будет создавать там фаил client.server.org.zone.jnl

Использованы следующие материалы:
http://www.freebsdwiki.net/index.php/BIND,_dynamic_DNS
http://blog.jasonantman.com/2010/04/bind9-dynamic-dns/
http://www.oceanwave.com/technical-resources/unix-admin/nsupdate.html
Приведенный ключ взят оттуда же.

от теории до тонкой настройки

Приветствую! Сегодня мы обсудим все важные моменты про DNS сервер. От того, что это такое, до настройки и выбора альтернативных DNS. Все по пунктам, понятно как дважды-два от простого советского Ботана с сайта WiFiGid.ru. Рассаживаемся по местам и не забываем пристегнуться!

Если у вас появились вопросы или есть что дополнить – ОБЯЗАТЕЛЬНО напишите в комментарии к этой статье. Вы очень поможете и нам, и другим читателям!

Что такое DNS?

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

DNS – Domain Name System – система доменных имен

Стало страшно? Попробуем запутать еще больше… т.е. распутать. Давайте по пунктам:

  1. Во время пользования интернетом вы вбиваете название сайта в окно браузера. Например, ГУГЛ.ФУ (да простят они нас и тоже подкинут трафика).
  2. В сетях вся адресация происходит по IP адресам. Т.е. железо умеет искать маршруты только по цифрам. Например, 7.7.7.7. Но пользователям неудобно запоминать эти цифры (вспомните хотя бы номера 50 своих контактов из телефона).
  3. И тут как аналогия с телефоном. Номера вы знать не обязаны, а вот имена примерно помните. Т.е. вы забиваете в телефоне имя, а звонок идет уже по номеру. Так и в интернете – вы вводите символьное имя (доменное имя), а браузер уже в обход ваших глаз отправляется искать нужный сайт по IP адресу.

DNS сервер как раз и занимается преобразованием доменного имени в IP адрес. Получает буквы – отдает числа.

Чтобы убедиться в таком преобразовании, можно «пингануть» любой сайт:

У домена ya.ru текущий IP 87.250.250.242

Серверы – теория

Не будем сильно углубляться в архитектуру DNS серверов, но для общего понимания стоит знать:

  1. Их много – нет единого верного, как правило вы получаете DNS провайдера, но это не всегда лучшее решение.
  2. Имеют вложенную структуру – корневые, страны, провайдеры, роутеры (очень грубо). В том плане, что все DNS наследуют друг от друга информацию, и если чего-то нет на текущем, запрос будет послан выше.
  3. У них есть IP адрес – вы стучитесь на него, а он уже отдает нужные IP адреса сайтов.

Как правило, после подключения к интернету при ничегонеделании с настройками вы получите DNS от своего провайдера.

Как узнать текущий?

Прежде чем перейти к установке, возможно понадобится узнать текущий ДНС сервер. Чтобы далее не было вопросов, показываю как это быстро сделать:

  1. Нам нужно открыть командную строку (есть и другие варианты открытия, можно погуглить). Нажимаем клавиши Win+R (открывается утилита «Выполнить», вбиваем в нее cmd

  1. Вводим nslookup

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

Провайдер

Разыменовывать сайты через своего провайдера можно, но не всегда это работает как надо. Для обычного домашнего пользователя все может пройти незаметно и всю жизнь, но вот если вы очень плотно работаете с интернетом, беда может наступить негаданно. Мои тезисы по поводу провайдерских серверов:

  1. Стабильность оставляет желать лучшего – в том плане, что раз в год и палка стреляет, так и здесь раз в пару лет их серверы падают, сайты не открываются наглухо. Неприятный момент, домашний пользователь мог бы подумать, что отвалился интернет, а проблема была зарыта на поверхности. Кому-то падения раз в пару лет достаточно для счастья.
  2. Территориальные ограничения – забанят в DNS какой-нибудь сайт и туши пропало. На самом деле через него сейчас банят редко чего, но так, к слову, были прецеденты.
  3. Медленное обновление зон (для меня это самый важный пункт). Серверы провайдеров обновляются очень медленно. Изменил владелец сайта у себя сервер (переехать ему захотелось на железо помощнее), поменял у себя в настройках DNS на новый IP адрес, а пользователю в регионе такая информация может долететь лишь через пару дней. И будет он стучаться по несуществующему адресу, получать недоступный сайт, или сайт с нарушением сертификатов безопасности и морем других болячек.

Итого – все работает, иногда очень долго и хорошо, но есть ведь минусы, которые легко заменить альтернативными DNS.

Альтернативные DNS

В настройках Windows, которые мы будем смотреть ниже, есть поле с альтернативным DNS. Так вот, в том случае речь идет просто о резервном адресе DNS сервера, если основной будет недоступным. В этой же главе «альтернативный» означает лишь то, что он не выдан провайдером.

Вот табличка основных актуальных сейчас DNS:

СервисDNS 1DNS 2
Google Public DNS8.8.8.8
2001:4860:4860::8888 (IPv6)
8.8.4.4
2001:4860:4860::8844 (IPv6)
Open DNS208.67.222.222208.67.220.220
Яндекс77.88.8.8
77.88.8.88 (без сайтов мошенников)
77.88.8.7 (без сайтов для взрослых)
77.88.8.1
77.88.8.2 (без сайтов мошенников)
77.88.8.3 (без сайтов для взрослых)
DNS WATCH82.200.69.8084.200.70.40
Norton Connect Safe198.153.192.1
198.153.192.40 (только безопасные сайты)
198.153.192.50 (без порно)
198.153.192.60 (полная безопасность)
198.153.194.1
198.153.194.40 (только безопасные сайты)
198.153.194.50 (без порно)
198.153.194.60 (полная безопасность)
Level 3 DNS209.244.0.3
4.2.2.1
4.2.2.3
209.244.0.4
4.2.2.2
4.2.2.4
Comodo Secure DNS8.26.56.268.20.247.20
Open NIC DNSВыбирайте из списка
https://servers.opennic.org
Выбирайте из списка
https://servers.opennic.org

Кратко пробегусь по каждому:

  • Google Public DNS – сам пользуюсь и рекомендую, пока не запретили. Работает как часы, быстро обновляется. Адреса легко запоминаются – «восьмерки». Есть и IPv6 версии.
  • Open DNS – второй по популярности сервис. Некоторое время пользовался, особой разницы от Гугла замечено не было. Работает и да ладно.
  • Яндекс – из бонусных отличий есть дополнительные серверы с фильтрами сайтов – без известных фишинговых и мошеннических сайтов, и без сайтов для взрослых – они просто не будут открываться. Эдакий родительский контроль.
  • Остальные – тоже работают. Описывать не вижу смысла, будет водная вода. Для дома достаточно первого, а в случае чего и второго. Остальное – избыток для технических специалистов. К сожалению или к счастью, наш WiFiGid не для спецов.

Настройка

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

  1. Переходим в «Центр управления сетями» (Windows 7) ил «Параметры сети и интернет» (Windows 10). Можно для этого щелкнуть по значку сети правой кнопкой мыши и выбрать этот пункт:

  1. Далее «Настройка параметров адаптера» (или «Изменение параметров адаптера»):

  1. А тут уже ищем наш адаптер, через который мы подключились к сети, правой кнопкой – «Свойства» и делаем все как на схеме:

Здесь я установил адреса Google – первый и второй (первая и вторая колонка таблицы выше соответственно). Можете сделать так же, а можете поэкспериментировать с другими сервисами.

Эти действия выполняются одинаково на операционных системах Windows 7, Windows 8, Windows 10.

Подобное можно провернуть на каждому устройстве, включая и телефоны (смотрите инструкции по настройкам DNS под свою модель). Один из примеров, сделать возможно:

А лучше все сразу сделать на роутере в настройках DHCP сервера (который занимается раздачей сетевых настроек на подключенные устройства). Тогда все подключенные к нему устройства сразу будут идти через нормальные серверы. На примере TP-Link, под свою модель ищите настройки через поиск на нашем сайте:

Некоторые программы, приложения и мобильные устройства в своих конфигурациях просят поле DNS Address – IP адреса из таблицы выше тоже подойдут.

Возможные ошибки

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

  1. Перезагружаем роутер и компьютер, ноутбук, телефон – для повторной попытки получения сетевых настроек.
  2. Пока все перезагружается проверяем провода – все ли заходит, нигде ли нет перелома.
  3. Если не помогает – вписываем адреса DNS вручную как в разделе выше.
  4. Если и это не помогает – ошибка где-то на стороне провайдера или же на самом сайте (тот самый возможный переезд). Если поголовно не открывается ничего – на всякий случай пробуем отключать антивирусы, брандмауэры, прокси, VPN и прочий софт, который использует сеть.

Если все совсем плохо и ничего не нашли – пишите комментарий ниже!

Лучшие бесплатные и общедоступные DNS-серверы в 2020 году

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

DNS (система доменных имен) — это система, которая переводит доменные имена, которые вы вводите в браузере, в IP-адреса, необходимые для доступа к этим сайтам, и лучшие DNS-серверы предоставляют вам лучший сервис.

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

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

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

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

Получите бесплатный брандмауэр DNS на всю жизнь с Keepsolid VPN Unlimited — всего 160 долларов на всю жизнь за 5 устройств

Keepsolid в настоящее время предлагает бесплатную защиту DNS Firewall при покупке подписки на VPN Unlimited.Это решение сетевой безопасности, которое перехватывает разрешение DNS для известных вредоносных веб-сайтов и защищает ваши устройства от заражения вредоносным ПО. При единовременной оплате всего 32 доллара за устройство (при тарифном плане на 5 устройств) вы получаете 256-битное шифрование AES военного уровня, неограниченный трафик и скорость соединения на всю жизнь. Используйте эксклюзивный код VPNUNLIMITED20. Посмотреть сделку

Почему платный DNS лучше, чем бесплатный

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

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

Лучшие бесплатные, платные и альтернативные бизнес-серверы доменных имен

  1. OpenDNS
  2. Cloudflare
  3. Google Public DNS
  4. Comodo Secure DNS
  5. Quad9
  6. Verisign DNS

(Изображение предоставлено OpenDNS)

1. OpenDNS

Первичный, вторичный DNS-серверы: 208.67.222.222 и 208.67.220.220

Опытный оператор

Фишинговые сайты заблокированы по умолчанию

Дополнительная веб-фильтрация

Основанная в 2005 году и теперь принадлежащая Cisco, OpenDNS является одним из крупнейших имен в общедоступных DNS.

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

Коммерческие планы позволяют просматривать историю вашей интернет-активности за последний год и при желании могут заблокировать вашу систему, разрешив доступ только к определенным веб-сайтам.Эти функции не будут обязательными для обычного пользователя, но если вам интересно, они могут быть вашими примерно за 20 долларов (14,30 фунтов стерлингов) в год.

Если вы уже не умеете менять местами DNS, вы можете немедленно приступить к работе, перенастроив свое устройство для использования серверов имен OpenDNS.

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

(Изображение предоставлено Cloudflare)

2. Cloudflare

Первичный, вторичный DNS-серверы: 1.1.1.1 и 1.0.0.1

Впечатляющая производительность

Жесткие уровни конфиденциальности

Форум поддержки сообщества

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

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

Конфиденциальность — еще один важный момент.Cloudflare не просто обещает, что не будет использовать ваши данные о просмотре для показа рекламы; он заявляет, что никогда не будет записывать запрашиваемый IP-адрес (ваш) на диск. Все существующие журналы будут удалены в течение 24 часов. И эти утверждения — не просто обнадеживающие слова на веб-сайте. Cloudflare привлекла KPMG для ежегодного аудита ее практики и подготовки публичного отчета, подтверждающего, что компания выполняет свои обещания.

На веб-сайте 1.1.1.1 есть некоторые инструкции по настройке с простыми руководствами, охватывающими Windows, Mac, Android, iOS, Linux и маршрутизаторы.Они очень общие — например, вы получаете один набор инструкций для всех версий Windows, — но есть некоторые плюсы (IPv6, а также сведения о IPv4), и вы сможете понять это. Кроме того, мобильные пользователи могут использовать WARP, который защищает весь интернет-трафик телефона.

Продукт не предлагает блокировку рекламы и не пытается отслеживать, к чему вы можете получить доступ, а к чему нет. Единственное предостережение заключается в том, что Cloudflare представила фильтрацию контента для блокирования вредоносного ПО и контента для взрослых с их 1.1.1.2 / 1.0.0.2 и 1.1.1.3/1.0.0.3 соответственно, но это вариант, который пользователь может выбрать, а не навязывать ему.

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

(Изображение предоставлено Google Public DNS)

3. Google Public DNS

Первичный, вторичный DNS-серверы: 8.8.8.8 и 8.8.4.4

Надежный с точки зрения конфиденциальности

Похвальная прозрачность

Предназначен для опытных пользователей

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

Privacy не совсем соответствует обещаниям Cloudflare «мы ничего не выполняем», но это неплохо. Служба регистрирует полную информацию об IP-адресе запрашивающего устройства от 24 до 48 часов для устранения неполадок и диагностики. «Постоянные» журналы удаляют любую личную информацию и сокращают детализацию местоположения до уровня города, и все, кроме небольшой случайной выборки, удаляются через две недели.

Подробное описание службы Google дает еще одно преимущество опытным пользователям.Например, если вы хотите оценить важность политики конфиденциальности Google, вы можете прочитать абсолютно все, что содержится в журналах службы, чтобы узнать об этом сами.

Сайт поддержки Google предлагает только самые простые рекомендации, ориентированные на опытных пользователей, с предупреждением, что «только те пользователи, которые имеют опыт настройки параметров операционной системы, [должны] вносить эти изменения». Если вы не уверены, что делаете, ознакомьтесь с руководствами от поставщика, такого как OpenDNS, не забывая заменить его серверы имен на Google: 8.8.8.8 и 8.8.4.4.

(Изображение предоставлено Comodo)

4. Comodo Secure DNS

Первичный, вторичный DNS-серверы: 8.26.56.26 и 8.20.247.20

Внимание к безопасности

Разумная обработка припаркованных доменов

Производительность может быть не ахти

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

Как и следовало ожидать, Comodo Secure DNS уделяет большое внимание безопасности.Он не только блокирует фишинговые сайты, но также предупреждает, если вы попытаетесь посетить сайты с вредоносным, шпионским ПО и даже припаркованными доменами, которые могут перегрузить вас рекламой (всплывающие окна, всплывающие окна и т. Д.). Кроме того, вы можете попробовать сервис Comodo Dome Shield, который добавляет дополнительные функции в Comodo Secure DNS.

Comodo утверждает, что его сервис также умнее среднего, он обнаруживает попытки посещения припаркованных или «неиспользуемых» доменов и автоматически перенаправляет вас туда, куда вы действительно хотите попасть.

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

Тем не менее, Comodo может быть интересен, если вы ищете дополнительный уровень веб-фильтрации, а на веб-сайте поддержки есть короткие, но полезные инструкции по настройке службы на ПК с Windows, Mac, маршрутизаторах и Chromebook.

(Изображение предоставлено Quad9).

Какой у меня DNS-сервер?

Этот сайт активно определяет DNS-серверы, которые использует ваш компьютер, наблюдая, как ваши DNS-запросы обрабатываются в Интернете.

Нажмите кнопку ниже, чтобы узнать, какие DNS-серверы использует ваш компьютер.

Какой у меня DNS-сервер?


Что такое DNS-сервер?

Когда вы переходите по URL-адресу (адресу веб-сайта), DNS-сервер сообщает вашему веб-браузеру, куда идти (адрес в Интернете, где находится этот веб-сайт).

Почему я должен волноваться?

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

Что определяет, какой DNS-сервер использует мой компьютер?

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

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

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

  • Вредоносное ПО на вашем компьютере или маршрутизаторе может заставить ваш компьютер использовать мошеннический DNS-сервер.
  • Различные объекты могут перехватывать и перенаправлять обработку ваших DNS-запросов. Эти организации могут иметь разные мотивы для этого и могут включать хакеров, вашего интернет-провайдера или даже правительственное учреждение.

Как выглядит «Какой у меня DNS-сервер?» Помогите?

«Какой у меня DNS-сервер?» активно наблюдает за тем, как обрабатываются DNS-запросы с вашего компьютера, а затем показывает, какой DNS-сервер в Интернете использовался и известны ли какие-либо проблемы по этому поводу.Затем вы можете проверить, действительно ли использовался DNS-сервер, который, по вашему мнению, использовался.

Где еще я могу получить эту функцию?

Да! RouterCheck — это инструмент, который позволяет легко сканировать домашнюю сеть на предмет проблем с безопасностью. Он не только проверяет работоспособность DNS, но и проверяет многие другие аспекты, чтобы определить общую безопасность и конфиденциальность вашей сети. Технология, которая запускает «Какой у меня DNS-сервер?» встроен в RouterCheck вместе со многими другими расширенными функциями.

.

Глобальный список бесплатных общедоступных DNS-серверов на сентябрь 2020 г. по странам

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

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

Здесь мы создали полный список из бесплатных DNS-серверов , так что вы можете заменить исходные, настроенные вашим интернет-провайдером, и заменить их, чтобы повысить скорость просмотра.

Этот полный список включает в себя лучшие в мире IPv4 и IPv6 общедоступных DNS, упорядоченных по надежности и безопасности, с более чем 10 000 серверов имен из 60 разных стран.

Вы найдете множество различных DNS-серверов, таких как известные DNS-серверы Google, а также OpenDNS и многие другие популярные DNS-преобразователи.

Публичные DNS-серверы по странам


  • Афганистан
  • Албания
  • Алжир
  • Американское Самоа
  • Андорра
  • Ангилья
  • Антарктида
  • Антигуа и Барбуда
  • Аргентина
  • Армения
  • Австралия
  • Австрия
  • Азербайджан
  • Багамы
  • Бахрейн
  • Бангладеш
  • Барбадос
  • Беларусь
  • Бельгия
  • Белиз
  • Бенин
  • Бермудские острова
  • Бутан
  • Боливия
  • Босния
  • Ботсвана
  • Бразилия
  • Британская территория в Индийском океане
  • Бруней-Даруссалам
  • Болгария
  • Буркина-Фасо
  • Бурунди
  • Канада
  • Кабо-Верде
  • Каймановы острова
  • Центральноафриканская Республика
  • Чад
  • Чили
  • Китай
  • Остров Рождества
  • Колумбия
  • Острова Кука
  • Коста-Рика
  • Хорватия
  • Куба
  • Кипр
  • Кот-д’Ивуар
  • Чешский
  • Дания
  • Джибути
  • Доминика
  • Доминиканская Республика
  • Эквадор
  • Египет
  • Сальвадор
  • Экваториальная Гвинея
  • Эритрея
  • Эстония
  • Эфиопия
  • Фиджи
  • Финляндия
  • Франция
  • Французская Гвиана
  • Французская Полинезия
  • Габон
  • Гамбия
  • Германия
  • Гана
  • Гибралтар
  • Греция
  • Гренландия
  • Гренада
  • Гваделупа
  • Гуам
  • Гватемала
  • Гвинея
  • Гуая
  • Гаити
  • Гондурас
  • Гонконг
  • Венгрия
  • Исландия
  • Индия
  • Индонезия
  • Иран, Исламская Республика
  • Ирак
  • Ирландия
  • Израиль
  • Италия
  • Ямайка
  • Япония
  • Иордания
  • Казахстан
  • Кения
  • Кирибати
  • Кирибати
  • Корея, Народно-Демократическая Республика
  • Корея, Республика
  • Кувейт
  • Киргизия
  • Лаосская Народно-Демократическая Республика
  • Латвия
  • Ливан
  • Либерия
  • Ливия
  • Лихтенштейн
  • Литва
  • Люксембург
  • Макао
  • Македония, Республика
  • Мадагаскар
  • Малави
  • Малайзия
  • Мальдивы
  • Мали
  • Мальта
  • Маршалловы Острова
  • Мартиника
  • Мавритания
  • Маврикий
  • Мексика
  • Микронезия, Федеративные Штаты
  • Молдова, Республика
  • Монако
  • Монголия
  • Марокко
  • Мозамбик
  • Мьянма
  • Намибия
  • Науру
  • Непал
  • Нидерланды
  • Новая Каледония
  • Новая Зеландия
  • Никарагуа
  • Нигерия
  • Ниуэ
  • Северные Марианские острова
  • Норвегия
  • Оман
  • Пакистан
  • Палестина, штат
  • Панама
  • Папуа-Новая Гвинея
  • Парагвай
  • Перу
  • Филиппины
  • Польша
  • Португалия
  • Пуэрто-Рико
  • Катар
  • Румыния
  • Российская Федерация
  • Руанда
  • Реюньон
  • Сент-Китс и Невис
  • Сент-Люсия
  • Сен-Пьер и Микелон
  • Сент-Винсент и Гренадины
  • Самоа
  • Сан-Томе и Принсипи
  • Саудовская Аравия
  • Сенегал
  • Сейшелы
  • Сингапур
  • Словакия
  • Словения
  • Южная Африка
  • Испания
  • Шри-Ланка
  • Судан
  • Суринам
  • Свазиленд
  • Швеция
  • Швейцария
  • Сирийская Арабская Республика
  • Тайвань, провинция Китая
  • Таджикистан
  • Объединенная Республика Танзания
  • Таиланд
  • Того
  • Тонга
  • Тринидад и Тобаго
  • Тунис
  • Турция
  • Туркменистан
  • Острова Теркс и Кайкос
  • Уганда
  • Украина
  • Объединенные Арабские Эмираты
  • Соединенное Королевство
  • США
  • Уругвай
  • Узбекистан
  • Вануату
  • Венесуэла, Боливарианская Республика
  • Вьетнам
  • Виргинские острова, Британские
  • Виргинские острова, U.С.
  • Уоллис и Футуна
  • Йемен
  • Замбия
  • Зимбабве

Этот список бесплатных DNS-серверов последний раз обновлялся 1 октября 2017 г. .

Вот и все, у вас есть полный список первичных и вторичных DNS-серверов из стран с наибольшим интернет-трафиком в мире.

Зачем мне менять текущие DNS-серверы?

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

DNS-сервер не отвечает

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

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

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

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

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

Мы стараемся упорядочить список по лучшему, быстрому и безопасному DNS, но вы можете выбирать по своему усмотрению из очень качественных DNS-провайдеров, таких как Google, OpenDNS, ATT, DNS.Watch, OpenNIC, FreeDNS, Verizon, Hurricane Electric, Norton ConnectSafe, UncesoredDNS, GreenTeamDNS и многие другие.

Какой DNS-сервер лучше всего использовать?

Днс провайдеров так много, как мне выбрать лучший? Какие у них IP-адреса, давайте узнаем ответы на эти вопросы.

Google Public DNS

Google DNS, вероятно, являются бесплатными DNS-серверами №1 на планете, их IP-адрес следующий:

 8.8.8.8 и 8.8.4.4. 
Служба

Google DNS также поддерживает ipv6, но они не так широко используются в качестве адресов ipv4.

Google использует 8.8.8.8 в качестве основного DNS-сервера и резервный сервер с адресом 8.8.4.4 в качестве альтернативного DNS-сервера для обеспечения высокой доступности в любое время.

Используя Google Public DNS, вы всегда можете рассчитывать на скорость и безопасность, прежде всего благодаря их защите DNSSEC.

Вы можете узнать больше о Google здесь: Google DNS

Norton ConnectSafe DNS

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

Norton ConnectSafe DNS: 199.85.126.10 и 199.85.127.10 в качестве резервных DNS.

Служба

ConnectSafe также может помочь пользователям защитить их от вредоносных программ и фишинга во время работы в Интернете.

OpenDNS

OpenDNS — еще один действительно хороший DNS-провайдер, их основной IP-адрес — 208.67.220.220 , а альтернативный / вторичный DNS-сервер — 208.67.222.222 , оба являются супер безопасными и после Google DNS являются самыми быстрыми из тех, что мы тестировали до сих пор. .

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

DNS.Watch

DNS.Watch использует первичный IP-адрес 82.200.69.80 и вторичный DNS-адрес 84.200.70.40 .

DNS.Watch был основан для борьбы с сетевым контролем со стороны правительства, поэтому они предоставляют услуги DNS, на 100% одобренные для последователей сетевого нейтралитета.

Он совместим и отлично работает с любыми системами, такими как MacOS от Apple, Microsoft Windows и любым дистрибутивом Linux.

Comodo Secure DNS

Службы

Comodo DNS работают почти так же, как Google Free DNS, просто замените текущий DNS на новый, и все, вы будете разрешать запросы DNS намного быстрее и безопаснее, чем раньше.

Comodo Primary DNS Ip-адрес: 8.26.56.26 , а резервный сервер HA — 8.20.247.20 .

Их сеть Anycast DNS значительно улучшит ваш опыт запросов DNS, а также увеличит время доступа к вашему сайту.

Comodo также предлагает защиту от фишинга, шпионского ПО, вредоносных программ и других распространенных интернет-угроз.

Общедоступный DNS VeriSign

Общедоступная служба DNS

VeriSign использует IP-адреса 64.6.64.6 и 64.6.65.6 . Хотя это не один из самых популярных DNS-серверов, он работает довольно хорошо во всех ситуациях и может быть отличной альтернативой службам Google DNS или OpenDNS.

.

Список общедоступных DNS-серверов

177.93.250.3 Бразилия Jequié 52995 TEN ИНТЕРНЕТ Ltda 2020-09-27 12:00:48 UTC действительный 67% Кто
103.242.181.165 Индонезия 38788 PT Индонезийское облако 2020-09-27 12:00:47 UTC действительный 9% Кто
109.228.25.253 server109-228-25-253.live-servers.net. объединенное Королевство 8560 1 и 1 Ionos Se 2020-09-27 12:00:47 UTC действительный 76% Кто
212.60.63.246 dns2.quickline.ch. Швейцария Суц 15600 Quickline AG Рекурсор PowerDNS 4.1.11 2020-09-27 12:00:45 UTC действительный DNSSEC 68% Кто
1.34,154,4 1-34-154-4.HINET-IP.hinet.net. Тайвань, провинция Китая Тайбэй 3462 Бизнес-группа по передаче данных 2020-09-27 12:00:39 UTC действительный 74% Кто
115.254.1.113 Индия 18101 Reliance Communications Ltd. ДАКЦ МУМБАИ dnsmasq-2.40 2020-09-27 12:00:36 UTC действительный DNSSEC 6% Кто
45.225,123,88 Бразилия Антас 266935 CENTROSULNET INFORMATICA EIRELI 2020-09-27 12:00:34 UTC действительный DNSSEC 37% Кто
188.225.84.142 dns.pro-teammt.ru. Российская Федерация 9123 TimeWeb Ltd. 9.9.4-RedHat-9.9.4-72.el7 2020-09-27 12:00:34 UTC действительный DNSSEC 5% Кто
212.66.129.107 na-dns-p01.netaachen.com. Германия Херцогенрат 9189 NetAachen GmbH Рекурсор PowerDNS 4.1.11 2020-09-27 12:00:33 UTC действительный 94% Кто
37.59.80.218 37-59-80-218.ip.hatla2ee.com. Франция 16276 OVH SAS 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.7 2020-09-27 12:00:32 UTC действительный DNSSEC 69% Кто
201.144.54.2 static.customer-201-144-54-2.uninet-ide.com.mx. Мексика Запопан 8151 Uninet S.A. de C.V. 2020-09-27 12:00:27 UTC действительный 73% Кто
81.211.96.62 спб-81-211-96-62.sovintel.ru. Российская Федерация Санкт-Петербург 3216 ПВымпелКом 2020-09-27 12:00:25 UTC действительный 90% Кто
103.98.176.17 Индонезия 136827 Universitas PGRI Semarang 2020-09-27 12:00:24 UTC действительный 8% Кто
103.30,244,37 Индонезия 131745 PT. Cybertechtonic Pratama 2020-09-27 12:00:17 UTC действительный 17% Кто
109.228.0.24 server109-228-0-24.live-servers.net. объединенное Королевство 8560 1 и 1 Ionos Se 2020-09-27 12:00:13 UTC действительный 63% Кто
.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *