На моем домашнем шлюзе / маршрутизаторе у меня есть несколько служб, работающих на разных портах (SSH, IP-камера через HTTP и т.д.), Которые подключены к Интернету через переадресацию портов. Я также пользуюсь этими услугами внутри, а также в нашей домашней сети. Я хотел бы иметь возможность настроить эти подключения только один раз, скажем home.mydomain.com:9876 для нашего SSH, для внутреннего и внешнего использования, и заставить их оба работать. Но я также хотел бы, чтобы трафик оставался внутренним, если я нахожусь во внутренней сети, например, я знаю, что home.mydomain.com правильно разрешил бы изнутри внутренней сети, но я предполагаю, что он будет выходить на публичные DNS-серверы и делать этот поиск, затем подключите исходящий, затем обратно входящий, чтобы поразить маршрутизатор и правильно перенаправить порт.

Поэтому я считаю, что здесь действительно две роли: поиск DNS и переадресация портов. Как я могу хранить все это внутри, когда в нашей частной сети дома?

1 ответ1

1

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

В этом случае home.mydomain.com разрешит ваш внешний IP. Изнутри этого NAT внешний IP будет фактически ссылаться на сам маршрутизатор. Маршрутизатор выполняет преобразование адресов / переадресацию портов только на входящие соединения извне NAT. Таким образом, вы вообще не получите соединение, просто RST от маршрутизатора.

Поэтому я считаю, что здесь действительно две роли: поиск DNS и переадресация портов. Как я могу хранить все это внутри, когда в нашей частной сети дома?

Один из способов сделать это - запустить собственный преобразователь DNS с рекурсивным кэшированием (например, BIND) во внутренней сети. Сконфигурируйте все клиенты вашей внутренней сети (используя DHCP или вручную) для запроса вашего DNS-сервера вместо публичного внешнего. BIND может быть настроен в конфигурации Split DNS (см. Главу 4.4 ARM BIND). В этой конфигурации BIND будет пересылать все запросы, кроме тех, которые относятся к вашему внутреннему домену (на который он ответит внутренними адресами). Официальная зона DNS для вашего домена (где-то размещенная в Интернете) должна указывать на внешний IP-адрес вашего дома.

Когда вы home.mydomain.com на внешнем DNS-сервере, вы получите внешний IP-адрес вашего маршрутизатора (который перенаправит порт 9876 на соответствующий внутренний компьютер). Однако во внутренней сети ваш DNS-распознаватель ответит другим IP-адресом (192.168.0.x), и соединение будет установлено внутри.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .