Обмен технологиями

Облачные вычисления [Этап 1 (28)] Служба разрешения доменных имен DNS

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Определение и функция разрешения DNS

1.1. Определение разрешения DNS.

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

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

  • Прямое разрешение: найдите соответствующий IP-адрес по имени хоста (имени домена).
  • Обратное разрешение: найдите соответствующее имя хоста (имя домена) на основе IP-адреса.

Прямой анализ: FQDN--------IP (один ко многим) ------ обычно используется прямой анализ
Обратный анализ: IP------------FQDN

[Обратное разрешение доменных имен используется не очень часто и используется только в некоторых особых случаях, например, при проверке на защиту от спама]

Конкретно: Служба разрешения доменных имен DNS (Domain Name Svstem) — это служба, используемая для разрешения соответствия между доменными именами и P-адресами. Функционально она может реализовывать прямое и обратное разрешение.

Проще говоря:DNS используется для преобразования легко запоминающихся доменных имен и трудно запоминающихся IP-адресов друг в друга.

1.2. Роль разрешения DNS.

Легко запомнить и получить доступ: пользователи могут получать доступ к веб-сайтам через значимые и легко запоминающиеся доменные имена (например, www.example.com) вместо прямого использования сложных IP-адресов (например, 192.0.2.1).

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

Балансировка нагрузки и резервирование: Благодаря разрешению DNS несколько IP-адресов (например, балансировка нагрузки опроса или несколько записей A) могут быть предоставлены одному и тому же доменному имени для достижения балансировки нагрузки, а когда основной сервер недоступен, он может быстро переключиться на резервный сервер, чтобы обеспечить непрерывность обслуживания.

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

Улучшения безопасности и стабильности: такие технологии, как DNSSEC, могут повысить безопасность разрешения DNS, предотвратить атаки «посредника» и перехват доменных имен, а также обеспечить безопасность и надежность передачи данных.

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

Например, когда мы посещаем Baidu, мы обычно вводим адрес www.baidu.com напрямую. Фактически, мы также можем открыть Baidu, посетив его URL-адрес. Когда мы пропингуем www,baidu,com, мы получим ответный пакет с IP-адреса. Посещение этого IP-адреса эквивалентно посещению Baidu.

1.3. Распространение 13 корневых DNS-серверов по всему миру.

В мире существует всего 13 корневых серверов доменных имен (эти 13 корневых серверов доменных имен имеют названия от «А» до «М»), и 1 из них является основным корневым сервером в Соединенных Штатах. Остальные 12 — это вспомогательные корневые серверы, из которых 9 находятся в США, 2 в Европе — в Великобритании и Швеции, а 1 в Азии — в Японии.

название ассоциацииКоличество корневых DNS-серверов
ВериСайн США2 единицы
IANA (Агентство по присвоению номеров в Интернете)1 комплект
Европейская организация по управлению сетями RIPE-NCC (Координационный центр сети Resource IP Europeens)1 комплект
Американская корпорация PSINet1 комплект
Американский ISI (Институт информационных наук)1 комплект
Американский ISC (Консорциум интернет-программного обеспечения)1 комплект
Университет Мэриленда1 комплект
НАСА1 комплект
Министерство обороны США1 комплект
Научно-исследовательский институт армии США1 комплект
Норвегия NORDUnet1 комплект
План исследований Японии WIDE (широко интегрированные распределенные среды)1 комплект

Помимо этих 13 систем корневых серверов, по всему миру существует более 1000 так называемых «зеркал корневых серверов» или «кэш-серверов». Они не участвуют напрямую в обновлении данных корневой зоны, но хранят копии данных корневой зоны. Этот синтаксический анализ системы реплицируется с родительского сервера, который используется для ускорения локальных DNS-запросов.

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

Ресурсы адресов Интернет-протокола первого поколения IPV4 постепенно исчерпываются. Соединенные Штаты занимают основные ресурсы в эпоху IPv4 и обладают абсолютной монополией. Продвижение IPv6 будет способствовать равноправному развитию и диверсификации глобального Интернета и уменьшению монополии одной страны.

