Это может быть довольно просто, поэтому, если вам так кажется, не думайте об этом!
Моя настройка
- Домашний сервер под управлением Hyper-V с виртуальными машинами для IIS, MSSQL и другими
- Жилое соединение с потенциально меняющимся IP-адресом, которое я сопоставил с доменом DynDNS (поэтому DNS обновляется автоматически)
- Сервер и все виртуальные машины (кроме одной) работают под управлением Windows Server 2012
- Сервер, на котором размещены виртуальные машины, настроен как DNS-сервер, и все виртуальные машины имеют как статический внутренний IP-адрес для сети (так и имя хоста - моя виртуальная машина IIS, например, iis.mydomain.com)
- Сервер находится за маршрутизатором, но может настраивать обычный (DMZ, переадресация портов и т.д.)
Сценарий
Я хотел бы иметь возможность перенаправлять трафик на все порты для **. Mydomain.com:PORT* для перехода к соответствующим образом отображенной виртуальной машине (т.е. iis.mydomain.com:PORT -> IIS_VM:PORT), которая отображается на конкретный статический IP в моей сети.
Например, я подключился к iis.mydomain.com по протоколу RDP, и он подключил меня к виртуальной машине IIS через удаленный рабочий стол из внешней сети. Я нажал на iis.mydomain.com в веб-браузере, и он загрузил соответствующий сайт, связанный с этим именем хоста на виртуальной машине IIS.
В качестве альтернативы, учитывая все вышесказанное, я могу создать mssql.mydoman.com и запустить его через удаленный рабочий стол, где он соединит меня с этой виртуальной машиной . Я мог бы также поразить это через Management Studio и заставить это соединиться.
Текущая попытка
- Настройте серверы имен, которые указывают на мой жилой IP-адрес (и динамически обновляются через DynDNS)
- Указал mydomain.com вышеупомянутым серверам имен
- Использование центрального сервера под управлением DNS для разрешения имен хостов в сети
проблема
Я могу зайти на iis.mydomain.com из-за пределов моей сети, и он разрешает IP - к сожалению, он разрешает 192.168.0.105, который является внутренним IP-адресом компьютера IIS. Это имеет смысл, потому что в диспетчере DNS это то, что я назначил имени хоста.
Итак, вопрос:
Как настроить DNS-сервер (или перенастроить текущие настройки) таким образом, чтобы изнутри к сети трафик правильно перенаправлялся на 192.168.0.105 - но вне сети он просто попадает в жилой IP-адрес?
Догадки
Я понимаю, что здесь все "работает как задумано" в том смысле, что мой DNS-сервер правильно разрешает имя хоста по указанному IP-адресу - поэтому, если бы я пытался все это в моей локальной сети, это было бы полностью функциональным. Я чувствую, что проблема заключается в маскировке внутреннего IP-адреса, когда внешняя машина подключается только к моему домашнему IP-адресу, а затем существует некоторый скрытый уровень, который преобразует запрошенное имя хоста во внутренний IP-адрес.
Судя по моим прочтениям, у меня есть подозрение, что NAT может быть тем, что я ищу, но у меня действительно нет хорошего контекста.