Как настроить siple.local в локальной сети без OpenWrt
Вы хотите, чтобы устройства в вашей локальной сети при вводе в браузере siple.local открывали сервис, работающий на сервере 192.168.0.100:3000, без указания порта. При этом у вас роутер TP‑Link Archer A64, сервер на Windows 10 Pro и 6 сервисов, которые нужно запустить локально. Смена прошивки на OpenWrt не подходит. Рассмотрим работающие решения.
Почему стандартный DNS не решает задачу
Обычный DNS (Domain Name System) преобразует доменные имена в IP-адреса, но не управляет портами. Когда вы вводите siple.local, браузер подставляет стандартный порт 80 для HTTP или 443 для HTTPS. Чтобы перенаправить запрос на порт 3000, нужен дополнительный механизм - например, обратный прокси-сервер или NAT-правила.
Решение: DNS + обратный прокси на Windows
Оптимальный способ без смены прошивки роутера - настроить локальный DNS-сервер и обратный прокси на вашем Windows Server. Это даст доступ к каждому сервису по уникальному поддомену (например, service1.siple.local, service2.siple.local) или по одному домену с разными путями.
Шаг 1. Настройка DNS-сервера
Установите роль DNS на Windows Server 10 Pro. Для этого:
- Откройте «Диспетчер серверов» → «Управление» → «Добавить роли и компоненты».
- Выберите роль DNS-сервер и установите её.
- После установки откройте оснастку DNS (dnsmgmt.msc).
- Создайте новую зону прямого просмотра с именем
siple.local. - Добавьте A-запись для
@(или*для всех поддоменов), указывающую на IP сервера192.168.0.100.
Теперь все запросы к siple.local будут направляться на ваш сервер.
Шаг 2. Настройка обратного прокси
Установите веб-сервер с поддержкой обратного прокси, например IIS с модулем URL Rewrite или Nginx для Windows. Рассмотрим IIS:
- Установите IIS через «Диспетчер серверов» (включите компонент «Веб-сервер»).
- Установите модуль URL Rewrite (скачайте с официального сайта Microsoft).
- В IIS создайте новый сайт, привязанный к порту 80 (или 443, если используете HTTPS).
- Для сайта добавьте правило перезаписи: если запрос приходит на
siple.local, перенаправляйте его наhttp://localhost:3000.
Пример правила URL Rewrite (в web.config):
<rewrite>
<rules>
<rule name="ReverseProxyInboundRule1" stopProcessing="true">
<match url="(.*)" />
<action type="Rewrite" url="http://localhost:3000/{R:1}" />
</rule>
</rules>
</rewrite>Для нескольких сервисов создайте отдельные правила по поддоменам или путям. Например, service1.siple.local → порт 3001, service2.siple.local → порт 3002 и т.д.
Шаг 3. Настройка клиентов в сети
Укажите ваш DNS-сервер как основной DNS-сервер на роутере TP‑Link Archer A64. Для этого:
- Зайдите в веб-интерфейс роутера (обычно 192.168.0.1).
- Перейдите в раздел «Сеть» → «DHCP-сервер».
- В поле «Основной DNS» укажите
192.168.0.100. - Сохраните настройки.
Теперь все устройства в сети, получающие IP от DHCP, будут использовать ваш DNS-сервер. При вводе siple.local они получат IP 192.168.0.100, а обратный прокси перенаправит запрос на нужный порт.
Альтернативный вариант: NAT Loopback на роутере
Если ваш роутер TP‑Link Archer A64 поддерживает NAT Loopback (обычно да), можно попробовать настроить проброс портов. Например, пробросить внешний порт 80 на внутренний порт 3000. Но это менее гибко для нескольких сервисов и не даёт доменных имён.
Часто задаваемые вопросы
Ниже приведены ответы на популярные вопросы по настройке локального домена и доступа к сервисам.