1.4. Протокол и номер порта, используемые DNS.

Порт по умолчанию для DNS:53 . Порты DNS делятся на TCP и UDP. Протокол DNS является протоколом прикладного уровня и обычно работает поверх протокола UDP. Udp53 — это разрешение доменных имен, главный и подчиненный сервер безопасности tcp53.

1.5. Тип DNS-сервера.

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


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

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

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

1.6. DNS-сервер

  • 114.114.114.114 — это общий DNS, используемый China Mobile, China Telecom и China Unicom, и его можно использовать как на мобильных телефонах, так и на компьютерах.
  • 8.8.8.8 — это DNS, предоставленный GOOGLE. Этот адрес является универсальным и относительно больше подходит для иностранных пользователей и пользователей, посещающих иностранные веб-сайты.
  • 223.5.5.5 и 223.6.6.6: облачный DNS Alibaba.
  • IPV6 2400:3200::1 и 2400:3200:баба::1
  • Город Нанкин, провинция Цзянсу (China Telecom) Предпочтительный DNS: 218.2.135.1 Резервный DNS: 61.147.37.1

1.7. Метод запроса

1.7.1. Рекурсивный запрос.

  • Функции : Когда клиент инициирует DNS-запрос, он отправляет запрос на DNS-сервер (обычно локальный DNS-сервер) и ожидает непосредственного получения окончательного результата запроса. Если локальный DNS-сервер не кэширует соответствующую запись, он будет инициировать запросы к другим DNS-серверам от имени клиента до тех пор, пока не будет найден ответ или не будет определено, что его невозможно найти. Весь процесс прозрачен для клиента.
  • Сценарии применения: Рекурсивный запрос является самым простым для клиента, поскольку ему не нужно заботиться о конкретном процессе запроса.Просто дождитесь результатов Вот и все. Обычно это используется для DNS-запросов, инициированных непосредственно клиентом.
  • преимущество: упрощает операции клиента и повышает эффективность запросов и удобство работы с пользователем.
  • недостаток: увеличивает нагрузку на локальный DNS-сервер, поскольку ему необходимо обрабатывать дополнительные запросы.

1.7.2. Итеративный запрос.

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

Подведем итог

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

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

2. Доменное имя

2.1. Архитектура доменного имени.

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

Доменные имена верхнего уровня (TOP Level Domain) обычно делятся на три категории:

  • 1. Национальное доменное имя верхнего уровня (nTLD). Доменные имена стран и определенных регионов, например «.cn» для Китая, «.us» для США, .uk» для Великобритании, .iq (Ирак), .ir (Иран), .jp (Япония). )
  • 2. Родовое доменное имя верхнего уровня (gTLD). Общие из них включают «.com» (компания), «.net» (организация сетевых услуг), «.org» (некоммерческая организация) и «.gov» (страна или правительственный департамент) и т. д.
  • 3. Новый родовой домен верхнего уровня (сокращенно новый gTLD) также называется новым доменным именем верхнего уровня, новым доменом верхнего уровня и т. д. Новые суффиксы доменов верхнего уровня были открыты для регистрации, когда традиционные ресурсы суффиксов доменных имен все больше истощались. Первая партия новых доменных имен верхнего уровня была одобрена ICANN в 2012 году и начала быть открытой для глобальной регистрации в 2014 году. Например, «.xin/.top/.xyz/.vip» и т. д.

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

Доменное имя: обычно идентифицируется полным доменным именем (FQDN). FQDN означает полное доменное имя.
Он может точно представлять свое положение относительно корня дерева доменов DNS, то есть полное представление узла относительно корня дерева DNS.От узла к корню дереваНаписано наоборот,
И отделите каждый узел знаком «.». Для DNS-домена google полностью формальное доменное имя (FQDN) — google.com.
Например, google — это субдомен домена com, а его метод представления — google.com, а www — это субдомен домена google и может быть представлен как www.google.com..
 

