16 подписчиков

Настраиваем доменное имя для сервера в локальной сети

128 прочитали
Обложка статьи
Обложка статьи

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

Немного теории

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

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

Что дано?

компьютер в локальной сети на котором крутится несколько приложений, доступ к которым осуществляется через браузер и роутер с поддержкой dnsmasq. Тут стоит сделать оговорку что любой роутер по сути является маленьким компьютером на котором установлен Linux в том или ином виде и там присутствует стандартный набор сетевых утилит таких как dnsmasq, arp-scan и прочих. Разные производители могут предоставлять или не предоставлять доступ к настройке этих утилит. Так что если ваш роутер не позволяет настраивать отдельные компоненты сетевых утилит, то возможно поможет установка кастомной прошивки.

Как это реализовать?

Изначально я пытался настроить dnsmasq на своем сервере, чтобы он выступал в качестве dns-сервера и весь трафик проходил через него, но переодически это негативно сказывалось на работе сети, а в случае когда сервер не подключен к роутеру (например при плановом обслуживании) Дом оставался без интернета, поэтому от подобной затеи решено было отказаться. Это я уже молчу про конфликт зависимостей Home assistant и dns-серверов на одной машине.

Я использую роутер Xiaomi с кастомной прошивкой на базе Padavan, так как стоковые прошивки работают сильно хуже. Итак чтобы настроить доменное имя, нам в первую очередь нужно добраться до файлов dnsmasq.conf и hosts.

В Padavan это можно сделать перейдя в «дополнительно» -> «DHCP-сервер».

И здесь мы увидим, что у нас есть возможность редактировать заветный файл прямо из админки роутера.

Совсем спонтанная статья, сделал себе давно домен для сервера в локальной сети, посмотрел у коллег по цеху и был удивлен, что никто не описывает ничего подобного.-3

Нам достаточно добавить в файл dnsmasq.conf строчку:

address=/home.lan/192.168.1.205

В файл hosts нужно внести следущую строку:

192.168.1.205 home.lan

Вместо home.lan можно указать любое имя сайта и домен, например - vasya.exe. Важно - не забудьте поменять ip адрес на адрес вашего устройства и не используйте существующие домены (com, ru, by и другие) во избежание неполадок.


Теперь мы можем обращаться к серверу не по ip адресу, а используя доменное имя home.lan. Дополнительно мы можем использовать любые поддомены и сервер будет их обрабатывать, главное правильно настроить маршртизацию трафика уже на смом сервере, об этом расскажу в обозримом будущем. Доступ к home assistant теперь можно получить по ссылке home.lan:8123.

Совсем спонтанная статья, сделал себе давно домен для сервера в локальной сети, посмотрел у коллег по цеху и был удивлен, что никто не описывает ничего подобного.-4