У меня есть настройка LAN с публичным сервером. Сервер доступен через домен example.com. Если я захожу на example.com из локальной сети, он переходит через моего интернет-провайдера. Я бы хотел, чтобы он прошел через мою локальную сеть. Файл Hosts не подходит, так как большинство компьютеров являются мобильными и будут обращаться к серверу как из локальной сети, так и через Интернет.
Вопрос в том, есть ли маршрутизаторы, способные к такому перенаправлению (недорого, до 50 евро), даже если это означает перепрошивку прошивки, например, с помощью dd-wtr, или это возможно с локальным DNS-сервером? Или есть совсем другой способ?
Вы ищете термин split dns
.
Вы запускаете внутренний DNS-сервер, который используют все клиенты локальной сети. Он имеет те же записи, что и ваш обычный внешний DNS-сервер, но для локальных систем он имеет IP-адрес LAN вместо общедоступного.
Обратной стороной разделенного DNS являются проблемы с мобильными клиентами - некоторые из них кэшируют IP-адрес локальной сети, находясь на внутреннем Wi-Fi, и когда они переключаются на общедоступное подключение к Интернету, продолжают пытаться его использовать. Мой новый сотовый телефон, кажется, очищает свой DNS-кеш при переключении соединений, поэтому для новых устройств это не проблема.
Другой вариант - включить на маршрутизаторе loopback NAT. Некоторые просто включают это по умолчанию, у других есть опция для этого. Некоторые называют это другим именем. Но в основном это заставляет ваш маршрутизатор распознавать, что запросы на его общедоступный IP-адрес должны отправляться не в Интернет, а на локальный сервер.
Обратной стороной обратной связи NAT является то, что весь трафик проходит через ваш маршрутизатор. В большинстве случаев это не проблема. Но в зависимости от того, как настроена ваша сеть и насколько мощный ваш маршрутизатор, это потенциально может вызвать проблемы.
Вероятно, это не проходит через вашего интернет-провайдера, если только что-то не настроено ужасно неправильно.
Если есть только один маршрутизатор, он знает, где находится сеть DMZ, и выбирает подходящий маршрут, чтобы добраться до сервера (прямой маршрут в случае только одного маршрутизатора).
Да, используйте локальный DNS-сервер. Это то, что делает DNS.