Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Схема размещения компонентов
При большом количестве одновременно открытых сессий целесообразно добавить дополнительные серверы доступа.
Пусть их имена будут gw2 gw3 gw4 и т.д., настройка производится аналогично.
IP адреса HAProxy и дополнительных серверов доступа необходимо перечислить в настройках Indeed PAM Core в файле
C:\inetpub\wwwroot\pam\core\appsettings.json в секции Auth:
Code Block | ||
---|---|---|
| ||
"PamGatewayIpAddresses": "192.168.10.140, 192.168.10.145, 192.168.10.146, 192.168.10.147, 192.168.10.148 ", |
В Management Console в разделе Системные настройки в секциях Настройки подключения к Gateway и Настройки SSH Proxy необходимо ввести адрес балансировщика.
Настройки HAProxy в случае с четырьмя серверами представлены в примере:
Code Block | ||
---|---|---|
| ||
global
log /dev/haproxy/log local0 # см https://en.wikipedia.org/wiki/Syslog#Facility
log /dev/haproxy/log local1 notice # notice - уровень ошибки. весь список: emerg, alert, crit, err, warning, notice, info, debug
chroot /var/lib/haproxy # изменяем директорию выполнения для защиты от атак, папка пуста и нет прав
maxconn 256 # максимальное количество одновременных подключений.
stats socket /run/haproxy/admin.sock mode 660 level admin # связывает сокет с admin.sock
stats timeout 3s
user haproxy
group haproxy
daemon # Запустить процесс в фоновом режиме
defaults
log global # параметры лога берутся из секции global
mode tcp # режим работы экземпляра HAProxy
option dontlognull # отключить логи для фиктивных подключений
timeout connect 5000
timeout client 1h
timeout server 1h
retries 3 # кол-во попыток до того, как понизить статус сервера
balance roundrobin # выбор сервера перебором по порядку
# Статистика
frontend stats
mode http
bind *:8888 ssl crt /etc/haproxy/haproxy.pem
stats enable # включение вывода статистики
timeout client 5m
timeout server 5m
stats hide-version # скрытие версии HAProxy на странице статистики
stats realm HAProxy\ Statistics # установка authentication realm
stats uri /haproxy # установка ссылки на страницу статистики
stats auth stat:stat # логин и пароль от страницы статистики
frontend frontend_gw
mode tcp
bind 192.168.10.140:3389 # Адрес и порт на HAProxy для подключения клиентов
timeout client 1h
log global
option tcplog # настройка логов TCP подключений с состояниями и таймерами
tcp-request inspect-delay 2s # установка максимального времени анализа входящего соединения
tcp-request content accept if RDP_COOKIE # сессия открывается при наличии RDP протокола
default_backend backend_gw # название backend, обрабатывающего запросы
frontend frontend_sshp
mode tcp
bind 192.168.10.140:22
timeout client 30m
option tcplog
default_backend backend_sshp
backend backend_sshp
mode tcp
timeout server 30m
timeout connect 5s
balance leastconn
option tcp-check
server gw4 192.168.10.148:22 weight 10 check port 22 inter 5000
server gw3 192.168.10.147:22 weight 10 check port 22 inter 5000
server gw2 192.168.10.146:22 weight 10 check port 22 inter 5000
server gw1 192.168.10.145:22 weight 10 check port 22 inter 5000
backend backend_gw
mode tcp
balance leastconn # выбор сервера с наименьшим числом активных соединений
timeout server 1h
timeout connect 4s
log global
option tcp-check # Выполнить проверку доступности по TCP,
tcp-check connect port 3389 ssl # открывая зашифрованное соединение на порт 3389.
stick-table type ip size 1m expire 12h # настраиваем таблицу привязки по ip размером 1 млн записей и временем жизни записи 12 часов
stick on src # использовать ip-адрес клиента для привязки
default-server inter 3s rise 2 fall 3 # Установить интервал проверки у серверов backend 3 сек. Сервер будет считаться активным после 2 успешных проверок и недоступным после 3 неудачных проверок.
server gw4 192.168.10.148:3389 weight 10 check verify none #######################
server gw3 192.168.10.147:3389 weight 10 check verify none #Сервера PAM Gateway
server gw2 192.168.10.146:3389 weight 10 check verify none #веса серверов равны относительно друг друга
server gw1 192.168.10.145:3389 weight 10 check verify none #проверка доступности включена, сертификат не проверяется |