как прописать днс на компьютере

Содержание
  1. Как изменить DNS сервер на компьютере и не только
  2. Введение
  3. DNS Jumper
  4. Windows 10
  5. Windows 7 и другие
  6. Роутер
  7. Телефоны и планшеты
  8. Как проверить?
  9. Настройка DNS на компьютере с Windows
  10. Настройка DNS с помощью DNS Jumper
  11. Настройка DNS с помощью YogaDNS
  12. Настройка DNS в Windows 10, 8.1, 8
  13. Настройка DNS в Windows 7
  14. Настройка получения IP и DNS адреса автоматически и вручную
  15. Установка параметров получения автоматического IP и DNS адреса
  16. Ошибки при неверно указанных IP и DNS при wi-fi или сетевом подключении
  17. Случаи настройки сети по заданным статическим параметрам
  18. Частые ошибки при настройке сетевых параметров
  19. Настраиваем автоматический IP и DNS на Windows xp/7/8/10
  20. Инструкция для получения автоматического IP адреса и DNS в Windows 7, 8
  21. Установка автоматического получения IP и DNS на Windows XP
  22. Настраиваем IP и DNS на Windows xp/7/8/10 вручную
  23. Настройка DNS-сервера на Windows Server 2012 и старше
  24. Настройка сетевого адаптера для DNS-сервера
  25. Установка роли DNS-сервера
  26. Создание зон прямого и обратного просмотра
  27. Создание зоны прямого просмотра
  28. Создание зоны обратного просмотра
  29. Создание A-записи
  30. Проверка
  31. Пряморукий DNS: делаем правильно
  32. Делаем резольвер
  33. Выбор софта для резольвера
  34. Привет убунтоводам!
  35. Что должно быть в резольвере?
  36. Мелочи жизни
  37. Что мониторить?
  38. Ваш лучший друг — dnstop
  39. Грабли (делюсь своими)
  40. Держим зоны
  41. Не надо совмещать
  42. Выбор софта
  43. Опять привет убунтуводам
  44. Вдумчивая архитектура
  45. Что получим
  46. Хьюстон, у нас проблема
  47. Есть 2 стула варианта:
  48. Что мониторить?
  49. Взболтать, но не смешивать
  50. Архитектура
  51. Контакты

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

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

Остались нерешенные вопросы после прочтения этой статьи? Пишите комментарии, будем разбираться.

Введение

Для чего нужны DNS, и какие они бывают, где найти лучший, здесь я писать не буду – все уже было и без того достаточно сказано мною в ЭТОЙ СТАТЬЕ.

Здесь исключительно для примера мы будем устанавливать Google Public DNS – 8.8.8.8 и 8.8.4.4.

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

DNS Jumper

Обычно проще все прописать вручную – стандартные средства Windows позволяют легко изменить DNS сервер. Но некоторые люди упорно ищут сторонние программы под такие простые задачи. И мы нашли такую – DNS Jumper.

Здесь все просто – выбираете нужный адаптер, задаете DNS, нажимаете кнопку «Применить DNS»:

7 1

Скачать программу можно, например, ЗДЕСЬ

Windows 10

Самая популярная ныне операционная система. Для настройки DNS сервера в Windows 10 на компьютере или ноутбуке делаем так:

1 5

2 4

3 3

8 1

Windows 7 и другие

Вторая по популярности операционная система – Windows 7. Сюда бы я отнес и ей подобные Windows 8 – 8.1, т.к. алгоритм все равно будет тот же самый:

4 3

5 2

6 1

8 2

Роутер

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

Как зайти в настройки своего роутера, вы можете уточнить на нашем сайте. Для этого нужно в поиске ввести свою модель и ознакомиться с инструкцией. Я же тут покажу весь процесс на примере своего TP-Link.

9 1

10 1

Телефоны и планшеты

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

Здесь же покажу все на примере своего смартфона (Android 7). Главное, что стоит запомнить – DNS выставляется как для сети Wi-Fi, так и для мобильных данных. Т.е. сначала определитесь каким интернетом вы пользуетесь сейчас, а уже потом принимайте решение. В моем случае для Wi-Fi:

Настройки – Wi-Fi – Тапаем по подключенной сети – Изменить сеть – Расширенные настройки – Настройки IP – Пользовательские

И уже здесь задаем нужные нам адреса:

11 1

