Как перестать путаться в IP-адресах серверов

от автора

В своёй работе мне часто необходимо подключаться к серверам через SSH и по другим протоколам. Часто эти сервера не имеют доменного имени, а подключаться необходимо по IP‑адресу.
Когда этих серверов 2-3, ещё как-то запоминаешь что на каком сервере находится. Но когда их становится больше 10, то помнить что находится на xxx.xxx.xxx.115, а что на yyy.yyy.yyy.71 проблематично.

Выход есть, можно дать этим адресам локальные доменные имена.

Привет! Меня зовут Игорь, я занимаюсь разработкой в геймдеве на Unity c 2018 года.
Короткая статья о том, как упорядочить хаос из IP-адресов.

Дисклеймер.

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

Если тема заинтересует, то вы самостоятельно сможете нагуглить всё что потребуется.

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

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

  1. Поиск IP-адреса локально (в кэшах операционной системы, браузере)

  2. DNS Resolver (DNS-сервер провайдера. Если в вашей компании есть свой DNS-сервер, то сначала запрос идёт к нему, а потом уже к провайдеру)

  3. Root DNS Server (перенаправляет к другим DNS-серверам нужных доменов верхнего уровня: .ru, .com и т.д.)

  4. Top-Level Domain Server (Сервер домена верхнего уровня, резолвит конкретный домен второго уровня)

  5. Authoritative DNS-Server (Хранит точные и окончательные данные о конкретных доменах)

Как задать кастомное доменное имя

При поиске IP-адреса локально мы можем самостоятельно создать кастомные доменные имена. Для этого в операционных системах есть файл hosts.

Файл hosts содержит сопоставление IP-адреса и доменного имени.
Имеет формат: IP-адрес custom_host_name

Расположение файла hosts на разных OS:

Windows

C:\Windows\system32\drivers\etc

Mac OS

/etc

Linux

/etc

P.S. Возможно файл/путь скрыт. Открываем с правами администратора.

Что делать если по указанному пути нет файла hosts или сам путь не существует?

Погуглить

В файле можем увидеть уже знакомый нам localhost.
P.S. В некоторых ситуациях может быть не указан.

Для примера возьмём один из IP для домена ya.ru (77.88.44.242) и добавим его как кастомный хост со своим именем ya_custom_host

Моё правило именования таких хостов

Для себя я ввёл правило, что все такие хосты именую с постфиксом custom_host (пример, db_custom_host).
Чтобы случайно не потратить время на выяснение причин почему несуществующий хост перестал резолвиться.

Тут, возможно, набегут знающие люди и скажут “дык этож начальная школа”.
Да действительно, это очень простой трюк.

Зачастую наш опыт складывается из набора ситуаций “А чё так можно было?!”.
В своё время я бы не отказался, если бы кто-то подкинул такую идею.
Использую это уже много времени, делюсь этой идеей с вами.

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

Как это можно использовать ещё?

  • Задать временное доменное имя для хоста, если DNS ещё не подтянул изменения.

  • Если нужно во многих местах, то можно раскатить такой файл.

  • Для уже существующих сайтов переопределить доменное имя локально, например сделать его короче (P.S. задача со звёздочкой*).

  • Залочить доступ к определённому сайту (родительский контроль).

Варианты использования ограничиваются только вашей фантазией.

Дополнительно

Если вас тоже интересует улучшение рабочих процессов, то возможно вас заинтересуют другие мои статьи:

ссылка на оригинал статьи https://habr.com/ru/articles/1038550/