Кратко: Если на первом месте отказоустойчивость и доступность сайта в любое время, то лучшим решением будут платные DNS (например, Amazon). Платные сервисы также подходят, если злоумышленники DDoS-ят ваши серверы имен.
Если не хотите зависеть от сторонних компаний и самостоятельно управлять DNS, ваш выбор — собственные серверы имен. Ответственность за их работоспособность лежит на вас.
Если не хочется решать вопросы размещения и настройки, а кратковременные отказы не критичны, то ваш выбор — бесплатные DNS или DNS провайдера.
Что такое DNS-сервер и какие они бывают?
DNS-сервер (NS, Name Server, сервер имён) отвечает за преобразование доменного имени в IP-адрес. С помощью IP-адреса браузер открывает запрошенный сайт.
Пример преобразования домена в IP-адрес
firstvds.ru → 80.87.203.35
Для размещения DNS-серверов существует несколько вариантов:
- ДНС-серверы хостинг-провайдера
- Собственные ДНС-серверы
- Бесплатные DNS-хостинги
- Платные DNS-хостинги
- CDN-прокси (в режиме DNS)
Обычно используются собственные серверы или серверы хостинга. Рассмотрим варианты подробнее, выявим преимущества и недостатки каждого из них.
DNS-сервер провайдера
При покупке сервера хостинги могут предоставлять бесплатные серверы имён (как первичные, так и вторичные). Этот вариант подходит для тех, кто не хочет «заморачиваться»: при добавлении домена в панели управления, остальные параметры настраиваются автоматически (так это работает на нашем хостинге).
Главный недостаток — хостинги предоставляют DNS-сервисы с базовой функциональностью. Они справляются с основой задачей (трансляция домена в IP), но дополнительная функциональность (API, IPv6, DDNS, Geo Routing) отсутствует, либо урезана.
Все клиенты используют общие серверы имен. Если на NS одного из клиентов заказана сильная DDoS атака, то сбои в работе могут испытывать все остальные клиенты. Не смотря на это, хостинги стараются защитить свои DNS от DDoS.
+ Простота настройки
+ Нет необходимости следить за состоянием ДНС-сервера
+ Бесплатность
– Услуга может быть доступна не на всех хостингах
– Невозможность использования API
– Возможны сбои в работе
Собственный DNS-сервер
Подходит для обладателей виртуальных и выделенных серверов. Клиент размещает DNS на своем сервере, обычно на одном сервере с сайтом.
Настройка с помощью панели. Большинство панелей управления поддерживают настройку серверов имён. Клиенты FirstVDS используют панель ISPmanager, в которой есть такая возможность — смотрите руководство по настройке.
Самостоятельная настройка. Настроить серверы имён можно и без панели управления. Для этого достаточно установить программу DNS-сервера (например, BIND) и создать конфигурационный файл по образцу. Смотрите руководство по настройке для популярных операционных систем. Не забудьте открыть 53-й порт для TCP и UDP пакетов!
DNS-сервер и защита от DDoS. Если вы пользуетесь услугами защиты от DDoS, размещать DNS-сервис и сайт на одном сервере не рекомендуется. Cервисы защиты от DDoS могут блокировать весь UDP-трафик в случае сильных атак, и клиенты не могут получить доступ к серверу имен — сайт будет недоступен по доменному имени. В этом случае DNS следует располагать на отдельном сервере.
+ Независимость от сторонних ресурсов
+ Возможность настройки DNS под себя и использования собственных скриптов
+ Бесплатность
– Требуется 2 IP-адреса
– Сложность настройки
– Самостоятельная поддержка работоспособности
– Возможны проблемы в случае использования DDoS-защиты
Регистраторы требуют, чтобы для каждого домена было минимум два сервера имён: первичный (master) и как минимум один вторичный (slave). В качестве адресов должны быть указаны два разных IP-адреса.
Чтобы удовлетворить это требование, к серверу подключают дополнительный IP-адрес. Основный адрес указывают в качестве первичного NS, а дополнительный адрес — в качестве вторичного NS.
Бесплатные DNS-хостинги
В интернете можно найти множество ресурсов, предлагающих бесплатные DNS-сервера. Самые заметные среди них Яндекс и Hurricane Electric Free DNS.
Бесплатный DNS-хостинг — хорошее решение, если вы не имеете возможности администрировать DNS-сервер самостоятельно. Но будьте внимательны: часто в условиях бесплатных сервисов прописывается отказ от ответственности. Могут присутствовать ограничения по количеству доменов, по количеству запросов в месяц. Может быть запрещено размещение коммерческих проектов. Хорошо изучите условия выбранного сервиса.
+ Бесплатность
+ Возможность найти сервис, который подходит по условиям и возможностям
– Не отвечают за работоспособность
– API отсутствует или неудобен в использовании
– Ограничения выделяемых ресурсов
Платные DNS-хостинги
Платные DNS-хостинги, в отличие от бесплатных, гарантируют уровень сервиса и предоставляют набор дополнительных возможностей. Среди прочих выделяется Amazon Route 53. Этот ДНС-хостинг позиционируется как отказоустойчивый и высокодоступный. У него есть перенос уже действующих настроек с других серверов и полноценный API для которого написано множество готовых рецептов.
+ Отказоустойчивость
+ Полноценный API
+ Дополнительная функциональность
– Платность
Зачем нужен API на DNS-хостинге
Самый распространенный способ применения — создание отказоустойчивой системы. Например, у нас есть два сервера. Сервер А — основной, на нем расположен сайт, к которому обращаются посетители. Сервер Б — резервный, на нем хранится актуальная копия (реплика) основного сайта.
Представим, что мы арендуем платный ДНС-сервер. Если сайт работает в штатном режиме, то данные отдаются с сервера А. На сервере Б работает скрипт, который проверяет доступность сайта на сервера А. Если он перестает работать, то скрипт по API обращается к ДНС-хостингу и пишет в А-запись IP-адрес сервера Б. Сайт продолжает работать с резервного сервера.
Поскольку переключение происходит с минимальными задержками, посетители не заметят переключения.
CDN-прокси
Особняком стоят CDN-прокси (Content Distribution Network), которые можно использовать и как DNS. Самый популярный — CloudFlare. CDN-прокси ускоряют работу сайта благодаря кэшированию данных на распределённой сети серверов. Сайт отдается клиенту с ближайшего к нему сервера. Также CDN может фильтровать вредоносные запросы (защищать сайт от DDoS).
CDN-сети имеют серьёзный недостаток: IP-адрес для доменов, размещённых в CDN, присваивается случайным образом. Т.е. попасть на сайт или сервер напрямую по IP-адресу будет невозможно.
Кроме этого, сайт может быть заблокирован на территории РФ. IP-адреса сайтов с запрещенным контентом попадают в черный список Роскомнадзора и блокируются провайдерами (и это не редкость для CDN-сетей). Если вашему домену случайным образом достанется один из таких адресов, то сайт окажется недоступным. По этой причине необходимо внимательно подходить к выбору CDN-провайдера и заранее узнавать об IP-адресах, находящихся в черных списках, и возможных проблемах с ними.
Не рекомендуем использовать CDN-прокси для сайтов, аудитория которых находится в России.
+ Повышение скорости отдачи контента
+ Защита от вредоносных запросов
+ Удобство работы
+ Отказоустойчивость
– IP-адреса могут быть в черных списках Роскомнадзора
– Стоимость