
В своёй работе мне часто необходимо подключаться к серверам через 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-адрес не будет найден:
-
Поиск IP-адреса локально (в кэшах операционной системы, браузере)
-
DNS Resolver (DNS-сервер провайдера. Если в вашей компании есть свой DNS-сервер, то сначала запрос идёт к нему, а потом уже к провайдеру)
-
Root DNS Server (перенаправляет к другим DNS-серверам нужных доменов верхнего уровня: .ru, .com и т.д.)
-
Top-Level Domain Server (Сервер домена верхнего уровня, резолвит конкретный домен второго уровня)
-
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. задача со звёздочкой*).
Залочить доступ к определённому сайту (родительский контроль).
Варианты использования ограничиваются только вашей фантазией.
Дополнительно
Если вас тоже интересует улучшение рабочих процессов, то возможно вас заинтересуют другие мои статьи:
-
Как при помощи ведения дневника событий искать точки роста, оценивать свой результат, проводить ретроспективу и давать конкретную обратную связь:
Статья «Activity Journal. Самоорганизация и анализ рабочего времени. На что уходят рабочие часы?» -
Как с помощью код-анализа можно ускорить изучение\понимание кодовой базы:
Статья: «Unity, Roslyn и code analysis. Прикладная задача визуализации графа состояний»
ссылка на оригинал статьи https://habr.com/ru/articles/1038550/