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

Маршрутизация в кластер служб терминалов

Я пытаюсь подключиться к кластеру Windows 2008 R2 со сбалансированной нагрузкой с помощью служб удаленных рабочих столов. У меня нет проблем с подключением к IP-адресам серверов (.253.16 и .253.17) или к адресу кластера (.253.20) изнутри подсети (.253).

Проблема в том, что я пытаюсь подключиться из другой подсети (.251). Я могу без проблем удаленно подключаться к другим некластеризованным серверам (.253.12 и .253.15) внутри подсети .253 из .251. Я получаю ответ ping от кластера и других серверов, когда нахожусь в подсети .251. Но когда я пытаюсь подключиться через удаленный рабочий стол, время ожидания истекает, но только для любого из IP-адресов в кластере (.20, .17, .16).

Мой ASA 5510 обрабатывает сообщение отчетов о маршрутизации в журнале: Deny TCP (no connection) from 192.168.251.2/4283 to 192.168.253.16/3389 flag FIN PSH ACK

Обновление: похоже, что если у меня один хост не работает, он работает.

Сообщение об ошибке, которое вы описываете, показывает, как выполняется проверка пакетов ASA с отслеживанием состояния. «Нет соединения» означает именно это: ASA не имеет записи в своей таблице соединений для TCP-соединения между 192.168.251.2:4283 и 192.168.253.16:3389.

Я бы настроил захват следующим образом:

asa(config)# access-list RDPcap permit tcp host 192.168.251.2 host 192.168.253.16 eq 3389
asa(config)# access-list RDPcap permit tcp host 192.168.251.2 host 192.168.253.17 eq 3389
asa(config)# access-list RDPcap permit tcp host 192.168.251.2 host 192.168.253.20 eq 3389
asa(config)# access-list RDPcap permit tcp host 192.168.253.16 eq 3389 host 192.168.251.2
asa(config)# access-list RDPcap permit tcp host 192.168.253.17 eq 3389 host 192.168.251.2
asa(config)# access-list RDPcap permit tcp host 192.168.253.20 eq 3389 host 192.168.251.2
asa# capture RDPcap1 access-list RDPcap interface LAN251
asa# capture RDPcap2 access-list RDPcap interface LAN253

где LAN251 - это интерфейс, подключенный к сети 192.168.251.0/24, а LAN253 - это интерфейс, подключенный к сети 192.168.253.0/24.

Затем попробуйте подключиться через RDP и посмотрите, что записано.

Я уверен, что вы обнаружите, что при попытке подключиться к одному из IP-адресов (вы увидите SYN-пакет, отправленный со случайного порта> 1024 на 192.168.251.2 на порт 3389 на 192.168.253.16/17/ 20), вы увидите, что ответ (SYN-ACK) пришел с другого IP-адреса, и брандмауэр получит этот пакет SYN-ACK, но не будет пересылать его вашему RDP-клиенту.

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

Если это не так, вставьте снимки, чтобы сообщество могло их проанализировать.

Взгляните на настройки брандмауэра на кластерных серверах терминалов. Вероятно, у них есть набор разрешений только для локальной подсети. Вам просто нужно изменить эти правила или добавить новые правила, чтобы разрешить соединения через порт 3389 (порт 443 для шлюза TS) из другой подсети.

Если это не сработает, рискну на этом, но возможно, что ваш ASA не имеет правила, разрешающего трафик из подсети .251 на IP-адреса кульстеров. Попробуйте подключиться к ASA через Telnet и запустить
sh run | gr access-
и найдите строки с текстом, похожим на "allow ip x.y.251.0 255.255.255.0 x.y.253.0 255.255.255.240"
Такая линия позволит получить доступ только к первым нескольким IP-адресам в подсети .253.