Я использую сервер Windows 2008 R2 с различными службами, работающими изначально, и двумя виртуализированными серверами, работающими на Hyper-V.
Аппаратный сервер, я назову его REAL1, имеет один внешний сетевой адаптер, которому я могу назначить любой из следующих IP-адресов: 1.2.3.4, 1.2.3.5, 1.2.3.6 и т. Д.
Мне нужно добиться следующего: я хотел бы иметь возможность подключиться к REAL1 через удаленный рабочий стол (RDP / порт 3389) на одном IP-адресе (скажем, 1.2.3.4), а также к виртуализированным серверам (я собираюсь позвонить их VIRTUAL1 и VIRTUAL2) на других доступных IP-адресах (например, 1.2.3.5 и 1.2.3.6).
Самый простой способ сделать это - подключить виртуальные серверы напрямую к внешнему интерфейсу и назначить им каждый собственный IP-адрес. REAL1 будет иметь 1.2.3.4, VIRTUAL1 будет иметь 1.2.3.5, а VIRTUAL2 будет иметь 1.2.3.6. К сожалению, хотя я не управляю двумя виртуальными серверами напрямую, я несу ответственность за их безопасность. Я хотел бы иметь какой-то брандмауэр между виртуальными серверами и Интернетом.
Я пробовал запустить брандмауэр виртуальной машины, но обнаружил, что производительность Hyper-V ужасна.
Альтернатива, которую я сейчас пробую, - это маршрутизация и удаленный доступ (RRAS):
У меня проблема в том, что когда я пытаюсь перенести службы переадресации с внешнего IP-адреса на REAL1, он работает только в том случае, если служба еще не привязана к порту. Удаленный рабочий стол «жадно» привязывается к каждому доступному IP-адресу на порту 3389 на REAL1, поэтому я не могу выборочно перенаправлять входящий трафик для 1.2.3.5:3389 на 10.1.1.2:3389. RRAS позволит мне настроить переадресацию портов, и никаких ошибок не возникнет. Это просто не работает.
Итак, у меня вопрос:
Есть ли лучший способ сделать это? Или, по крайней мере, есть способ разрешить явный конфликт между RRAS и всем остальным на физическом сервере?
Вы используете высококачественный видеоадаптер на своем сервере Hyper-V? Существует проблема с этой конфигурацией и рекомендация использовать базовые драйверы svga на серверах Hyper-V.
Понимание проблем с производительностью видео высокого класса с помощью Hyper-V
Возможный вариант решения проблемы с RDP - добавить шлюз служб терминалов на сервер Hyper-V, а затем вы сможете подключиться к виртуальной машине через сервер Hyper-V. я написал статью который описывает эту функцию в Windows 2008 Server и использует ее каждый день для доступа к моей виртуальной машине на моем лабораторном сервере.
После того, как вы включили TSG, вы можете расширить его, добавив RRAS с SSTP, чтобы добавить возможность подключения VPN в вашу домашнюю сеть на всем сервере Hyper-V.
Я не понимаю, как производительность может быть такой плохой, я бы определенно пошел с третьим виртуальным сервером, на котором есть ваш брандмауэр / удаленный доступ / публикация службы, и чтобы физический хост был чист от таких вещей.
Очевидно, лучше всего было бы вставить вторую сетевую карту в машину и выделить ее для внутренней сети, если она существует.
Если такой внутренней сети не существует, просто используйте третий виртуальный сервер с чем-то вроде TMG установлен, назначьте ему внешний IP-адрес и создайте внутреннюю частную сеть, которая является чисто виртуальной и соединяет только физический хост, два виртуальных сервера и внутренний интерфейс TMG. Используйте NAT и несколько внешних IP-адресов в TMG для публикации других серверов. Это частично защитит не только виртуальные серверы, но и физический хост.
Я пробовал запустить брандмауэр виртуальной машины, но обнаружил, что производительность Hyper-V ужасна.
А? Я использую несколько систем RRAS / Firewall с Hyper-V (2 RRAS, один TMG), и производительность действительно нормальная для 99% вещей - фактически все, о чем я забочусь.
Если вы согласны с RRAS в качестве брандмауэра, подайте иск на RRAS извне.
Вставьте вторую сетевую карту на REAL1 - не аппаратную (драйвер Microsoft - найдите его - я думаю, это называется адаптером обратной связи), затем создайте виртуальную сеть вокруг этого. Затем RRAS может пересылать туда входящие TCP-соединения и т. Д.
Я лично не стал бы запускать на физическом сервере ничего, кроме Hyper-V;) Определенно не функции более высокого уровня, если он доступен в Интернете;)