- DNS, связь имени домена с IP-адресом.
- Что такое ДНС (DNS)?
- Как указать (изменить) DNS-сервера для домена?
- Настройка DNS-записей.
- Пример внесения записей в DNS:
- Инструкции по смене DNS-серверов
- Как прикрепить домен к IP адресу?
- Как долго происходит изменение DNS?
- Домашний хостинг сайтов с динамическим IP
- Что делать?
- Используем сервисы которые предоставляют нам DNS-хостинг
- Используем собственный DNS-сервер в связке с DDNS-доменом
- Вывод
- Записки IT специалиста
- Создаем свой сайт. Настройка DNS-зоны
- От теории к практике
DNS, связь имени домена с IP-адресом.
Что такое ДНС (DNS)?
Интернет — это совокупность локальных сетей компьютеров, расположенных по всему миру, которые связываются между собой по единым правилам, называемым протоколами.
Для того, чтобы не запоминать числовой адрес компьютера, была создана система DNS. Система Доменных Имен или DNS (Domain Names System), связывает имена, подобные www.htmlweb.ru c цифровыми адресами(185.12.92.137), которые используют компьютеры, чтобы связываться друг с другом.
Для того, чтобы Ваш сайт с Вашим доменным именем заработал — необходимо указать DNS-сервера, на которых будет «записано», на каком именно сервере(хостинге) находится Ваш сайт. DNS сервера имеют вид:
Есть три пути настроки DNS:
- DNS регистратора. В этом случае, Вам нужно будет полностью настроить зону DNS как в третьем варианте.
- DNS хостинг-провайдера. В этом случае всю предварительную настройку DNS, достаточную для нормальной работы Вашего сайта сделает хостинг-провайдер.
- Сторонний DNS. Вы можете указать хостинг DNS вообще на стороннем сервере DNS, например, Яндекс-DNS.
Как указать (изменить) DNS-сервера для домена?
Для указания/изменения DNS-сервера у домена, то Вам необходимо:
- зарегистрироваться у регистратора домменых имен;
- Найти нужный домен и выбрать там «Управление DNS-серверами / Делегирование»
- В открывшейся форме укажите нужные DNS-сервера (IP можно не указывать). или установите галочку «Использовать DNS-сервера регистратора».
- Нажмите на кнопку «Сохранить».
Информация о Ваших изменениях будет доступна за период от нескольких минут до 72 часов. Поэтому в первое время возможно, что DNS-сервера будут старые. Это не зависит не от регистратора не от хостиг-провайдера. Вам остается только ждать.
Настройка DNS-записей.
Для внесения/изменения записей на DNS сервере Вам необходимо сделать следующее:
- Авторизуйтесь в панели управления Вашего хостинга DNS Найдите нужный домен и выберите там «Управление зоной DNS»
- В открывшейся форме Вы можете вносить записи типа A, CNAME и другие в зоны DNS.
- После внесения записей нажмите на кнопку «Сохранить/Добавить».
Пример внесения записей в DNS:
Предположим, вы зарегистрировали домен mydomain.ru и IP-адрес web-сервера, на котором будет расположен сайт — 195.128.128.26. В этом случае Вам потребуется создать минимум две записи типа «A» для Вашего домена (чтобы связать mydomain.ru и www.mydomain.ru с адресом 195.128.128.26). Для этого в форме добавления записей «A» в поле «Имя поддомена» укажите «@» для первой записи и «www» для второй записи, а в поле «Данные» укажите 195.128.128.26 (для обоих записей).
Чтобы сделать пересылку всех поддоменов на IP адрес, нужно в качестве «Имени поддомена» указать *
Пример 2: Вы хотите, чтобы адрес mail.mydomain.ru указывал на тот же хост, что и адрес relay.highway.ru. Для этого необходимо в поле ‘Имя поддомена’ указать «mail», выбрать ‘Тип записи’ CNAME, а в поле ‘Данные’ указать «relay.highway.ru.».
Пример DNS-записей для зоны mydomain.ru:
Инструкции по смене DNS-серверов
- Если вы указываете у домена RU, SU, РФ DNS-сервера, которые расположены в этом же домене (т.е. «свои» DNS), например, для домена testsite.ru вы указываете DNS-сервера ns1.testsite.ru и ns2.testsite.ru, то обязательно необходимо указать для каждого DNS-сервера его IP адрес.
- Если вы указываете у любого домена DNS-сервера, которые расположены в другом домене, например, для домена testsite.ru вы указываете DNS-сервера ns1.abrakadabra.ru и ns2.abrakadabra.ru, то указывать для каждого DNS-сервера IP адреса не нужно.
- IP адреса у DNS-серверов (в случае необходимости их указания, см. выше) для доменов RU, SU, РФ должны отличаться хотя бы на одну цифру! Одинаковые IP для всех DNS не допустимы.
- Для международных доменов (com, net, org, info и т.п.) DNS-сервера, которые вы указываете у домена, должны быть обязательно зарегистрированы в международной базе NSI Registry. Если они там не зарегистрированы, то указать их нельзя. Для международных доменов IP адреса у DNS-серверов указывать не нужно. Они указываются при регистрации DNS в базе NSI Registry
Как прикрепить домен к IP адресу?
Для того, чтобы прикрепить домен к IP адресу, Вам необходимо:
- зайти в настроку dns-записей и внести в зону DNS три записи:
- Для первой в качестве поддомена укажите www, выберите тип записи А, в качестве данных укажите IP адрес, к которому нужно прикрепить домен.
- Для второй записи укажите знак @ (собака) в качестве поддомена и так же выберите тип А и укажите тот же IP.
- Для третьей записи в качестве поддомена укажите знак * (звёздочку) и так же выберите тип А и укажите тот же IP.
- Нажмите «Добавить/Сохранить»
Теперь Вам нужно подождать, пока изменения вступят в силу и Ваш сайт будет открываться с этого IP адреса. Это может занять до 72 часов.
Как долго происходит изменение DNS?
Сами изменения в DNS вносятся моментально. Но в связи с тем, что провайдеры кэшируют DNS, то процесс изменения DNS по всему миру может занять время от нескольких минут до 72 часов.
Источник
Домашний хостинг сайтов с динамическим 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 сервер, варианты решения:
- Используем сервисы которые предоставляют нам DNS-хостинг
- Используем собственный 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’а, поэтому напишем скрипт который будет делать:
- Определять наш внешний IP-адрес
- Проверять изменился ли IP адрес, если не изменился, то ничего делать не надо
- Обновлять IP-адрес у всех DDNS-поддоменов через API сервиса noip.com
- Прописывать новый IP адрес в конфиг BIND’а
- Перезапускать 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 минуты. Это вполне приемлемо для меня.
Источник
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- Создаем свой сайт. Настройка DNS-зоны
Создаем свой сайт. Настройка DNS-зоны
Что такое доменное имя? Для многих это синоним адреса сайта, например, www.interface31.ru. Набирая этот адрес вы твердо уверены, что попадете именно на этот сайт, а не куда-нибудь еще. В тоже время доменное имя может обозначать не только сайт, но и сервер электронной почты, обмена короткими сообщениями или иной другой интернет и сетевой сервис. Доменные имена входят в доменные зоны, которые расположены внутри друг друга в иерархическом порядке.
В общем понимании домен — это символьное имя, позволяющее однозначно адресовать автономную область имен в сети интернет. И не только адресовать, но и позволить любому клиенту быстро найти необходимый узел, даже не имея ни малейшего представления о его размещении. Можно без преувеличения сказать, что система DNS — основа современной сети интернет в том виде, в которой мы все ее знаем и привыкли.
Система DNS является глобальной и имеет строгую иерархию. Рассмотрим следующую схему:
Домены первого уровня являются привычными нам доменными зонами и могут управляться как национальными, так и международными организациями и иметь свои условия использования. Каждая доменная зона первого уровня позволяет размещать неограниченное количество доменов второго уровня, которые знакомы каждому пользователю интернета как адреса сайтов.
В свою очередь домены второго уровня тоже являются доменными зонами и позволяют размещать в себе домены третьего уровня, в которые, как в матрешку, помещать домены четвертого, пятого и т.д. уровней. Для того, чтобы можно было однозначно определять узлы, находящиеся в разных зонах, введено понятие полностью определенное имя домена (FQDN, Fully Qualified Domain Name), которое включает в себя все имена родительских доменов в иерархии DNS. Например, для нашего сайта FQDN будет: interface31.ru. Именно так, с окончанием на точку, обозначающее корневую зону.
Это очень важный момент. В повседневном использовании завершающую точку принято отбрасывать, но в записях DNS отсутствие последней точки обозначает, что данное доменное имя принадлежит текущей доменной зоне, т.е. DNS-сервер прибавит к такому имени собственную доменную зону и все вышестоящие зоны вплоть до корня.
Например, на нашем сервере в зоне interface31.ru мы добавляем запись типа CNAME, которая будет указывать на сторонний сервер, скажем, Яндекс-почты. Правильно запись должна выглядеть так:
В данном случае имя mail не является FQDN и будет дополнено до mail.interface31.ru., если же мы забудем поставить точку в конце имени домена Яндекса, то это имя также не будет восприниматься как FQDN и должно быть дополнено до полного имени домена. Ниже показана неправильная запись:
Неподготовленным взглядом разницу заметить сложно, но вместо веб-интерфейса почты Яндекса такая конструкция отправит нас на несуществующий адрес: domain.mail.yandex.net.interface31.ru.
Еще один момент. Все записи для доменной зоны вносятся администраторами зон на собственных DNS-серверах, каким образом данные записи становятся известны системе DNS? Ведь мы же не оповещаем вышестоящие DNS-сервера, что изменили какую-либо запись.
Любая DNS-зона содержит записи только о входящих в нее узлах и дочерних зонах. Информация об узлах нижестоящей зоны хранится на ее собственных серверах. Это называется делегированием и позволяет снизить нагрузку на корневые сервера и предоставить необходимую автономию владельцам дочерних доменных зон.
Итак, вы купили домен, скажем, example.org, после чего вы должны его делегировать, т.е. указать сервера имен (DNS-сервера), которые будут содержать записи данной файловой зоны. Это могут быть как ваши собственные сервера, так и публичные сервисы, например, DNS Яндекса.
В этом случае в доменной зоне org будет добавлена запись:
Которая будет указывать, что все записи этой зоны расположены на сервере dns1.yandex.net. По правилам, каждая доменная зона должна иметь не менее двух NS-серверов, расположенных в разных подсетях. На практике часто обходятся одним сервером, приобретая для него два IP-адреса из разных диапазонов.
Теперь разберем, каким образом происходит поиск необходимой нам DNS-записи и почему запись, сделанная на вашем сервере, позволяет попасть на ваш сайт посетителям из любой точки земного шара.
Допустим, пользователь хочет посетить популярный ресурс Яндекс Маркет, он набирает в адресной строке браузера соответствующее имя сайта и нажимает кнопку Enter. Для того, чтобы отобразить пользователю содержимое страницы браузер должен отправить запрос обслуживающему сайт веб-серверу, а для этого нужно знать его IP-адрес. Поэтому браузер обращается к DNS-клиенту с целью узнать, какой адрес соответствует введенному пользователем доменному имени.
В свою очередь DNS-клиент проверяет записи в файле hosts, затем в локальном кэше и, не обнаружив там нужных записей, передает запрос указанному в сетевых настройках DNS-серверу. Скорее всего это будет локальный кэширующий DNS-прокси, например, dnsmasq или локальный DNS-сервер предприятия. Данные решения обычно не являются полноценными серверами глобальной системы DNS и не входят в нее, обслуживая только локальную зону и кэшируя DNS-запросы, поэтому такой запрос, если данных не оказывается в кэше, передается вышестоящему DNS-серверу, как правило это сервер провайдера.
Получив запрос, сервер провайдера проверит собственные записи, затем собственный кэш, и, если результат будет найден, сообщит его клиенту, в противном случае сервер вынужден будет прибегнуть к рекурсии — поиску в глобальной системе DNS. Чтобы лучше понять механизм данного процесса мы подготовили следующую схему:
Выяснив адрес сервера, отвечающего за зону ru, сервер провайдера передаст запрос ему, но данный сервер также не имеет нужных записей, но сообщит, что за зону yandex отвечает сервер ns1.yandex.ru и обязательно сообщит его адрес. Иначе рекурсию завершить не удастся, так как за зону yandex отвечает сервер, находящийся в зоне yandex. Для этого в вышестоящей зоне, кроме NS-записи об обслуживающих зону серверах имен, создается «связанная» А-запись, которая позволяет узнать адрес такого сервера.
Наконец, отправив запрос серверу, обслуживающему зону yandex, сервер провайдера получит адрес искомого домена и сообщит его клиенту. Также он поместит полученный результат в кэш на время, предусмотренное значением TTL в SOA-записи этого домена. На практике, так как рекурсивные запросы весьма затратны, время кэширования записей у провайдеров может игнорировать значения TTL домена и достигать значений от двух-четырех часов до нескольких дней или даже недели.
Теперь рассмотрим еще один момент. Запросы могут быть рекурсивными или нерекурсивными. Рекурсивный запрос предусматривает получение готового ответа, т.е. IP-адреса или сообщения что домен не существует, не делегирован и т.п. Нерекурсивный запрос предусматривает ответ только о той зоне, за которую отвечает данный сервер или возврат ошибки.
Так как рекурсивные запросы являются достаточно ресурсоемкими большинство серверов сети DNS обрабатывают рекурсивные запросы нерекурсивно. Либо могут делать это выборочно, например, DNS-сервера провайдера выполняют рекурсивные запросы только для своих клиентов, а остальные нерекурсивно.
В нашем случае клиент послал серверу провайдера рекурсивный запрос, который, в свою очередь, последовательно отправлял нерекурсивные запросы пока не нашел требуемый сервер, который дал необходимый ответ. При этом в кэш сервера провайдера помещаются не только результаты пользовательского запроса, но и результаты промежуточных запросов, что позволяет выполнять следующие такие запросы нерекурсивно или с минимальным количеством запросов.
Например, если пользователь после посещения Яндекс Маркета решит воспользоваться почтовым сервисом, то сервер сразу направит запрос к ns1.yandex.ru, так как уже знает, какой сервер содержит записи для зоны yandex.
От теории к практике
Когда вы приобретаете у регистратора домен, вам будет предложено его делегировать, т.е. указать DNS-сервера, на которых будет расположена доменная зона. Это могут быть сервера регистратора (обычно бесплатно), сервера хостера, публичные DNS-сервисы или собственные сервера имен, если он будет расположен в этой же доменной зоне, то вам потребуется также указать IP-адреса. Например, так выглядит окно делегирования домена у одного известного регистратора:
Если вы переносите сайт к другому хостеру, то вам потребуется перенести сайт и поменять у регистратора сервера имен старого хостера на сервера нового. Но учтите, что информация в кэше DNS-серверов обновляется не мгновенно, а, как минимум, по истечении значения TTL-домена, поэтому в течении некоторого времени ваш сайт может быть доступен еще по старому адресу. Если вам надо срочно с ним работать, то можете, не дожидаясь обновления DNS-кэша вашего провайдера, добавить в файл hosts запись следующего содержания:
Где 1.2.3.4 и example.com соответственно новый IP-адрес и имя вашего домена.
Если у вас свой VPS или вы хотите полностью контролировать доменную зону, то следует воспользоваться серверами регистратора или публичными сервисами. Создание собственного сервера имен, на наш взгляд, не оправдывающая себя затея, если только вы не делаете собственный хостинг.
В этом случае вам нужно создать, как минимум, две А-записи, которые будут указывать на веб-сервер обслуживающий сайт в данном домене:
Символ «собачки» в DNS-записях обозначает сам домен, кроме того обязательно следует создать запись для поддомена www, чтобы пользователи, набравшие адрес сайта с www, также могли получить к нему доступ.
Мы не будем рассматривать добавление записей для электронной почты, об этом можно прочесть в нашей статье: Почтовый сервер для начинающих. Настраиваем DNS зону.
При переносе сайта вам потребуется изменить только IP-адреса в A-записях и дождаться обновления DNS информации. Обычно, это самый неприятный момент — вроде бы все сделано, но ничего изменить вы не можете, остается только ждать. Но если выполнить некоторые рекомендации, то данный процесс можно провести максимально безболезненно и незаметно для посетителей.
Прежде всего измените значение TTL в SOA-записи. По-умолчанию оно равно нескольким часам и именно столько вам придется ждать обновления вашей записи в кэше DNS-серверов. Чтобы узнать текущее значение TTL можно выполнить команду, указав нужное доменное имя:
В нашем случае это 4 часа:
Поэтому заранее, не менее 4 часов (старое значение TTL) до планируемого переноса, измените значение TTL на более низкое, например, 900 (15 минут). Затем переведите свой сайт в режим «только чтение» и перенесите его на новый сервер. Выключать или переводить на техобслуживание сайт не следует, он может и должен оставаться доступным. Но вы должны исключить изменение и добавление информации пользователями, т.е. запретить регистрацию, комментирование, размещение заказов и т.п. Также не забудьте разместить на видном месте сообщение о технических работах и примерный срок их завершения.
Для того, чтобы работать с новым сервером, не изменяя DNS-записи, добавьте нужную строку в файл hosts. Разместив сайт на новой площадке и убедившись в его нормальной работе измените DNS-записи, теперь уже через 15 минут первые пользователи начнут посещать ваш сайт на новом сервере. Работоспособность старого сервера требуется поддерживать еще некоторое время, в идеале до недели, так как не все провайдеры используют значение TTL из SOA-записи для обновления кэша, для уменьшения нагрузки на оборудование могут быть использованы собственные настройки.
После успешного переноса значение TTL следует увеличить до прежних значений, чтобы не создавать лишней нагрузки на сервера имен.
Мы рассмотрели самую простую схему, но на практике, кроме сайта, обычно есть еще офисная сеть, многие ресурсы которой должны быть также доступны извне. Рассмотрим следующую схему:
В этом случае DNS записи зоны example.com могут выглядеть следующим образом:
Но возникает некоторая сложность, внутри сети клиенты обращаются к сетевым сервисам по внутренним именам: corp.office.example.com или rdp.office.example.com, которые указывают на внутренние «серые» адреса». Однако за пределами локальной сети разрешить IP-адрес для таких имен не представляется возможным, так как содержащей их зоны для глобальной системы DNS не существует. Выйти из положения позволяет механизм, называемый Split-DNS, который позволяет отдавать различные результаты в зависимости от положения клиента.
В локальной сети DNS-запросы клиентов обслуживает локальный сервер, которые имеет соответствующие записи, за ее пределами запросы будут направлены серверу, обслуживающему зону example.com. При этом все корпоративные ресурсы, которые в локальной сети представлены различными серверами, извне доступны по единственному адресу: office.example.com. Поэтому самое время вспомнить о записи псевдонима или CNAME. Данная запись позволяет связывать с реальным именем хоста дополнительные мнемонические имена или псевдонимы. При этом учтите, что использовать в других записях псевдонимов недопустимо. В нашем случае следует добавить записи:
Теперь клиент, вне зависимости от своего местоположения, может использовать для доступа к ресурсам одно и тоже имя, но результат получать при этом будет разный. В локальной сети он получит реальный адрес сервера и подключится напрямую, а за ее пределами будет направлен на шлюз сети.
Также записи типа CNAME можно использовать для перенаправления за пределы обслуживаемой доменной зоны. Главное условие — CNAME запись должна указывать на реальное имя в формате FQDN.
Еще одно применение псевдонимов — это сокращение адреса. Допустим, в качестве почтового сервера для всего домена example.com мы хотим использовать сервер, который расположен в московском офисе и имеет адрес mail.office.msk.example.com, согласитесь, выглядит не слишком привлекательно. Гораздо удобнее был бы адрес вида mail.example.com, нет ничего проще, добавим следующую запись:
Но помните, что в остальных ресурсных записях следует использовать только реальные имена, поэтому такая запись будет неверной:
Источник