Создание терминальной фермы RDS с использованием технологии NLB и публикация RD Web Access на ISA Server 2006

    Итак, мы хотим добиться балансировки нагрузки на наши терминальные сервера, их отказоустойчивость, или же хотим добавить к уже имеющемуся терминальному серверу второй для увеличения производительности сервиса. В моем примере я буду реализовывать следующую схему:


    Как мы видим, для реализации такой схемы нам понадобится три сервера. Причем, роль Брокера можно установить на уже имеющийся у нас сервер, например, на файловый или сервер печати. Для наглядности назовем наши сервера следующим образом:



    Как мы видим, имя нашего домена – domain.local. Для доступа к терминальным службам снаружи будет использоваться доменное имя domain.ru. Таким образом, в нашем DNS домена domain.local нам необходимо будет создать дополнительную зону с именем domain.ru, где мы потом создадим запись RDS.domain.ru, которая будет ссылаться на IP адрес терминальной фермы.

    1. Установка терминальных служб на сервер RDS1.



    1.1 Добавляем роли «Службы удаленных рабочих столов» (Remote Desktop Services) и «Службы политики сети и доступа» (Network Policy and Access Services). Выбираем для установки следующие службы ролей:


    — Узел сеансов удаленных рабочих столов (Remote Desktop Session Host)

    — Шлюз удаленных рабочих столов (Remote Desktop Gateway)

    — Веб-доступ к удаленным рабочим столам (Remote Desktop Web Access)

    — Сервер политики сети (NPS)

    При установке служб ставим галочку «Require NLA», остальные настройки сконфигурим позже. Перезагружаем сервер при первом же требовании.

    1.2 Создадим в ДНС нашего домена запись RDFarm.domain.local, которой присвоим IP адрес 192.168.0.80. Это будет внутренний адрес нашей фермы, а также адрес кластера NLB.


    1.3 Создадим в ДНС зоне domain.ru нашего домена запись RDS.domain.ru, которой присвоим тот же IP адрес, что и адрес кластера — 192.168.0.80. Это будет внешний адрес нашей фермы, через который будут заходить удаленные пользователи.


    1.4 Заходим в оснастку Remote Desktop Services – RemoteApp Manager – RD Gateway и настраиваем параметры следующим образом:




    На закладке Digital Signature указываем сертификат, который надо предварительно запросить. Для выполнения этого шага в вашем домене должен быть центр сертификации (CA). На сервере RDS1 запустите mmc и добавьте оснастку Certificates (computer account):











    После получения сертификата экспортируйте его в pfx-файл – он нам понадобится для настройки второго сервера.

    Теперь на закладке Digital Signature мы можем указать наш сертификат:



    1.5 Заходим в оснастку Remote Desktop Services – RemoteApp Manager и в разделе RemoteApp Programs и добавим одно удаленное приложение. Пусть это будет калькулятор.




    Нажмем кнопку «Properties» и добавим в список пользователей, которые смогут запускать наш Калькулятор, группу rd_users.



    1.6 Заходим в оснастку Remote Desktop Services – RD Gateway Manager и настраиваем свойства RDS1 (Local). Но перед этим необходимо запросить еще один сертификат (см. пункт 1.4), но на сей раз с Common Name внешнего адреса – RDS.domain.ru.






    На закладке Private Key не забудьте указать, что ключ может быть экспортирован.

    После получения сертификата экспортируйте его в pfx-файл – он нам понадобится для настройки второго сервера.

    Теперь указываем этот сертификат в свойствах нашего шлюза удаленных рабочих столов:



    Переходим на закладку Server Farm, где добавим наш сервер RDS1 в ферму шлюзов:



    Обратите внимание, что на данном этапе поле статус не обязательно должно иметь состояние «ОК».

    1.7 Заходим в оснастку Remote Desktop Services – RD Gateway Manager — RDS1 (Local) – Policies – Connection Authorization Policies и создаем политику авторизации подключений при помощи мастера:




    Добавим в список авторизованных для подключения пользователей группу rdg_users, куда включим всех тех, кому надо получить доступ к терминальным сервисам.



    1.8 Заходим в оснастку Remote Desktop Services – RD Gateway Manager — RDS1 (Local) – Policies – Resource Authorization Policies и создаем политику авторизации приложений минуя мастер (Create New Policy – Custom):










    1.9 Заходим в оснастку Remote Desktop Services – RD Session Host Configuration и настраиваем свойства подключения RDP-Tcp следующим образом:




    Нажимаем на кнопку «Select» и указываем сертификат с Common Name нашей фермы – RDFarm.domain.local (он уже был установлен на сервер в пункте 1.4).



    Остальные параметры не настраиваем.

    Здесь же, в RD Session Host Configuration, настраиваем параметры лицензирования.



    1.10 Для проверки правильности настройки приложения RemoteApp заходим на адрес localhost/RDWeb


    2. Установка терминальных служб на сервер RDS2.



    2.1 Добавляем роли «Службы удаленных рабочих столов» (Remote Desktop Services) и «Службы политики сети и доступа» (Network Policy and Access Services). Выбираем для установки следующие службы ролей:


    — Узел сеансов удаленных рабочих столов (Remote Desktop Session Host)

    — Шлюз удаленных рабочих столов (Remote Desktop Gateway)

    — Веб-доступ к удаленным рабочим столам (Remote Desktop Web Access)

    — Сервер политики сети (NPS)

    При установке служб ставим галочку «Require NLA», остальные настройки сконфигурим позже. Перезагружаем сервер при первом же требовании.

    2.2 Настраиваем второй сервер RDS2 точно таким же образом, как и настроен наш первый сервер за исключением того, что сертификаты уже запрашивать не нужно – их надо импортировать с сервера RDS1. Для импортирования сертификатов запустите mmc и добавьте оснастку Certificates (computer account):






    Укажите путь к pfx файлам, содержащим сертификаты, и импортируйте их в личные сертификаты компьютера RDS2.

    3. Создание и конфигурирование терминальной фермы.



    3.1 Устанавливаем роль RD Connection Broker на сервер BROKER.

    3.2 Добавляем сервера RDS1 и RDS2 в локальную группу Session Broker Computers на сервере BROKER.

    3.3 Добавляем все наши три сервера в локальную группу TS Web Access Computers на серверах RDS1 и RDS2

    3.4 На сервере BROKER добавляем наши сервера RDS1 и RDS2 в группу RD Web Access (Admin Tools > Remote Desktop Services > Remote Desktop Connection Manager > Add RD Web Access Server).

    3.5 Сперва на сервере RDS1, а затем и на RDS2, заходим в Remote Desktop Services > Remote Desktop Session Host Configuration и меняем настройки RD Connection Broker:




    3.6 Настраиваем удаленные приложения RemoteApp на работу с нашей фермой. Для этого на серверах RDS1 и RDS2 заходим в Remote Desktop Services > RemoteApp Manager и меняем параметр Server Name:




    3.7 На сервере BROKER идем в Remote Desktop Services > Remote Desktop Connection Manager > RemoteApp Sources и жмем кнопку «Add RemoteApp Source…»:




    Добавляем все наши возможные ресурсы RemoteApp: RDFarm.domain.local, RDS1.domain.local, RDS2.domain.local и RDS.domain.ru.

    3.8 Создаем кластер NLB.



    3.8.1 Устанавливаем компонент Network Load Balancing на сервера RDS1 и RDS2. Далее открываем оснастку Network Load Balancing Manager на сервере RDS1 и создаем кластер:










    Включаем в балансировку только 443 и 3389 TCP порты.



    3.8.2 Добавляем второй компьютер (RDS2) в NLB кластер

    3.9 Удостоверяемся, что на серверах RDS1 и RDS2, в свойствах сервера RD Gateway Manager на закладке Server Farm указаны оба наших сервера:




    3.10 На серверах RDS1 и RDS2 заходим в оснастку IIS Manager, далее Sites – Default Web Site – RDWeb – Pages и справа жмем Application Settings, где присваиваем параметру DefaultTSGateway значение RDS.domain.ru:




    4. Публикация фермы RemoteApp приложений на ISA Server.



    Вначале необходимо установить наш сертификат с Common Name «RDS.domain.ru» на ISA сервер (сделать это можно так же, как в случае с сервером RDS2, когда мы переносили на него сертификат с RDS1).

    Этот раздел я не буду рассматривать слишком подробно, а обойдусь лишь наиболее важными скриншотами с настройками правила публикации и созданием WEB-прослушивателя:































    Спасибо за внимание.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 53
    • +1
      Скринов как-то многовато… Аж в глазах рябит. Текста бы побольше, а где кликать Next — можно и так найти.
      • 0
        Инструкция эта по шаговая, поэтому так много картинок, у многих сложная информация через изображение воспринимается лучше.
        • 0
          Мое ИМХО — бОльшую ценность имеют статьи, где объясняется, как делать и почему надо делать именно так, а не иначе, и обязательно — с рассказом о подводных камнях, которые наверняка есть. Картинки, конечно, нужны, но лучше пусть их будет меньше, чем текста ;)

          А таких пошаговых интсрукций — в интернете и так полно. Могу посоветовать записать вебкаст, например, для TechDays.ru — там как раз будет в тему.
          • 0
            я когда искал — не нашел именно то что мне надо.
            Кому нужно разобраться капитально в данной проблеме — пусть разбираются, а кому надо сделать это — сделают легко и быстро прям по инструкции.
            • 0
              Мне хватило пачки документов технета и советов от знакомых mvp при разворачивании фермы.
              но возникло косяков, не описанных там, и из этого документа узнал кое что новое.
              так что я за «больше вкусных советов и полезной документации»
              видимо, когда поборю все косяки, сам напишу по результатам пару строк
          • 0
            Согласен полностью. От букафф рябит уже. На картинке куда быстрее воспринимается.
        • 0
          Без сертификатов и ISA взлетит?
          • 0
            Да
            • 0
              Для конкретики напишите что конкретно имеется ввиду?
              • 0
                Есть у меня терминальный сервак, который набирает важность. Вот думаю тоже чтоли запилить отказоустойчивость, но не использую ISA и не вижу нужды в сертификатах.
            • 0
              А черносерый текст поправьте.
              • 0
                ОС на серверах, я так понимаю, 2008?
                • 0
                  2008R2
                  • 0
                    3 виндовых сервака — это по 25р на каждый китай-ПК + 25к за лицензию винды, плюс иса, плюс что-нибудь еще.
                    Начинаю понимать суть пингвиникса.
                    • –1
                      Это еще что — вот все кластерный решения MS там за реализацию намного больше нужно, все зависит от задач.
                      • 0
                        И где это Failover Clustering отдельно лицензируется? Он в бесплатном Server Core даже есть.
                      • +2
                        И в чём суть? :) Такое решение нужно пользователей минимум под сто, неужто компания с сотней сотрудников не найдёт 150 тысяч? Да аренда недорогого офиса обойдётся тысяч в двести минимум на такую банду, плюс каждому надо поставить мебель/телефон/компьютер, так что эти суммы на сервер просто копейки на фоне общих затрат.
                        • –1
                          Опять тратишь деньги на программы, огромные деньги. Экономить надо! Вот камеру опять купил, целых 650 рублей, экономить надо, зачем им камера. Экономить надо, опять что-то купил, куда тебе, зачем тебе.
                          Блядь наболело.
                          • 0
                            Эм, простите, я не понял =) Если это мнение того, кто выделяет деньги, то есть два варианта — либо ему действительно не понятно на что тратятся деньги и они не выделяются, в этом случае нужно объяснять и выбивать; либо это просто автоматическая позиция — побурчать и деньги всё-таки выделяются, тогда это нужно просто игнорировать и не париться.
                            • –1
                              Я игнорирую, но меня это сильно напрягает.
                      • 0
                        Хм, у меня в своё время иса отказалась ставится на 2008р2, сказав что система 64-битная. Как у вас получилось?
                        • +1
                          Я думаю 2008R2 — это сами сервера фермы. Сейчас логичнее использовать TMG вообще, цифра 2006 для ISA намекает.
                          • –1
                            ISA 2006 живёт на 64-битном Windows Server 2008 R2.
                      • +1
                        А почему в примере ИСА2006? Есть какие-то особенности настройки подобного случая по сравнению с TMG?
                      • 0
                        Действительно разницы между TMG и ISA в данном случае нет. Реализовывал похожую задачу на TMG, проблем не возникло.
                        • 0
                          Вот из-за этого обилия дружественных интерфейсов я и перешел на Linux… Не в обиду автору, статья полезная.
                          • 0
                            если совсем честно, то я предпочитаю программно аппаратные комплексы использовать везде где можно, но не всегда это возможно, экон. целесообразно или востребовано.
                          • 0
                            А Как боролись сошибкой подключения клиентов через опубликованные WebApp?
                            у меня сначала RDP клиент опубликованный не запускался, потом конкретные приложения — Ворд, Ексель, 1С. пишет ошибка и всё.
                            • 0
                              конкретно объясните проблему, а то уж как-то размывчато всё.
                              • 0
                                «Не удается подключиться к удаленному компьютеру, так как на нём произошла ошибка. Обратитесь к администратору». W7 SP1. Такая же ошибка была при подключении через шлюз RDP с ХР обычным рдп клиентом, но там помог credssp хотфикс.
                                а с WebApp сейчас нормально запускается только RDP клиент, запуск опубликованного ворда/екселя, 1С не работает.
                                может это, как раз потому что в св-вах IIS не стоит указанная Вами настройка на TSGateway?
                                • 0
                                  Кстати, такая описываниемая Вами настройка есть не только на верхнем уровне Pages, но и ниже, в категории rdp. какую из них стоит прописывать?
                                  • 0
                                    В свойствах удаленного приложения RemoteApp (в вашем случае 1С или Ворд) указаны пользователи или группы, которым должны быть видны эти приложения? И вообще — они видны? Если да, то что происходит, когда пользователь пытается запустить приложение?
                                    • 0
                                      пользователю опубликованные приложения видны, и даже в какой-то момент вчера они запускались без ошибок. сейчас опубликованный клиент rdp запускается нормально, а ворд, ексель вылетают с ошибкой «не удается подключиться к удаленному компьютеру, так как на нем произошла ошибка, обратитесь к администратору».
                                      в какой лог смотреть — я уже не знаю…
                                      • 0
                                        лог TerminalServices-Gateway, который находится в Applications and Services Logs — Microsoft — Windows
                                        • 0
                                          сначала шлюз. посмотрю, спасибо
                                          • 0
                                            при попытке воспользоваться webapp возникает ошибка. но на шлюзе её нет :(
                                            видимо надо смотреть логи всей фермы :(
                                        • 0
                                          что под административной учтеной записью, что под обычным пользователем приложения видны, но вылетает ошибка как в соседнем моем комментарии
                                  • 0
                                    И все-таки — озвучьте пожалуйста ориентировочную стоимость терминальных лицнензий, требуемых для такого решения. Реально интересно, особенно в отсутствие подписки уровня предприятия.
                                    Кстати, как на альтернативу можно посмотреть на ulteo.com
                                    • 0
                                      лицензированием не занимаюсь, а голословным быть не хочу.
                                      • 0
                                        закупками лицензий занимается специальный человек. Вобщем, нужна лицензия на самую серверную ось (Windows 2008R2 Standard) + CAL-лицензии на каждое терминальное подключение. Возможно лицензирование на пользователя и на устройство, и конечно лицензия на ОС, установленную на клиентском компьютере (windows XP или Windows 7)
                                        • 0
                                          В чём проблема для вас лично запросить у ближайшего к вам продавца софтом? Или хотя бы у яндекса?
                                          • 0
                                            Просто у этого _конкретного_ решения есть вполне конкретная стоимость, включая стоимость аппаратуры и лицензий.Эту стоимость извлечь из ответов дилеров и яндекса весьма сложно — не факт, что их ответы будут относиться к _этому конкретному_ решению.
                                            Я предполагал, что оформляя такое решение, предлагающий все-таки как-то измерял именно его цену.
                                            Думая не просто как сисадмин, а все-таки как некоторый начальник IT, я должен финансово обосновать свои затраты на приобретение и установку такого решения, а также показать альтернативные варианты.
                                            • 0
                                              Просто тут абстрактная схема решения приведена, некое хау-ту по которому можно настроить такого рода схему. Конкретная цена может отличаться в разы. Нужно знать задачу: сколько пользователей, какой уровень надёжности и отказоустойчивости и т.д. Если интересно — можем прямо тут обсудить.
                                              • 0
                                                Интересно:
                                                — минимальная стоимость такого решения на минимальное количество человек
                                                — требуемость «интернет аксесс CAL» каких-то дорогих — для доступа из Internet. И цена таких CAL — если они нужны.
                                                • +1
                                                  В конфигурации, как представлено в статье, приблизительная стоимость на 100 пользователей:
                                                  Windows Server 2008 R2 Standard — 4 шт. (~700$)
                                                  RDS CAL per User/per Device — 100 шт. (~85$)
                                                  Microsoft Forefront Threat Management Gateway 2010 Standard — 1 шт (1500$)

                                                  Сервер HP Proliant DL160 G6 для терминальных серверов — 2 шт (3000$)
                                                  Сервер HP Proliant DL160 G6 для TMG и Connection Broker — 2 шт (2000$)

                                                  Тонкий клиент Wyse C90LEW — 100 штук (400$)
                                                  Монитор, клавиатура — 100 штук (150$)

                                                  В сумме получается 77800$ без учета работ и других лицензий (например, на серверы контроллеры домена или Windows Server CAL), порядка 778$ на пользователя. При желании — можно сэкономить, купив более дешевые тонкие клиенты и серверы, или используя существующие компьютеры пользователей.
                                                  • 0
                                                    А можете пояснить в чем преимущества такого решения перед персональными ПК?

                                                    Я делал терминальную сеть (что-то около 50-ти тонких клиентов), но там сами тонкие клиенты стоили по 200-250$ и их прекрасно вытягивает один Dual Xeon 5620 + 24Gb RAM.
                                                    • 0
                                                      какой модели железки брали, кстати?
                                                      у меня у товарища в конторе сплошь нетбуки + внешние мониторы и весь софт рабочий в облаке…
                                                    • 0
                                                      Преимущества перед ПК очевидны:
                                                      -Централизованное управление, установка и обновление приложений.
                                                      -Хранение профилей и документов пользователей в одном месте.
                                                      -Возможность удаленного доступа к программам и документам без организации VPN в том числе с мобильных устройств.
                                                      -Меньше административная нагрузка на персонал, связанная с обслуживанием рабочих мест, быстрее развертывание новых рабочих мест пользователей.
                                                      -При желании и наличии финансовых возможностей — большая надежность и отказоустойчивость решения.
                                                  • 0
                                                    Выше отличный расчёт, на всю схему которая в начале статьи и сто пользователей. Интернет аксесс CAL требуется только в том случае если вы хотите опубликовать терминальный сервер для неограниченного круга пользователей, стоят они заоблачно
                                          • 0
                                            А вот как быть с тем, что RDFarm не имеет учётной записи в AD и добавить её в группы Session Broker и TS Web Access Computers не получится. Я понимаю, что всё работает и без этого, но вот ошибки в журналах связанные с такой настройкой расстраивают.
                                            • 0
                                              а зачем ферме учетка в ад?
                                              TS GW умеет как брать группу RDP серверов из ада, так и контролировать ее самостоятельно.
                                              АД там вообще в принципе необязателен, но через ад проще авторизовывать и по gpo раздавать нужные сертификаты

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.