Как настроить dns хостинг

Перенос сайта на другой сервер: как прописать DNS домена

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

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

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

Что нужно знать, чтобы перенаправить домен на новый сервер

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

У каждого сайта есть доменное имя (Domain), которое отображается в строке браузера, например, liderpoiska.ru, и IP-адрес — уникальный сетевой адрес сервера, например, 37.139.7.16. Они связаны между собой посредством DNS (Domain Name System) — эта система доменных имен, как секретный агент, по имени домена вычисляет, по какому IP-адресу проживает конкретный сайт.

Схема работы DNS-сервера

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

Таким образом, чтобы направить домен на новый IP-адрес, нам нужно знать:

  1. Доступ к панели управления доменом (в личный кабинет регистратора домена). Им может выступать nic.ru, reg.ru, webnames.ru и т.д.
  2. Новый IP-адрес размещения сайта.
  3. Провайдера DNS, который позволит отредактировать DNS-записи домена. Если вы пока не понимаете, о чем тут речь, то следующая глава поможет вам разобраться.
  4. Есть ли корпоративная почта на домене. Например, для сайта liderpoiska.ru корпоративная почта выглядит, как info@liderpoiska.ru. Если такая почта есть, то нужно также узнать сервер, принимающий почту для вашего домена — это может быть Яндекс, Google, хостер или сторонний почтовый сервер.

Где находится DNS домена

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

Наиболее часто встречаются значения:

  • dns1.yandex.net, dns2.yandex.net — домен делегирован на Яндекс.Коннект.
  • в записях просматривается название хостера, например ns3.nic.ru, ns1.firstvds.ru, ns1.beget.com, ns1.reg.ru и другие — провайдером DNS является соответствующий хостер и/или регистратор домена: nic.ru, firstvds.ru, beget.com, reg.ru.
  • в строке читается комбинация символов AWSDNS — провайдер Amazon.
Читайте также:  Сломался ик приемник телевизора

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

Как настроить DNS

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

Если домен делегирован на Яндекс.Коннект

NS-записи такого вида в кабинете регистратора домена говорят о том, домен делегирован на Яндекс.Коннект, т.е. DNS-записи хранятся и редактируются в аккаунте Яндекса в настройках сервиса Вебмастер. Самое сложное в этом случае — найти доступы от аккаунта в Яндексе (вида @yandex.ru), под которым домен был заведен в Коннекте.

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

DNS-записи здесь уже заполнены, нужно только указать новый IP-адрес для записи типа А, которая связывает IP с доменным именем:

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

Если домен делегирован на хостинг

В личном кабинете регистратора домена можно также встретить NS-записи другого вида:

Конкретно в этом случае они означают, что домен делегирован на хостинг firstvds.ru, значит, и DNS-записи хранятся там. Дальнейшие действия зависят от того, куда переносим сайт.

Перенос сайта на другой сервер того же хостера

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

Перенос сайта на другой хостинг

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

Шаг 1: Перенос DNS на другой сервер

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

Шаг 2: Проверка MX-записей домена

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

Если в течение трех суток MX-записи не будут настроены правильным образом, то неполученные письма потеряются навсегда, при этом отправитель получит уведомление о том, что письмо не доставлено.

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

Шаг 3: Настройка NS-записей

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

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

    Владелец сайта хранит на прежнем хостинге несколько сайтов.

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

Читайте также:  Как починить пинцет для наращивания ресниц

NS-записи и DNS-записи хранятся в одном месте — в панели управления доменом.

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

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

Источник

Домашний хостинг сайтов с динамическим IP

У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).

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

В то-же время в наличии имеется:

  • Домашний сервер на Ubuntu
  • Быстрый ethernet-интернет от МТС

Но не имеется ключевого — статического IP. Если бы он был, то все было-бы намного проще и данную статью я бы точно не писал. А выдавать статический IP мой МТС абсолютно не желает (если только я не подключусь как бизнес-клиент).

Разумеется есть всем известные Dynamic DNS сервисы вроде noip.com, но они успешно решают лишь задачу удаленного доступа к нашему серверу (по SSH или FTP), но для хостинга совершенно нам не подходят, поскольку в настройках домена на DNS-сервере нам нужно обязательно прописать A-запись с реальным IP-адресом (а не ссылку на наш виртуальный домен).

Что делать?

Я не буду останавливаться на том, как настроить linux сервер (и тем более как его выбрать), поскольку предполагаю, что он у вас уже есть. Также я не буду подробно расписывать настройки nginx и Apache, поскольку опять-таки предполагаю, что вы с этим справитесь самостоятельно.

Первое с чем у меня возникли проблемы — это как перенаправить посетителей с моих доменов (у меня есть 2 домена) на мой домашний сервер. То есть чтобы клиент который набрал domain.com попал ровно на мой домашний сервер с учетом того, что на нем каждый день меняется IP-адрес.

Для решения нам нужно настроить DNS-сервер, а именно следующие записи: SOA, NS, MX, A, CNAME. Важно чтобы мы имели возможность настройкой TTL (time to live), поскольку время жизни наших записей должно быть очень небольшим, буквально 60-120 секунд. В противном случае при смене IP-адреса сервера пользователи долго не смогут попасть на наш сервер (из-за кеширования).

