Настройка балансировщиков
Напомню, как выглядит наша схема.
Если рассматривать сетевой путь от клиента до конечного сервиса, здесь есть 3 основных узла: WAN-proxy, сам маршрутизатор (А660) и LAN-proxy.
В случае с маршрутизатором - здесь все просто:
- Входим в ПУ вашего маршрутизатора
- Идем в "Приложение" -> "Переадресация порта"
- Настраиваем переадресацию на хост-балансировщик, находящийся в вашей домашней сети. Например, для адреса 192.168.1.102 и диапазона портов 50001-50032, настройка будет примерно такой:
На места этого IP-адреса может быть любой из вашей сети, единственный критерий - к нему должен быть доступ от маршрутизатора. Проверить это можно в "Администрирование" -> "Диагностика Ping".
А вот дальше уже сложнее...
Многие задаются вопросом: а зачем вообще открывать диапазоны портов и потом как-то сложно их маппить? Можно же просто открыть, например, 443 порт, и хостить балансировку сразу за ним.
Да, можно, но только не на F660 - эта рокетка уже использует 443 порт в LAN и, открывая его и в WAN, происходит ситуация, которая решается только физическим сбросом маршрутизатора. ПУ перестает открываться, а перенаправление не работает. Как? Не спрашивайте, потому что на нормальном железе (например, на Keenetic или TPlink) такой ситуации не происходит: они видят разницу между LAN и WAN подключениями.
Помимо этого, вы не сможете скрыть своей реальный IP-адрес, тем самым вам придется столкнуться с 2 нюансами:
- Вам придется реализовать блокировку доступа к ПУ не на уровне маршрутизатора, а на уровне Nginx на самой ноде PVE (или прокси). Казалось, бы, это не проблема? Я напоминаю - сам хост стоит в LAN, за маршрутизатором, и заголовок Source-EA у всех пакетов, которые будут к нему приходить, всегда будут содержать только 1 IP-адрес - вашего маршрутизатора. При таком подходе и на этом железе вы не сможете "отсеять" нежелательные подключения к ПУ, как следствие - она будет торчать в интернет as-is.
- При попытке положить вам хост, вы рискуете лишиться не только его самого, но и всего интернета - маршрутизатор уйдет в перезагрузку, а вместе с ним и весь ваш канал.
Балансировщик решает эту проблему и дает возможность тонкой настройки единой точки входа:
- Хотите общий WAF для всех приложений? Настраивайте его на балансировщике, ведь именно через него проходит весь трафик от пользователя до приложения;
- Хотите запретить доступ сразу ко всем пользователям? Просто погасите балансировщик, и хуй кто из пользователей воспользуется вашей инфраструктурой (моментами, может сыграть против вас);
- Такая архитектура - один из моментов, когда мы применяем наш костыльный "SOLI", а именно -
Чтобы настроить балансировку со стороны WAN

