У меня есть один выделенный сервер под управлением Windows Server 2012 с одним общедоступным IP-адресом.
На этом сервере размещена виртуальная машина Linux.
Можно ли указать example.com на хост Windows и направить весь трафик, поступающий с vm.example.com, на гостевую систему Linux, или мне нужен IP-адрес аварийного переключения для этого?
На данный момент я сопоставляю некоторые порты (порт 22 - один из них) с хоста Windows на гостевой Linux, используя netsh interface portproxy
но мне было интересно, можно ли направить весь трафик в зависимости от поддомена, сохранив при этом все порты доступными на обеих машинах.
Например ftp://example.com будет указывать на ftp Windows на порту 21 и ftp://vm.example.com будет указывать на ftp Linux, также 21. Все это с одним общедоступным IP.
Обратите внимание, что у меня есть доступ только к выделенному серверу, без маршрутизаторов или чего-либо еще.
Есть ли способ добиться этого с помощью сторонней программы или без нее?
Нет, без уникального IP-адреса нет способа маршрутизировать этот трафик так, как вы хотите. DNS - это просто хороший способ представления IP.
Это нелегко сделать из-за того, как работает DNS. Когда вы запрашиваете веб-сайт, браузер включает домен, и поэтому один веб-сервер на одном IP-адресе может обслуживать несколько поддоменов.
Возможно, ваш сервер Windows IIS будет действовать как прокси для Linux-машины, но это не очень чисто.
Изменить: извините, я не видел FTP в исходном вопросе. Нет, это невозможно.
Возможно, стоит попросить вашего провайдера предоставить дополнительный IP-адрес.