Как проверить?

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

На этом заканчиваю разговоры о настройке клиента DNS. Если же вы хотели прочитать здесь про разные Active Directory и службы DNS-сервера – то такого здесь не будет, т.к. наш портал про Wi-Fi и для обычных людей, которые даже не знают таких слов. Комментарии ниже всегда открыты для вопроса или совета другим читателям – если есть что добавить, обязательно сделайте это!

Источник

Настройка DNS на компьютере с Windows

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

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

Предлагаем вашему вниманию подробные инструкции, как настроить DNS на компьютере с операционными системами Windows 10, 8.1, 8, 7, Vista и XP.

Настройка DNS с помощью DNS Jumper

DNS Jumper – удобный портативный инструмент для быстрого переключения DNS на вашем компьютере. Утилита работает со следующими операционными системами: Windows 10, 8.1, 8, 7, Vista, XP и не требует дополнительных настроек в системе.

Запустите утилиту, выберите в списке DNS сервер предпочтительный сервер (например, Google Public DNS) и нажмите кнопку Применить DNS.

Настройка DNS с помощью YogaDNS

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

Настройка DNS в Windows 10, 8.1, 8

1. Чтобы открыть Центр управления сетями и общим доступом (также доступен в меню Панель управления > Сеть и Интернет), нажмите сочетание клавиш Windows + R и в окне «Выполнить» введите следующую команду и нажмите ОК:

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

3. В открывшемся окне выберите пункт Свойства.

4. В окне свойств подключения в списке Отмеченные компоненты используются этим подключением выберите пункт IP версии 4 (TCP/IPv4) в Windows 10 или Протокол Интернета версии 4 (TCP/IP) и нажмите кнопку Свойства.

5. В открывшемся окне на вкладке Общие выберите пункт Использовать следующие адреса DNS-серверов.

6. Введите выбранные вами адреcа DNS, например Comss.one DNS или Google DNS, в поля Предпочитаемый DNS-cepвep и Альтернативный DNS-cepвep (в зависимости от выбранного сервиса поле может оставаться пустым).

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

Обновите DNS-кэш следующим образом:

Настройка DNS в Windows 7

1. Нажмите правой кнопкой мыши на значок интернета в трее, выберите Центр управления сетями и общим доступом.

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

3. На вкладке Общие в окне Состояние Подключения нажмите кнопку Свойства.

4. На вкладке Сеть окна свойства подключения, прокрутите вниз и выберите Протокол Интернета версии 4 (TCP/IPv4), нажмите кнопку Свойства.

5. На вкладке «Общие» окна Свойства, в нижней части, выберите Использовать следующие адреса DNS-серверов, а затем введите IP-адреса выбранного DNS-сервиса, например, Google DNS.

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

Обновите DNS-кэш следующим образом:

Источник

Настройка получения IP и DNS адреса автоматически и вручную

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

Установка параметров получения автоматического IP и DNS адреса

Давайте же изучим различные варианты проверки этих настроек, а кроме того — способы активации автоматического получения IP адреса и некоторых других параметров. В принципе, подобного рода информация уже была приведена в предыдущих публикациях, но по данному случаю целесообразно осуществит более подробный обзор. Эта информация очень пригодится многим пользователям, особенно тем, кто впервые знакомится с сетевыми настройками. Ведь мы будем изучать настройку для всем известных операционных систем: Windows XP, 7, 8, 10.

Ошибки при неверно указанных IP и DNS при wi-fi или сетевом подключении

Как правило, подключение к Интернету осуществляется одним из двух способов — с использованием локальной сети или же беспроводной. В том случае, если использование беспроводного Интернета не доступно из-за отсутствия wi-fi адаптера или роутера, то остается только лишь один вариант — подключение посредством локальной сети. В принципе, для работы данный момент не имеет принципиально важного значения, только надо будет знать, что в любом случае должен быть задан IP и DNS ( или же установлен вариант с их автоматическим получением по умолчанию).

Самый вероятный вариант — это возникновение неполадок после того, как уже был прописан на компьютере изначально неверный IP, для какого-то определенного подключения. Возможно то, что он останется от предыдущего провайдера, или для вас имеет место самостоятельная установка других параметров. То есть, по факту, мы имем подключение Интернета, используя некорректный статический IP, посредством Wi-Fi, в итоге нежелательный результат гарантирован. Именно по этой причине для беспроводного маршрутизатора все эти параметры будут неверными и он «всеми силами» будет пытаться выдавать нужные. Однако этого не произойдёт по причине того, что в настройках отключена возможность получения сетевых адресов по умолчанию (логично предположить, что компьютер не воспримет настройки роутера).

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