Полное доменное имя: имя, содержащее как имя хоста, так и имя домена www или xx.baidu.com.
Полное доменное имя = имя хоста + имя домена
Например: www.baidu.com.
Примечание. Первая точка должна обозначать хост, а последняя точка представляет корневой домен. Обычно ее опускают, но на самом деле она отсутствует.www.abc.com=www.abc.com.
Структура доменного имени:
http://www.sina.com.cn./
http://Имя процессора.Поддомен второго уровня. Корневой домен/.

3. Процесс разрешения доменного имени DNS

Процесс запроса прямого анализа:
① Сначала проверьте запись кэша этой машины.
②Запросить файл хостов
③Запросить сервер доменных имен DNS и передать его на сервер доменных имен DNS для обработки.
Вышеупомянутый процесс становится рекурсивным запросом: я хочу получить ответ, и вы сразу дадите мне результат.
④Этот DNS-сервер может быть локальным сервером доменных имен, а также иметь кеш. Если результат есть, он будет возвращен напрямую. Если нет, перейдите к следующему шагу.
⑤ Обратитесь за помощью к серверу корневого домена. Сервер корневого домена возвращает сервер домена верхнего уровня, который может знать результат, и просит его найти сервер домена верхнего уровня.
⑥Обратиться за помощью к серверу домена верхнего уровня. Сервер домена верхнего уровня возвращает сервер домена второго уровня, который может знать результат, а затем переходит к серверу домена второго уровня.
⑦ Обратитесь за помощью к вторичному серверу домена. Вторичный сервер домена запрашивает и обнаруживает, что это мой хост, и возвращает запрошенный IP-адрес локальному серверу доменных имен.
⑧Локальный сервер доменных имен записывает результаты в кеш, а затем возвращает клиенту соответствующую связь между именем домена и IP.

Команда системного запроса DNS-кэша Windows: ipconfig /displaydns
Команда очистки кэша DNS системы Windows: ipconfig /flushdns

Чтобы очистить кэш DNS в Linux, вам необходимо установить программное обеспечение nscd, запустить и выполнить nscd -i hosts.

4. Эксперимент по привязке серверной программы

4.1. Создание службы DNS.

bind-9.9.4-37.el7.x86_64.rpm //Предоставляет основные программы и связанные файлы службы доменных имен.
bind-utils-9.9.4-37.el7.x86_64.rpm // Предоставляет программы-инструменты тестирования для DNS-серверов, такие как nslookup и т. д.
bind-libs-9.9.4-37.el7.x86_64.rpm // Предоставляет библиотечные функции, которые необходимо использовать привязке и утилитам привязки.
bind-chroot-9.9.4-37.el7.x86_64.rpm // Предоставьте замаскированный корневой каталог для службы BIND (используйте папку /var/named/chroot/ в качестве корневого каталога службы BIND) для повышения безопасности.

bind-utils иbind-libs установлены по умолчанию, поэтому вам нужно установить только привязку и привязку-chroot.

yum установить привязать -y

Проверьте привязку rpm -qc

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

cp /etc/named.conf{,_bak}

Изменить основные файлы конфигурации

vim /etc/named.conf

Обратите внимание, что должно быть;

 

Тринадцать корневых доменов по всему миру

vim /var/named/named.ca

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

vim /etc/named.rfc1912.zones

Настройка файла данных зоны пересылки

Сохраняет разрешения исходного файла и атрибуты владельца.

Сначала сделайте копию шаблона

cd /var/named

cp -p named.localhost benet.com.zone

vim /var/named/benet.com.zone

