и спасибо за ваш вклад.
Что я хочу сделать: Я хочу разместить некоторые приложения для Интернета и электронной почты, например, для себя и двух клиентов на одном статическом IP-адресе, в первую очередь для обучения и, возможно, для рассмотрения некоторого ограниченного хостинга для пары долгосрочных клиентов с небольшим количеством пользователей.
Что у меня есть Я работаю на XenServer Xeon с 32 ГБ ОЗУ, при подключении 100 МБ, но с одним статическим IP-адресом.
Что я пытаюсь понять Я хочу поэкспериментировать с настройкой нескольких виртуальных машин на xenserver, например, под управлением IBM Lotus Domino (здесь используется несколько портов) 80, 25, 1352. Поэтому мне нужно выяснить, как перенаправить трафик на соответствующий сервер на основе доменного имени. Так например
Один внешний IP-адрес WAN -> domain1.com:80 -> VM1: 80 Один внешний IP-адрес WAN -> domain1.com:1352 -> VM1: 1352
Один внешний IP-адрес WAN -> domain2.com:80 -> VM2: 80 Один внешний IP-адрес WAN -> domain2.com:1352 -> VM2: 1352
Один внешний IP-адрес WAN -> domain3.com:80 -> VM3: 80 (Запуск Cpanel для веб-хостинга)
Я понимаю, что обратный прокси может быть подходящим вариантом. NGINX или POUND, но похоже, что это только для веб-приложений, а не для других приложений. Я также наткнулся на Citrix Netscaler и совершенно запутался. Я также как бы видел использование DD-WRT iptables или чего-то подобного. Просто должен быть способ сделать это. Буду признателен за любой вклад. Наверняка кто-то где-то этим занимается.
Я открыт для маршрутизаторов, настраиваемых или других, или виртуальных устройств или других, но мне бы понравилось что-то программное обеспечение на основе виртуального устройства или чего-то еще. Любые идеи?
Спасибо
Шейн
Прежде всего, рекомендуется настроить IPv6 и направить / 60 на каждую виртуальную машину. Таким образом, пользователи, использующие IPv6, не будут испытывать никаких проблем, связанных с проксированием, поскольку их трафик будет направляться непосредственно на желаемый хост.
Кроме того, наличие IPv6 на виртуальных машинах дает вам адрес для прокси-трафика, что в некоторых настройках будет проще, потому что прокси может полагаться на DNS для поиска серверной части.
Обратный прокси - это путь для HTTP-трафика. Обратный прокси-сервер также может обрабатывать трафик HTTPS, если и клиент, и прокси-сервер поддерживают SNI. Это будет работать, даже если веб-сервер не поддерживает SNI. Это не обязательно должно быть ограничено портами 80 и 443. Прокси-сервер может быть настроен для приема трафика на произвольных портах.
SMTP можно обрабатывать, установив почтовый ретранслятор на адрес IPv4. Необходимо соблюдать осторожность, чтобы не допустить злоупотреблений для рассылки спама. Я рекомендую настроить такое правило брандмауэра, чтобы реле не могло подключаться к внешним SMTP-серверам. Брандмауэр может разрешать SMTP-подключения извне к ретранслятору, от ретранслятора через IPv6 к виртуальным машинам и от виртуальных машин к внешнему миру как IPv6 или как IPv4, который, очевидно, должен проходить через NAT.
DNS в принципе может поддерживаться, но я не знаю, реализовал ли кто-нибудь его поддержку.
Если у вас есть в виду другие конкретные протоколы, я был бы рад предоставить предложения относительно их поддержки. Я не знаю никаких других протоколов, которые отправляют доменное имя достаточно рано, чтобы такой интерфейс мог отправлять на основе доменного имени, но я хотел бы узнать о других.
Я реализовал один я такой интерфейс, но пока только HTTP и HTTPS, которые, безусловно, являются самыми простыми протоколами для поддержки.
Поэтому мне нужно выяснить, как перенаправить трафик на соответствующий сервер на основе доменного имени.
Это невозможно, если нет спецификации прикладного уровня (например, HTTP-заголовка Host). Без этого IP-адреса ничего не известно о DNS, поэтому вы не можете пересылать по нему.
Посмотрите на этот по существу аналогичный вопрос из на днях: я могу использовать DNS с частными адресами NAT?