Случаи настройки сети по заданным статическим параметрам

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

Частые ошибки при настройке сетевых параметров

В отличие от вида установленной операционной системы и критерий подключения к сети принято выделять несколько разновидностей наиболее распространенных ошибок. Зачастую можно столкнуться с ошибкой «Без доступа к интернету». В Windows 8 появляется сообщение, в котором указывается «Ограничено», то есть — интернет недоступен (хотя есть вероятность встретиться и с другими ошибками подключения).

19

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

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

Настраиваем автоматический IP и DNS на Windows xp/7/8/10

А вот сейчас настало время ознакомиться с процессом настройки IP и DNS адресов. Начнем изучение со всем известной операционной системой Windows 10.

32

9

53
После перезагрузки подключаемся к сети.

Инструкция для получения автоматического IP адреса и DNS в Windows 7, 8

Для Windows 8/8.1 все делается полностью аналогично выше приведенной схеме.

Доступ к сети после перезагрузки

Установка автоматического получения IP и DNS на Windows XP

Настройка на данной ОС, осуществляется также несколько похожим образом.

Настраиваем IP и DNS на Windows xp/7/8/10 вручную

В свойствах настройки интернета«Ip версии 4» (инструкция по открытию раздела, описывалась выше) устанавливаем данные как на рисунке: Ip-адрес и основной шлюз выбирается в зависимости от настроек роутера или провайдера — 192.168.0(1).1 (но может быть и другим ), где последняя цифра (………1) должна отличаться от адреса маршрутизатора (………2-255).

61

Источник

Настройка DNS-сервера на Windows Server 2012 и старше

DNS (Domain Name System, Система Доменных имен) – система, позволяющая преобразовать доменное имя в IP-адрес сервера и наоборот.

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

Настройка сетевого адаптера для DNS-сервера

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

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

21 screenshot 9 2

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

Далее предстоит проделать цепочку действий:

80 screenshot 31

Здесь в качестве предпочитаемого DNS-сервера машина назначена сама себе, альтернативным назначен dns.google [8.8.8.8].

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

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

На верхней навигационной панели Диспетчера сервера справа откройте меню Управление, выберите опцию Добавить Роли и Компоненты:

18 screenshot 10 2 e1571917921708

Откроется окно Мастера, в котором рекомендуют убедиться что:

1. Учётная запись администратора защищена надёжным паролем.

2. Настроены сетевые параметры, такие как статические IP-адреса.

3. Установлены новейшие обновления безопасности из центра обновления Windows.

Убедившись, что все условия выполнены, нажимайте Далее;

Выберите Установку ролей и компонентов и нажмите Далее:

58 screenshot 14 2

Выберите необходимый сервер из пула серверов и нажмите Далее:

79 screenshot 15 2

Отметьте чек-боксом роль DNS-сервер и перейдите Далее:

77 screenshot 16 2

Проверьте список компонентов для установки, подтвердите нажатием кнопки Добавить компоненты:

3 screenshot 17 2

Оставьте список компонентов без изменений, нажмите Далее:

90 screenshot 18 2

Прочитайте информацию и нажмите Далее:

46 screenshot 19 2

В последний раз проверьте конфигурацию установки и подтвердите решение нажатием кнопки Установить:

70 screenshot 20 2

Финальное окно Мастера сообщит, что установка прошла успешно, Мастер установки можно закрыть:

29 screenshot 21 2

Создание зон прямого и обратного просмотра

Доменная зона — совокупность доменных имён в пределах конкретного домена.

Зоны прямого просмотра предназначены для сопоставления доменного имени с IP-адресом.

Зоны обратного просмотра работают в противоположную сторону и сопоставляют IP-адрес с доменным именем.

Создание зон и управление ими осуществляется при помощи Диспетчера DNS.

Перейти к нему можно в правой части верхней навигационной панели, выбрав меню Средства и в выпадающем списке пункт DNS:

15 screenshot 40

Создание зоны прямого просмотра

16 screenshot 2612

63 screenshot 2712

63 screenshot 2812

