Виртуальная IP-адресация в Citrix Presentation Server 4.0

Опубликовано: 24 Апреля, 2023


Виртуальные IP?


К этому моменту мы все сталкивались с виртуализацией того или иного вида, включая виртуальные машины, виртуализированное хранилище и даже виртуализированные приложения. Citrix Presentation Server 4.0 в редакциях Advanced и Enterprise включает функцию, известную как виртуальная IP-адресация, которую можно использовать для предоставления пользователям уникального IP-адреса для связи с сетевыми ресурсами для приложений, не допускающих множественных подключений или пользователей с одного и того же IP-адреса.. Кроме того, виртуальная IP-адресация может использоваться для предоставления приложениям, которые взаимодействуют между компонентами, с частным петлевым адресом или даже для передачи клиентского IP-адреса приложению в целях лицензирования.


Использование VIP


Совместимость


Виртуальные IP-адреса позволяют некоторым приложениям, которые невозможно запустить на Presentation Server, быть централизованными и управляемыми, как и другие приложения в среде серверных вычислений. В частности, проблематичны приложения, которые аутентифицируют пользователей, используя IP как часть маркера доступа пользователя.


FileNet, которые недавно были приобретены IBM, производят продукт под названием Content Manager, который представляет собой систему управления документами, ставшую образцом для виртуальных IP-адресов. Это приложение имеет серверную базу данных, в которой хранятся все документы, аутентифицирующие пользователей на основе их имени пользователя, пароля и IP-адреса. Это означает, что даже несмотря на то, что он будет идеально установлен и работать для одного пользователя на Presentation Server, он позволит только одному пользователю подключаться к данной базе данных с этого сервера. Если у вас нет достаточно денег, чтобы бросить каждому пользователю машину (или виртуальную машину), это означает, что FileNet Content Manager просто не подходит для Presentation Server.


С виртуальными IP-адресами это больше не проблема, так как каждый пользователь, запускающий программу, может использовать уникальный IP-адрес из пула для связи с сервером, и приложение работает должным образом. Другие приложения в том же сеансе будут продолжать использовать IP-адрес сервера, если они также не настроены на использование виртуального адреса.


Лицензионное соответствие


Есть также некоторые продукты, которые лицензируют пользователя на основе его IP-адреса в базе данных или проверяют лицензии на IP-адреса. Виртуальная IP-адресация может либо предоставить реальный IP-адрес сеансу пользователя, либо «подделать» приложение на Presentation Server, чтобы оно думало, что использует IP-адрес клиентской рабочей станции.


Аудиторская проверка


Администраторы в средах с высоким уровнем безопасности уже давно обязаны проводить аудит действий, и некоторые из них просили предоставить возможность определять, кто обращался к определенным ресурсам на серверной части. С помощью виртуальной IP-адресации процесс проверки может быть зарегистрирован, что показывает IP-адрес, назначенный конкретному сеансу на сервере, а также пользователю, использующему сеанс. Это позволяет согласовать эти события с журналами доступа к базам данных или другим серверам, которые необходимо строго контролировать.


Безопасная связь между процессами


Хотя мы не будем обсуждать это в этой статье, виртуальная петля позволяет назначать уникальный адрес обратной связи для каждого сеанса на сервере, что позволяет приложениям, которые предполагают, что адрес обратной связи является личным для пользователя, функционировать должным образом и избегать взаимодействия с компонентами. из другого сеанса пользователя.


Тестирование VIP


Теперь самое интересное! Мы рассмотрим настройку и тестирование виртуальных IP-адресов и подробно рассмотрим, как они работают и как их использовать.


Для этой цели я буду использовать три инструмента.




  • Telnet.exe — встроен в Windows и находится в каталоге system32.


  • Get IP.exe — бесплатный инструмент, который сообщает текущее имя хоста и IP-адрес. Это доступно на http://www.glynsoft.com/getip/


  • NetAppWin.exe — бесплатный инструмент, который сообщает информацию о Winsock и доступен по адресу http://support.citrix.com/article/CTX107574.

Настройка VIP


Чтобы настроить виртуальные IP-адреса, вам нужно выполнить 3 простых шага:




  1. Создайте пул IP-адресов


  2. Добавить серверы в этот пул адресов


  3. Укажите процессы, запускающие использование виртуальных IP-адресов.

Шаг 1


Это один из самых сложных вопросов для общения с сетевой командой, поэтому обязательно поговорите с ними о необходимости пула адресов и о том, что Citrix использует совершенно другое определение виртуального IP-адреса, чем они привыкли. Специалисты по сетевой инфраструктуре привыкли использовать виртуальный IP-адрес для балансировки нагрузки, когда у нас есть несколько серверов за одним IP-адресом. Мы меняем это и назначаем много IP-адресов одному серверу. Также может быть сложно получить достаточное количество IP-адресов, когда пространство IP для серверов ограничено. Если у вас есть маска подсети класса C, у вас есть только 253 доступных IP-адреса для серверов и виртуальных IP-адресов. Рекомендуется обсудить со своей командой по работе с сетью размещение серверов в сегменте с более широкой маской подсети или использование нескольких логических IP-сетей на одном или нескольких сетевых адаптерах.


На шаге 1 также очень важно убедиться, что у вас достаточно IP-адресов. Для каждого сеанса на сервере с включенными виртуальными IP-адресами требуется виртуальный IP-адрес. Это связано с тем, что они назначаются при запуске исполняемого файла, а не при запуске сеанса. Из-за этой обработки вам нужно будет заранее спланировать максимальную общую нагрузку на серверы, использующие виртуальные IP-адреса, и может быть хорошей идеей изолировать их.


