Назад | Перейти на главную страницу

С чего начать настройку NAT имени хоста за одним внешним IP-адресом?

Не уверен, что использую здесь правильные термины, поэтому в основном и спрашиваю (с правильными терминами я мог бы наверняка погуглить).

У меня есть «один большой сервер» с Windows 2008 с несколькими виртуальными машинами (linux, win7. Win2k8) на нем. Сервер доступен по общедоступному IP-адресу. Я хотел бы включить следующее и просто не знаю, с чего начать:

Я как бы предполагаю, что мне нужен VPN для доступа к удаленному рабочему столу, и мне нужен какой-то NAT на основе хоста или хоста + на основе протокола (если это то, что это такое).

Кажется, это уже делалось миллион раз, я просто не знаю, с чего начать, какое программное обеспечение использовать или просто для чего искать в Google. Кроме того, я боюсь, что SSL не будет работать таким образом, потому что имя хоста не отображается до рукопожатия.

В вашем вопросе действительно есть что рассказать, но я сосредоточусь на части веб-сайта SSL, поскольку у нее есть реальные ограничения, выходящие за рамки уровня навыков / знаний; имеет смысл разбить остальную часть вопроса на более мелкие части, если вам нужна конкретная помощь по настройке VPN, WebDAV, FTP и т. д.

Если вы планируете разместить только несколько веб-сайтов SSL или они будут сайтами с подстановочными знаками (например, * .example.com) и у вас есть обратный прокси-сервер впереди, то вы можете придерживаться одного общедоступного IP-адреса. Если вам нужно несколько доменов (example.com, example.net, foo.com, bar.com и т. Д.), Вы можете получить сертификат альтернативного имени субъекта (SAN) или сертификат UCC, установленный на обратном прокси-сервере. Есть удобная диаграмма в Википедии, где представлен список популярных поставщиков сертификатов и количество доменов, которые вы получаете с их предложением; Global Sign предлагает до 40 со своим сертификатом.

Также можно было прокатиться с альтернативными портами (https://vm1:443, https://vm2:444 и так далее) и соответствующие правила NAT (в брандмауэре перед виртуальными машинами), но обычно это нежелательно для общедоступных сайтов.

Теперь причина, по которой вы не можете просто позволить серверу (-ам) обрабатывать разные сайты с помощью SSL, заключается в том, как работает SSL: происходит беседа SSL (рукопожатие) перед заголовок хоста («имя хоста») отправляется от клиента и интерпретируется сервером, завершающим SSL-соединение, например веб-сервером, таким как Apache или IIS, или обратным прокси-сервером / веб-сервером, например nginx. Это связано с тем, что сервер не «знает», какой сертификат представить в этот момент, и (обычно) представляет только сертификат по умолчанию (или первый), определенный в конфигурации. Этот SSL-сертификат по умолчанию жестяная банка быть сертификатом альтернативного имени субъекта (SAN) или сертификатом с подстановочным знаком, и это может подойти для ваших нужд.

Индикация имени сервера (SNI) - это новая альтернатива (и фактически расширение протокола SSL / TLS, которое позволяет клиенту указывать заголовок хоста как часть SSL-диалога) проблеме с несколькими SSL-сайтами, но сдерживается устаревшим браузером. Население и доступно только в IE7 + (только Vista +), Firefox 2+ и т. д., поэтому может не подходить для ваших нужд, если вы ожидаете, что немытые массы поразят ваши SSL-сайты.

Поскольку похоже, что вы пытаетесь стать своего рода хостинг-провайдером (который представляет собой целую банку червей), я хотел бы получить как можно больший блок IP-адресов от моего провайдера ISP / colo, и либо прокси-ARP или физически назначить общедоступный IP-адрес виртуальной машине как часть процесса подготовки и позволить им получить свои собственные сертификаты и т. д. Все будет работать лучше без NAT и будет меньше административных издержек. Если каждая виртуальная машина будет мультитенантной (т. Е. Товарный «общий хостинг» с максимально возможным количеством сайтов, которые вы можете разместить на виртуальной машине), то вы, вероятно, сможете использовать комбинацию сертификата SAN / IP-адреса, но имейте в виду, что вы не можете просто добавлять / удалять домены из сертификата, когда захотите: вам нужно снова пройти процесс запроса / подписи сертификата, и они могут снова взимать с вас плату.

Я также был бы очень осторожен, чтобы защитить хост («один большой сервер») и, предполагая, что вы используете Hyper-V, выделите физическую сетевую карту (т.е. не включайте в качестве виртуальной сети в вашу конфигурацию Hyper-V) для удаленное управление устройством, защищенное настоящим (аппаратным) брандмауэром, и установление некоторого вида безопасного соединения (например, всегда включенного туннеля IPSec), предпочтительно на отдельном / гарантированном подключении к Интернету * или, по крайней мере, на общедоступном IP-адресе на другой блок за пределами вашего "клиентского" блока (ов) для целей ACL брандмауэра и для QoS. Я также хотел бы узнать, поддерживает ли ваш сервер IPMI (DRAC на языке Dell) и использовать его вместе с выделенным физическим сетевым адаптером как часть вашей сети управления, недоступной из общедоступного Интернета; это позволит вам получить доступ к устройству с нуля, чтобы вы могли перезагрузить его, обновить прошивку и т. д. удаленно.

* Это требование к выделенному соединению может не быть проблемой на управляемом объекте, где они, вероятно, предпримут собственные шаги для обеспечения / гарантии (с SLA) безотказной работы / пропускной способности / отказоустойчивости.

Я не пользователь Windows, но я могу дать вам правильные термины, которые вы можете использовать в Google, и узнать, как это делается в Windows.

То, что вы ищете, - это «обратный прокси», который направляет ваши сайты на локальные IP-адреса виртуальных машин. В моем случае я использовал nginx в качестве обратного прокси. Надеюсь, это поможет, дайте нам знать, если вам еще что-нибудь понадобится.