33 screenshot 2912 1

97 screenshot 3012

7 screenshot 3112

69 screenshot 3212

Создание зоны обратного просмотра

39 screenshot 3312

32 screenshot 3412

53 screenshot 3512

14 screenshot 3612

13 screenshot 3712

72 screenshot 3812

28 screenshot 3912

Создание A-записи

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

Ресурсная запись — единица хранения и передачи информации в DNS, заключает в себе сведения о соответствии какого-либо имени с определёнными служебными данными.

Запись A — запись, позволяющая по доменному имени узнать IP-адрес.

Запись PTR — запись, обратная A записи.

48 screenshot 42

53 screenshot 43

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

51 screenshot 44

Проверка

91 screenshot 45

54 screenshot 46

86 screenshot 47

Из вывода команды видно, что по умолчанию используется DNS-сервер example-2012.com с адресом 10.0.1.6.

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

68 screenshot 48

В примере получены подходящие ответы по обоим запросам.

82 screenshot 49

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

Для сравнения все те же запросы выполнены на сервере, где не были настроены прямая и обратная зоны:

74 screenshot 50

Здесь машина сама себе назначена предпочитаемым DNS-сервером. Доменное имя DNS-сервера отображается как неопознанное, поскольку нигде нет ресурсных записей для IP-адреса (10.0.1.7). По этой же причине запрос 2 возвращает ошибку (Non-existent domain).

Источник

Пряморукий DNS: делаем правильно

Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

Резольвер — это та штука, которую вы прописываете в настройках своей операционной системы, чтобы можно было превращать понятные человеку адреса типа ya.ru в непонятное 87.250.250.242.

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

qhvc4 4ap vpg4ymcszpgyfvh5e

О спикере: Три года назад Лев Николаев пришел в компанию Макснет, в которой DNS развивался как раз не совсем правильно. Был bind и текстовые файлы с зонами; руки чесались навести порядок. В основе статьи доклад на Root Conf 2017, в ходе которого Лев делится с сообществом своим ассортиментом граблей.

Делаем резольвер

Резольвер нужен тем организациям, у которых либо нет провайдерского резольвера, либо которым он уже начинает мешать (от вас льется столько запросов, что резольвер не успевает отвечать или же лимитирует вас). От ЦОД или провайдера в принципе ждут наличия своего производительного резольвера.

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

Выбор софта для резольвера

По большому счету, здесь всего 2 варианта:

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

Привет убунтоводам!

Если вы любите Ubuntu, как мы, и используете ее в продакшне, вам придется немножко повелосипедить. Как известно, unbound должен стартовать вместе с системой. В 16.04 перешли на systemd, но, естественно, юнит написать забыли. И когда генератор пытается его сгенерировать автоматически из SysV-скрипта, получается полное безобразие. Не вздумайте это выкатывать в продакшн — я это сделал и оставил 30 000 абонентов без DNS на полчаса. Благо, это было ночью.

Пишите юнит! Или возьмите у меня, в конце будет адрес репозитория. Это касается только тех, кто с Ubuntu, но, например, в Debian что-то близкое должно быть.

Что должно быть в резольвере?

5 вещей, которые нужно сделать в своем резольвере.

1. Никаких форвардов к Яндексу или Google

Это довольно очевидно, поэтому, пожалуйста, перестаньте так делать. Перенаправлять запросы к Google плохо по двум причинам. Во-первых, вас рано или поздно ограничат по количеству запросов, о чем они заранее предупреждают. Но самое неприятное в том, что связность неидеальная.

Иногда бывает, что даже заветные 4 восьмерки недоступны, соответственно, у вас тоже будут проблемы. Абсолютно то же самое касается и Яндекса.

Нет, это не проблема Google или Яндекс, их недоступность обычно связана с тем, что у Вас (или Вашего аплинка) упал до них канал.

2. SO_REUSEPORT

Эта опция реально ускоряет жизнь, но требует, чтобы у вас было ядро, как минимум, версии 3.9. Если среди вас есть любители ядер 2.6. (моябабушкаизRedHat), закопайте его, пожалуйста. Опция SO_REUSEPORT позволяет нескольким процессам одновременно биндить один порт (у них должен быть одинаковый UID, чтобы порт не «угнать»), но ее приятственность в другом — нагрузка распределяется на эти потоки равномерно. Для DNS это подходит идеально, и вы на самом деле увидите прирост производительности, просто перейдя на современное ядро.

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