Итак, нам нужен DNS сервер, варианты решения:

  1. Используем сервисы которые предоставляют нам DNS-хостинг
  2. Используем собственный DNS-сервер в связке с DDNS-доменом

Рассмотрим оба варианта.

Используем сервисы которые предоставляют нам DNS-хостинг

Для этого есть ряд бесплатных сервисов, из которых самым популярным является freedns.afraid.org. На таких сервисах можно добавить свой домен(ы) и получить возможность через API обновлять у них A-запись при помощи небольшого скрипта.

Выглядит вполне неплохо, но подвох в том, что эти сервисы оставляют за собой право довешивать к вашему домену поддомены третьего уровня. То есть вы зарегистрировали у них user.ru, а они спокойно довешают свои сайты вида hello.user.ru, shop.user.ru и так далее. Разумеется от этого можно отказаться, но… за деньги. Платить деньги за такие сервисы смысла я не вижу, поскольку за сравнимые деньги вы можете купить полноценный хостинг на каком-нибудь провайдере без всяких плясок вокруг DNS настроек.

Читайте также:  Не работает пульт от лампы что делать

Остальные сервисы рассматривать не будем, а сосредоточимся на втором варианте.

Используем собственный DNS-сервер в связке с DDNS-доменом

Для этого варианта у нас, во-первых, должен быть DDNS-домен (который обновляется при смене IP), например, domain.ddns.net, а во-вторых, придется установить и настроить BIND на нашем сервере.

Всего необходимо сделать ровно 5 шагов. Везде под словами «domain» или «domain.ru» подразумевается ваше имя домена (короткое или полное).

1. Настроить 2 или 3 DDNS-поддомена

Почему 2 или 3? Потому, что ряд регистрантов не разрешит вам использовать домен только с одним NS-сервером. Самое обидно, что не все про это скажут — ваш домен просто не будет работать, но вы не будете понимать почему.

Тут все просто — идем на noip.com, там регистрируем аккаунт и добавляем 3 бесплатных поддомена (больше 3 не даст).

2. Настраиваем собственный DNS-сервер

Создаем зоны (по одной зоне на каждый наш домен):

и собственно файл с настройками зоны:

Примечание: обращаю внимание, что TTL устанавливаем равным 60 секунд. В файле /etc/bind/named.conf.local добавляем подключение нашей зоны:

Все, рестартуем BIND:

И глянем /var/log/syslog чтобы там не было сообщений об ошибках

3. Настроить наш домен(ы)

Идем в панель управления регистратора и там в настройках нашего домена в качестве NS-серверов указываем созданные DDNS-поддомены:

После этого возможно придется подождать несколько часов (или даже сутки) пока настройки среплицируются между всеми серверами.

4. Настроить периодическое обновление IP-адресов

Мой роутер поддерживает обновление IP-адреса на одном домене, но мне нужно это делать сразу для 3-х доменов. Плюс нам надо обновлять IP-адрес в конфиге BIND’а, поэтому напишем скрипт который будет делать:

  1. Определять наш внешний IP-адрес
  2. Проверять изменился ли IP адрес, если не изменился, то ничего делать не надо
  3. Обновлять IP-адрес у всех DDNS-поддоменов через API сервиса noip.com
  4. Прописывать новый IP адрес в конфиг BIND’а
  5. Перезапускать BIND

Сам скрипт пусть будет на шелле:

Скрипт нужно запускать под рутом (чтобы ему хватило прав обновлять конфиги BIND’а и рестартовать его). Добавляем в crontab рута его запуск каждую минуту:

Пару слов про определение текущего IP-адреса. В скрипте выше это делается через резолвинг DDNS-поддомена domain.ddns.net. То есть сначала наш роутер его туда прописывает, а потом мы читаем. Это не очень хороший вариант, поскольку мы завязываемся на роутер и можем потерять несколько минут пока на DDNS-поддомене обновится IP-адрес на актуальный. Все это время наш сервер будет недоступен.

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

В данном варианте мы загружаем главную страницу роутера (через http), дальше регэкспом находим на ней текущий IP-адрес. Разумеется, этот вариант подходит далеко не всем, но на DD-WRT прошивках работает.

5. Настройка роутера

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

  • HTTP — TCP, 80-ый порт
  • DNS — TCP+UDP, 53 порт

Вывод

Итак, что я получил в итоге:

  • Мои сайты живут на домашнем сервере, за который я никому не плачу;
  • Мои домены резолвятся через мой собственный DNS-сервер, время жизни записей 1 минута, то есть обновление происходит очень быстро;
  • В качестве NS-записей указаны не реальные IP-адреса (которые у меня часто меняются), а DDNS-поддомены;
  • Актуальность записей в DDNS-поддоменах и в конфиге моего DNS-сервера обеспечивается автоматически, без какого-либо вмешательства со моей стороны.

По моим замерам, когда МТС (мой провайдер) обновляет мне IP-адрес, то мои сайты начинают работать спустя где-то 2 минуты. Это вполне приемлемо для меня.

Источник

Оцените статью