Когда у нас есть пул IP-адресов, мы можем настроить адреса в консоли Presentation Server. Для этого откройте свойства узла фермы и перейдите на вкладку Конфигурация виртуального IP-адреса.



фигура 1


На этой вкладке выберите «Добавить диапазон IP-адресов» и добавьте диапазон IP-адресов, которые будут использоваться.



фигура 2


После того, как вы ввели диапазон IP-адресов, вы можете перейти к шагу 2, выбрав «да», или перейти к нему позже, выбрав «Добавить диапазон IP-адресов…?».


Шаг 2


Выберите «Добавить», чтобы добавить серверы в диапазон IP-адресов, а затем переместите сервер для использования этого виртуального диапазона IP-адресов в правую сторону и нажмите «ОК».



Рисунок 3


После их добавления обратите внимание, что счетчик можно переопределить и что по умолчанию серверам назначается равномерное распределение в зависимости от количества имеющихся у них включенных сетевых интерфейсов. Этого числа должно быть достаточно для ВСЕХ сеансов на сервере, а не только для тех, для которых требуется виртуальный IP-адрес. Это запутало достаточно администраторов, чтобы оправдать статью CTX109207 .



Рисунок 4


После того, как сервер(ы) были назначены пулу(ам), который они будут использовать, их необходимо перезагрузить, чтобы Winsock мог получить доступ к виртуальным IP-адресам. Во время тестирования и, возможно, во время производства можно также включить ведение журнала для аудита назначения и освобождения IP-адресов. Ниже расположены три бассейна. Это сделано для иллюстрации того, что сервер может быть назначен нескольким пулам и что пользователям будут последовательно назначаться адреса во всех пулах, которые находятся в любых подсетях, настроенных на сервере.



Рисунок 5


До перезагрузки IPCONFIG выглядит так:




После перезагрузки это выглядит так:




Несмотря на эти результаты в команде IPCONFIG, изучение свойств TCP/IP сетевого адаптера показывает, что фактически для этого адаптера настроен только один адрес. Остальные адреса используются только внутри сеансов ICA.



Рисунок 6


Несмотря на то, что существует три пула адресов, один из них находится в подсети, для которой на сервере нет адреса. Сеть 192.168.1.0/24 доступна, но сеть 192.168.0.0/24 недоступна, поэтому мы получили ошибку 1223 в системном журнале, указывающую на проблему. Если эта подсеть была настроена с использованием второго IP-адреса в конфигурации адаптера или на втором сетевом адаптере, этот пул также будет доступен.



Рисунок 7


Каждая сессия будет иметь событие 1221 для назначения IP-адреса и событие 1222 для выпуска в конце, обратите внимание, что идентификатор пользователя и сеанса также были зарегистрированы, что может привести к интересным возможностям аудита. К сожалению, сводная база данных Resource Manager еще не отслеживает их, поэтому необходимо использовать какой-либо метод объединения журналов. Здесь может помочь Microsoft Operations Manager. Было бы неплохо увидеть запись в таблице SDB_Session диспетчера ресурсов для виртуального IP-адреса и адреса виртуальной петли, а также, возможно, флаги в таблице SDB_Process для обозначения того, использовались ли они для процесса или нет.



Рисунок 8


Шаг 3


Последний шаг — добавить список процессов, которые будут запускать использование виртуальных IP-адресов. Это делается в свойствах фермы, вкладка Virtual IP Processes. Просто выберите «Добавить процесс…», а затем введите имя процесса для использования виртуального IP-адреса. Помните, что это будут единственные процессы, использующие виртуальный IP-адрес, и они будут назначаться только для сеансов ICA, а не сеансов RDP или консоли. Также интересно отметить, что изменения списка процессов вступают в силу немедленно и будут работать до следующего запуска приложения. Не требуется перезагрузка или создание нового сеанса.



Рисунок 9


После того как для фермы настроена виртуальная IP-адресация, ею также можно управлять на уровне отдельных серверов.



Рисунок 10


В этом примере Get IP использует виртуальный IP-адрес, а сеанс telnet — нет. Оба этих приложения используют один и тот же сеанс.



Рисунок 11


После добавления telnet.exe к процессам виртуального IP и нажатия кнопки «ОК» он использует его при следующем запуске telnet.exe в том же сеансе.



Рисунок 12


Когда пользователи подключаются к серверу, виртуальные IP-адреса назначаются по порядку. Обратите внимание, что четыре сеанса ниже имеют последовательные номера. Конечно, после того, как система поработает какое-то время, произойдет некоторая фрагментация назначения, поскольку адреса высвобождаются не по порядку.



Рисунок 13


Альтернативное использование VIP


Альтернативное использование функции виртуальной IP-адресации можно найти по адресу http://support.citrix.com/article/CTX107574, где описывается использование функций виртуального IP-адреса, позволяющее приложениям, использующим метод Winsock GetHostByName, получать IP-адрес клиента из Сеанс ICA вместо IP-адреса сервера. Это предназначено для обеспечения соответствия лицензии и/или подтверждения того, что пользователь подключен с нужной рабочей станции для доступа к приложению. Это требует ручной настройки реестра на каждом сервере, но не конфликтует с виртуальным IP-адресом, если только оба они не нужны одному и тому же процессу.


Ниже приведен пример трех сетевых приложений в одном сеансе, сообщающих о трех IP-адресах… у меня болит голова…



Рисунок 14


Виртуальная IP-адресация может решить множество проблем, от проблем совместимости до соответствия лицензии и аудита безопасности, и может быть ценным инструментом в арсенале любого администратора Presentation Server.