3. Prefetch

Это странная опция. Она действительно помогает в том смысле, что она немножко не уважает TTL. Когда мы идем к авторитетному серверу и спрашиваем у него какую-то запись, у нее есть TTL — это то время, в течение которого к нему можно за обновлением не ходить. Unbound и bind идут за обновленным содержимым этой записи раньше, чем TTL реально истек.

Но есть две особенности. Вы получите прирост в исходящем трафике процентов на 10. Хотя на самом деле в целом резольверы с трудом могут генерировать вообще много трафика, поэтому вряд ли это вас будет волновать. Второй момент — с короткими TTL (например, в минуту) с Prefetch никакой особой пользы не получится, но так как для ru-сегмента короткий TTL пока еще фантастика, в принципе может отлично сработать.

4. Expired

Этой опции в bind я не нашел, но в unbound она есть и позволяет возвращать просроченную запись с нулевым TTL, а в фоне пытается получить свежую у авторитетных серверов. Это хорошо помогает от крупных падений, например, пользователи могли бы даже и не заметить недавнего падения Dyn, если эта опция была бы массово включена. Но ее не все знают, не все любят и не все включают.

5. DNSSEC

DNSSEC есть в 2 разных ипостасях — в простой и в сложной:

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

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

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

Мелочи жизни

1. Перестаньте отвечать на ANY

Если вы делаете резольвер, перестаньте отвечать на запросы ANY потому, что это вид запроса, который на самом деле толком не стандартизован и используется на 99% всякими замечательными вирусами.

Чтобы не опускаться до программного уровня, можно использовать iptables, который работает достаточно быстро: если он видит, что запрос ANY, он его просто дропает.

Используйте ограничение на количество запросов в секунду, если Вы не закрыты извне. Мой резольвер по целому ряду причин пришлось открыть всему миру, поэтому практически первое, что я сделал — это ограничил количество запросов в секунду извне. Если вы не можете закрыть ваш резольвер для клиентов снаружи, то хотя бы лимитируйте их. Лимит поставьте по вкусу, например, у меня 70 запросов в секунду.

Третья приятная мелочь. Обычно, в сети делается не один резольвер, и иногда хочется делать между ними failover, но, естественно, не при помощи самого резольвера. Надо failover делать методами маршрутизации и у unbound есть отличная опция interface-automatic: yes. Она говорит: «Если запрос ко мне попал в принципе, мне плевать, кому он был предназначен, я отвечу на него». С этой опцией очень удобно, если нужно, на unbound заворачивать трафик соседнего резольвера.

Что мониторить?

Это типичная картинка с прода. Мы здесь видим, что количество запросов достигло 300 000 запросов, и это не в минуту и не в секунду, у меня статистика снимается каждые 5 минут, т. е. на самом деле мелочь.

image loader

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

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

image loader

Это делается достаточно просто — вы по cron дергаете статистику unbound, а потом оттуда (мы в Zabbix юзер-параметром) забираете то, что нужно.

image loader

Виды ответов тоже обязательно надо мониторить. На картинке выше типичный пример DNS Water Torture, т. е. ботнет внутри вашей сети запрашивает несуществующие адреса поддомены атакуемого домена. В результате он получает ответ Nodata (красный цвет), в примере доходило до 25 000 таких запросов в пике.

Цель при этом: заколебать до смерти Name-сервер атакуемого домена, чтобы он устал отвечать и на легитимные запросы. А как только вы начинаете мониторить виды ответов, то начинаете видеть, насколько внутри вашей сети активны ботнеты.

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

Другая проблема — что с этим делать потом, но это не сегодняшняя тематика.

Ваш лучший друг — dnstop

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

Так можно легко смотреть, кто и куда ходит, и какая атака идет сейчас.

image loader

Грабли (делюсь своими)

Их много. Как только вы поднимете резольвер, вы столкнетесь с криво настроенными роутерами или софтом. Можете получить тонны PTR запросов. Такое бывает достаточно часто, и вы это будете видеть, сможете исправлять, разбираться и делать вашу сеть лучше. Отдельный момент — это прекрасные китайские видеорегистраторы. К ним у меня особая любовь, как и у многих, наверное.