Полеценитьописывать
ТТЛ1DВремя жизни эффективных записей разбора, 1 день
СОАbenet.com. admin.benet.com. (Первоначальная авторизационная запись с указанием технического контакта и административной информации для региона.
0Обновить серийный номер
1DВремя обновления, 1 день
1HЗадержка повторной попытки, 1 час
1 ВтСрок годности, 1 неделя
3Н)Время жизни недействительных записей парсинга — 3 часа.
НСbenet.comУкажите имя DNS-сервера текущей зоны
А192.168.80.10Запишите IP-адрес хоста (обычно IP-адрес, соответствующий имени зоны),
МХ10 mail.benet.comЗапись обмена почтой, указываем приоритет и имя почтового сервера, 10 - приоритет
А (www)192.168.80.10Запишите IP-адрес прямого разрешения www.benet.com.
А (почта)192.168.80.11Запишите IP-адрес переадресации mail.benet.com. Обратите внимание, что описание MX здесь может повторяться.
CNAME (ftp)wwwftp — это псевдоним www
А (*)192.168.80.100Разрешение пандоменных имен, любое имя хоста может быть преобразовано в 192.168.80.100.

#"@"Здесь переменная, текущее имя зоны DNS
#Серийный номер обновления в записи SOA используется для синхронизации региональных данных главного и подчиненного серверов. Когда подчиненный сервер определяет региональное обновление, если серийный номер на главном сервере совпадает с серийным номером. в локальных региональных данных загрузка производиться не будет.
# "benet.com. "Это полное доменное имя (FQDN). После него стоит знак ".", который нельзя пропустить.
#"admin.benet.com." представляет собой адрес электронной почты администратора. Символ "@" имеет и другие значения, поэтому вместо него используйте "."
#IN означает Интернет


Обратите внимание на некоторые вещи

проверить наличие ошибок

named-checkconf -z /etc/named.conf

Запустить службу
systemctl start названный

Проверять

systemctl статус назван

Отключите брандмауэр и улучшите
systemctl остановить firewalld
установить принудительно 0

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

vim /etc/resolv.conf

vim /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl перезапустить сеть

хост www.benet.com

Обратный анализ

vim /etc/named.rfc1912.zones

cd /var/named

cp -p benet.com.zone benet.com.zone.local

vim benet.com.zone.local v

systemctl перезапуск назван

Последний хост 192.168.88.79

4.2, главный-подчиненный DNS-сервер и автоматическая синхронизация

лабораторная среда:
Главный сервер: 192.168.88.19
Подчиненный сервер: 192.168.88.20

DNS сетевой карты: 192.168.88.19

хозяин

hostnamectl set-hostname dns_slaves

Баш

cp -p /etc/named.conf{,_bak}

vim /etc/named.conf

vim /etc/named.rfc1912.zones

cd /var/named

cp -p named.localhost benet.com.zone

vim benet.com.zone

systemctl start названный

включать

cp -p benet.com.zone benet.com.zone.local

vim benet.com.zone.local

исследовать

Перезапуск

systemctl перезапуск назван

Настроить подчиненный сервер

DNS сетевой карты: 192.168.88.20

Измените имя хоста [хорошая практика] hostnamectl set-hostname dns_master

Обновить баш

Резервное копирование [Хорошая привычка] cp -p /etc/named.conf{,_bak}

Отредактируйте основной файл конфигурации vim /etc/named.conf.

Отредактируйте файл конфигурации зоны vim /etc/named.rfc1912.zones.

Нет необходимости настраивать файлы данных прямой зоны и файлы данных обратной зоны.

Проверьте ls /var/named/slaves и убедитесь, что он синхронизирован.

Перезапустите службу systemctl restart name

Результат анализа хоста 192.168.88.19

4.3. Эксперимент по разделению и анализу DNS.

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

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

Главный сервер: 192.168.20.80 сетевая карта vmnet2
Веб-сервер: сетевая карта 192.168.20.80 vmnet2.
Хост клиента внешней сети: 10.0.0.101 Адрес разрешения DNS сетевой карты vmnet3 10.0.0.100

Здесь мы делаем следующее: один хост должен иметь два сегмента сети.