Есть Windows Server, на котором через Hyper-V установлены 2 виртуальные машины. Ubuntu и Ubuntu Server.
Роутер не умеет открывать один и тот же порт на разные IP, потому хочу открыть порты 80(для домена) и 22(SSH) для Ununtu Server.
Как это можно сделать? Не понимаю как правильно настроить apache2 и SSH, reverseProxy.
На VM стоят apache2 и SSH open server и в целом всё работает, если прокидывать порты отдельно, но работает, только что то одно.
Илья лук, Как крайняя мера, если в тупик зайду, Mikrotik какой нибудь выйдет в 20к где то. Это же не обычный домашний роутер, но если вы такой знаете, напишите, пожалуйста.
Для правильного вопроса надо знать половину ответа
Одновременно один порт можно пробросить только на один адрес. Для HTTP(s) это решается через reverse proxy на том сервере, на который проброшен порт. Для SSH надо пробрасывать отдельный порт на каждый из адресов, например, внешний_IP:22 на внутренний_IP_1:22 и внешний_IP:2222 на внутренний_IP_2:22.
То есть не получится кинуть в роутере порты на 192.168.1.33(Хост) и раздать на VM? Подскажите. пожалуйста, через что проще всего пробрасывать порт 22?
apache2 который стоит, это как раз reverse proxy я так понимаю?
Valentin Barbolin, Ubuntu Server это Виртуальная машина, получается всё будет идти через неё? Я не сильный сис админ, пока справляюсь силами GPT и гугла)
Zerg89, А разве ssh передаёт домененое имя при установке соединения? ЕМНИП, реверс-прокси ssh в nginx всё равно потребует разные порты для разных конечных серверов.
Zerg89, А я смогу настроить один порт на разные поддомены? У меня один поддомен привязан к VM Ubuntu, а другой поддомен для Ubuntu Server. IP адрес же получается тоже один у всего этого дела.
NoNameCast, В HTTP(s) сможете. Доменное имя сервера есть в запросе HTTP или в заголовке соединения HTTPs (SNI). По этому имени реверс-прокси перенаправляет запрос на соответствующий сервер.
Для протоколов, где доменное имя не передаётся, только разносить на разные входящие порты.
Zerg89, Подскажите, пожалуйста, в инструкции, что вы скинули используется /etc/httpd/conf.d, этот файл и папку необходимо создать или сейчас в современных версиях всё настраивается через apache2.conf в /etc/apache2 ? Дело в том, что я не нашёл эту директорию и в интернете многие советуют использовать apache2.conf
Господи, сколько боли от неправильно придуманной задачи... Просто разнесите VM-ки на разные IP, и всё. VM-ки должны отличаться даже от IP самого Windows Server-а, ну!