В вашей сети главная проблема в том, что вашим пользователям на ваши проблемы глубоко наплевать чаще всего. То есть то, что от пользователя идет паразитный трафик с DNS Water Torture его волнует мало, пока World of Tanks работают.

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

Держим зоны

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

Как правило у себя держат зоны либо организации с особыми амбициями: «Мы крутые! Мы зоны лучше держим, чем какой-нибудь Dyn!», либо ЦОДы или провайдеры, от которых этого опять же этого ждут по умолчанию.

Не надо совмещать

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

Выбор софта

Главный момент: не надо думать, что вы здесь выбираете софт. Это ключевая ошибка в головах многих. DNS — это база данных, не пихайте ее в текстовый файл. Очень и очень плохо, если вы при помощи Ansible или chef генерируете текстовый файл, который потом засовываете в bind. Но я знаю — вы это делаете, а потом рассказываете о том, что оно плохо работает.

Поэтому ответ: PowerDNS

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

Опять привет убунтуводам

Если вы используете Ubuntu, то в стандартных репозиториях 16.04 лежит alpha-версия PowerDNS 4.х. Я не знаю, кому сказать спасибо за это. Она действительно работает, но с проблемками. Уже год, как я открыл к версии 4.х issue #3824. Я спрашиваю у разработчиков PowerDNS:

– Ребят, а ничего, что я MySQL перезапускаю, а у вас PowerDNS не подхватывает его обратно?
– Ух ты, прикольно!

Запомните этот баг, они уже 3 раза закрывали и 3 раза открывали в 4-й ветке. Поэтому — есть 3-я стабильная, у нее этих проблем нет, но на Debian / Ubuntu вам понадобится ее ставить из deb-файла. И на сегодня, на март 2018 года она уже небезопасна. Поэтому выход один — переходить на ppa от разработчиков для Вашей версии Ubuntu.

Вдумчивая архитектура

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

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

– Давайте возьмем, например, репликацию MySQL. Говорят, она прикольно работает!
– Она вам тоже не поможет. Репликация тут не лучший друг.

Поэтому схема выглядит так.

image loader

У вас есть сервер с PowerAdmin и MySQL. С DNS-сервера вы идете туда и делаете mysqldump с опцией skip-extended-insert (мы о ней скоро поговорим) и получаете SQL-файл.

Вы скажете: «Эка невидаль! Что мы, дампов никогда не делали?»

А дальше начинается интересное. Естественно, вы не можете, взяв dump в базе на допустим 700 доменов, загружать его в ту же базу. Поэтому его надо загрузить в соседнюю, а потом сделать RENAME TABLE. Вы спросите — зачем? Это 100% атомарно. RENAME TABLE — это офигительная штука, которая, как и переименование файла в Linux, либо отрабатывает, либо нет, у неё нет промежуточного состояния. Это очень удобно и удобнее, чем транзакция, потому что в разы быстрее. После того, как вы успешно этот dump загрузили, вы этот же файл кладете в git. Поскольку есть опция skip-extended-insert, то файлик получается git-friendly, т. е. у него на каждый insert одна строчка, и вы получаете вменяемый diff.

Главное здесь вот что: я хочу иметь возможность видеть diff от результатов «накатывания» базы.

Что получим

А про понятие master/slave забудьте, в данном контексте оно маловажно.

Хьюстон, у нас проблема

Все бы здорово и замечательно, но у нас есть одна проблема. Этот классный подход работает, только если мы для домена, в котором мы это делаем, и master, и slave. Если же это не так, начинаются сложности, которые мы сейчас будем побеждать.

Давайте переосознаем роль master/slave еще раз. Master шлет уведомления, как только у него изменилась зона, slave эти уведомления получает и что-то делает, при этом оба они отвечают на запросы.

Есть 2 стула варианта:

Выход — назначить один из серверов (можно 2 — отдельный разговор) ответственным за прием *XFR. Это не может делать сервер с PowerAdmin, т. к. там нет DNS-сервера и некому принимать.

Схема выглядит так:

У нас может быть 2 роли: просто DNS-сервер, который синхронизируется, а может быть DNS-сервер с ролью slave, который принимает *XFR, записывает себе в базу данных, и отдает изменения PowerAdmin, выполняя еще один скрипт.

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

Что мониторить?

Power DNS — это все-таки отдельный механизм, который надо мониторить. Ниже картинки из Zabbix. Мы снимаем Latency, т. е. сколько времени занял ответ в микросекундах, и хорошо видны всплески, если машина была занята или база данных тормозила.

