Проблема:
Я планирую установить несколько виртуализированных гостевых компьютеров centos, rhel или ubuntu на одном хост-сервере centos (скорее всего, с использованием KVM). На каждой гостевой виртуальной машине запущен экземпляр веб-приложения + некоторые другие службы / протоколы, и каждая гостевая виртуальная машина должна быть доступна извне хоста на любом открытом порту, как если бы каждая из них представляла собой отдельную коробку DNSed.
Я (очевидно) слаб в сетевой технологии / конфигурации, поэтому я просто пытаюсь найти первые грани этой проблемы, т.е. основные подходы, которые мне нужно изучить, чтобы закрепиться на этом. Сетевой конфиг "псевдокод", если хотите. :)
Пример:
Допустим, мне принадлежит домен foo.com.
У меня есть физическая машина CentOS, DNSed как guest.foo.com.
На этом физическом хосте у меня работает три виртуальные машины. Я хочу, чтобы гостевые виртуальные машины были доступны как 1.ghest.foo.com, 2.ghest.foo.com и 3.ghest.foo.com. Гостевые виртуальные машины работают с дистрибутивами centos, rhel и ubuntu.
Каждая виртуальная машина должна отвечать на любой (локально открытый) порт, не только http-трафик, но также соединения ssh и операции протокола git :.
С чего начать, какой самый элегантный подход? Что примерно нужно, чтобы хозяин и гости, как минимум, должны быть настроены для того, чтобы это работало хорошо?
Примечание:
Я обновлю текст вопроса + комментарии, когда узнаю больше.