У меня есть 4 виртуальных машины в VirtualBox на настольном компьютере Ubuntu 17.04, который подключен к подсети MAAS.
каждая виртуальная машина настроена с использованием Apache и OpenSSH для одного из 4 доменов, которые у меня есть.
моя проблема в том, что на моем маршрутизаторе есть только один порт 80 и один порт 22, и я хочу перенаправить порты на нужную виртуальную машину запрашивающим доменом; например:
ssh user@domain1.com -> domain1.com_VM
ssh user@domain2.com -> domain2.com_VM
заранее спасибо
Это возможно для HTTP-порта 80
как HTTP/1.1
протокол имеет Host:
заголовок для определения имени хоста, то есть домена. Вам понадобится обратный прокси-сервер, который обрабатывает все подключения и использует правильную виртуальную машину в качестве внутреннего сервера на основе Host:
заголовок. Если ваш маршрутизатор не может работать как один, вы можете использовать для этого одну виртуальную машину и переадресацию портов. 80
к нему.
Для порта SSH 22
вы просто не можете сделать то же самое, потому что у протокола нет способа посредничать с именем хоста, используемым для соединения: после разрешения правильного IP-адреса из DNS для соединения используется только IP-адрес.