image loader

Протокол, по которому пришел запрос тоже нужно мониторить. Там не всегда легитимен TCP, за ним тоже надо аккуратно наблюдать. Заодно можно понять, насколько популярен IPv6, здесь это 10% запросов.

image loader

Виды запросов тоже нужно снимать, тогда вы будете понимать, что происходит, и видеть, например, что запросы вида АААА, то есть адреса в IPv6 в нашей ситуации уже практически равны запросам IPv4.

image loader

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

image loader

Взболтать, но не смешивать

Увы иногда приходится использовать связку PowerDNS + unbound. К примеру, у вас есть локальный домен с хитрой структурой, которую неудобно настраивать в unbound. Кстати, так работает один из механизмов блокировки сайтов в России. Резольвер вашего провайдера может возвращать для «плохого» домена заглушку, для хорошего — нормальную запись. В корпоративной среде такое применяется, например, для блокировки социальных сетей или защиты от вирусов.

Архитектура

Архитектура здесь до боли проста — это просто смесь 2 компонентов, о которых мы только что говорили. То есть в свет смотрит PowerDNS, принимает запрос, смотрит в базу, к config-файле которой есть опция отправить запрос дальше вот этому серверу (стоящему на той же машине unbound), если чего-то нет в самой базе. Единственная особенность, что в рамках мониторинга мы на эту машину настраиваем template Zabbix 2 раза и картинок становится в 2 раза больше.

Контакты

— Хотелось бы услышать Ваш совет, каким образом можно фильтровать до сервера запросы определенных типов. Например, я хочу полностью отрезать IPv4 все запросы, чтобы они не доходили до сервера вообще.

— Эти опции есть и в PowerDNS, и в unbound. Еще есть вариант, используя IPtables, вы можете с помощью hex match выдергивать кусочек, смотреть, что там за запросы и просто их дропать полностью. Еще один вариант. Существуют различные DNS-прокси, причем даже авторы PowerDNS тоже выпускают свой резольвер, который поддерживает скрипты на Lua. Вы можете туда подсунуть свой скрипт, который будет делать любую кастомную магию. Есть для этого разные средства. Все зависит от того, что у вас за задача.

— Скажите, Вы у себя на сети внедрили блокировку запрещенных сайтов с помощью DNS? Статистика примерная есть?

Скажу так, и ее тоже. Много ли блокируется? Понятно, что блокировка через DNS — это от домохозяек. Понятно, что никто не мешает абоненту взять и вбить DNS Google. Честно скажу, мы не смотрим на нее, но в принципе, что-то туда падает.

— А по отчетам ревизоров заметны изменения после внедрения блокировки DNS?

Да. Для ревизора это отличный способ. Имейте это в виду.

— Вы своим клиентам, которые пользуются вашим DNS, даете IP адреса? Вы обеспечиваете доступность этих адресов, и каким образом?

Давайте коротенечко расскажу, как это работает. Вы же помните, что мы там вводим 2 адреса. Знаете, как смешно там работает failover. Смотрите, Windows и Linux ведут себя по-разному. Windows при недоступности первого переключается на второй и раз в 15 минут пытается по-прежнему тыркать первый и по возможности переключается на него. Linux этого не делает.

Во-первых, что надо понимать? Что failover средствами операционной системы не униформен и плох. Соответственно, ваша задача, чтобы оба IP, которые вы отдаете, как резольверы, светились всегда и работали. Поскольку мы это делаем с помощью маршрутизации, у каждого из наших серверов дополнительными IP к интерфейсу прописаны адреса его друганов. У нас их используется 3 и пока хватает.

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

— У Вас была табличка по передаче MySQL dump от серверов друг к другу. Вы говорили, что у вас получился не master/slave и master/master. То есть, грубо говоря, вы меняете всегда зону на одном из серверов и перекидываете на другой и split-brain не может получиться в этом случае?

Нет, split-brain возможен. Вообще каждый сервер раз в 2 минуты бежит делает dump и закидывает его к себе. Но если у него это не получилось, то мы наблюдаем а-ля split-brain, у него старая версия базы.

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

— Нет, split-brain в том смысле, что вы на одном из серверов изменили запись, а на другом нет.

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

Это была одна из наших проблем, когда был bind с текстовыми файлами. Было клево поменять зону в одном месте, потом забыть изменить серийник, а она XFR’ом на второй не перетекала. Это была наша боль, которую мы этим тоже устраняли.

— А еще есть какая-нибудь статистика по тому, когда перестать пользоваться XFR…

XFR — это механизм, который был придуман в условиях плохой связанности. Условно говоря, XFR, особенно инкрементальный XFR, придуман, чтобы полосу экономить. Но в современных реалиях полоса DNS сервера 5 Мб/с, больше он не ест. Поэтому, на мой взгляд, сейчас XFR — это механизм так себе. Поэтому я бы, в принципе, не рекомендовал смотреть в его сторону. Ребята из Power DNS в документации так и пишут, что если вы можете бэкенд как-то реплицировать без XFR и прочего, сделайте это. В нашем случае получилось здорово.

— Когда Вы рассказывали про ситуацию настройки авторитетного сервера, сказали, что якобы про репликацию Master/slave надо забыть, и мы отдаем на один сервер одинаковую конфигурацию со всего. В такой ситуации в SOA записи у нас есть какой-то ns сервер. А ns записей сколько получается? То есть, не будет ли такого, поскольку существуют разные чекеры DNS сервисов, правильно он настроен или нет, он будет ругаться типа: «У тебя 1 ns сервер, это очень плохо!» и т.д. Или мы сделаем одну ns запись несколькими IP’шниками?

Несколько записей, если быть правильным. В нашей ситуации, если клиент приходит к нам с доменом, то мы в качестве ns прописываем один, два — хотите, третий дорисую, четвертый, пятый. Ns может быть огромное количество — любое. У вас на все из них будут литься запросы равномерно.

— У меня легкие уточнения по поводу PowerDNS и изменения зоны. В 4-й версии есть PDNSutil edit. Он берет из базы зону, представляет ее в текстовом классическом виде. Говоришь save — он ее загружает обратно.

По поводу исправления issue — я месяц назад разговаривал с разработчиками PowerDNS — они очень мало притрагиваются сейчас к авторитетному серверу. У них все усилия брошены на DNS dist и recursor. Поэтому если хочется запатчить, лучше самому. В ближайший год они, похоже, ничего там делать не будут.

Меня 3-я версия устраивает. 4-ю я видел только потому, что она в 16.4 по дефолту приезжает. Это было из разряда «О, что есть!»

— Последнее. Как раз в сентябре будет меняться DNSSEC ключ на корнях, не забудьте обновить!

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

Протокол DNS придуман так, что вы к корневым серверам будете ходить очень редко. Корневые сервера условно держат сейчас уже много Top Level Domain, но посмотрите TTL — там он огромный. Вы туда будете ходить очень редко — раз в месяц сходите, и после этого не будете.

— Вы имеете в виду, что наш резольвер отрезольвит ns из зоны.ru и будет уже ходить только к ним?

Конечно. Пока TTL не истечет, он туда ходить не будет. Я же еще раз говорю — вопрос к размышлению. Это же точка отказа. Есть у меня клиент, и у него в настройках сетевого адаптера какие-то DNS сервера. Но они не обязаны никому работать. Можно было софтово включить поддержку этого дела в ОС. Представляете, какой бы пласт проблем это сняло: отравление кэшей, например. Многие вещи просто перестали бы иметь смысл.

То есть злоумышленнику сейчас резольвер — лакомый кусок для атаки потому, что «отравлю ему кэш — отравлю кэш толпе!» Это плохо, неправильно и так не должно быть. Чтобы это решить, надо просто всунуть резольвер в коробку в ОС. Я не понимаю, почему до сих пор никто этого не делает. Это не настолько сложно.

— У Ubuntu, кажется, dnsmasq в коробке есть.

Нет, там плохо все, поверьте. dnsmasq вообще плохо. Но дело даже не в этом. Он есть только в FreeBSD, там есть unbound, он на local-хвосте висит и работает. Но процент пользователей FreeBSD — это отдельный разговор.

Умеете больше, выше, сильнее — программный комитет RootConf в составе РИТ++ ждет ваших заявок до 9 апреля. Также, как и рассказов о собственных граблях и шишках во всем спектре тем, касающихся поддержки и эксплуатации ИТ-проектов.

Источник

Поделиться с друзьями
DOMA35.RU