feat(haproxy): allowlist rds-allowed для RDS из ipdeny RU (0.7.5).

This commit is contained in:
PTah
2026-06-13 19:06:54 +10:00
parent fc448fd589
commit 779bf0d921
9 changed files with 332 additions and 6 deletions
+22 -1
View File
@@ -44,7 +44,10 @@ sudo haproxy -c -f /etc/haproxy/haproxy.cfg
```bash
sudo cp ~/reverse-proxy/haproxy.cfg /etc/haproxy/haproxy.cfg
sudo cp ~/reverse-proxy/git-sac-allowed ~/reverse-proxy/1c-allowed ~/reverse-proxy/zabbix-allowed ~/reverse-proxy/syno-allowed /etc/haproxy/
sudo cp ~/reverse-proxy/git-sac-allowed ~/reverse-proxy/1c-allowed ~/reverse-proxy/zabbix-allowed ~/reverse-proxy/syno-allowed ~/reverse-proxy/rds-allowed-static /etc/haproxy/
sudo install -m 0755 ~/reverse-proxy/scripts/haproxy-rds-allowed-deploy.sh ~/reverse-proxy/scripts/haproxy_ru_ipdeny_lib.sh /usr/local/bin/
sudo /usr/local/bin/haproxy-rds-allowed-deploy.sh
sudo cp ~/reverse-proxy/scripts/haproxy-rds-allowed.cron /etc/cron.d/haproxy-rds-allowed
```
3. Проверка и перезапуск:
@@ -105,3 +108,21 @@ curl -kI --resolve exchange.kalinamall.ru:443:ПУБЛИЧНЫЙ_IP https://exch
```
При HTTP/2 coalescing в Chromium см. [sac-access.md](sac-access.md) — отдельная вкладка или `http2 off` на других бэкендах с тем же wildcard.
## RDS (rds.kalinamall.ru)
- **`rds.kalinamall.ru`** — RD Gateway / RD Web, бэкенд **192.168.160.40:4430**
- IP-allowlist: **`rds-allowed`** — объединение **RU CIDR** ([ipdeny `ru.zone`](https://www.ipdeny.com/ipblocks/data/countries/ru.zone)) и **`rds-allowed-static`** (фиксированные IP вне RU или исключения)
- Обновление списка: **`/usr/local/bin/haproxy-rds-allowed-deploy.sh`** (+ **`haproxy_ru_ipdeny_lib.sh`** рядом), cron **ежедневно в 01:00** (`/etc/cron.d/haproxy-rds-allowed`)
- Источник логики: [Answer.and.other.shit/scripts/mikrotik-ru-ipdeny](https://git.kalinamall.ru/PapaTramp/Answer.and.other.shit) (`mikrotik-649-ru-ipdeny-deploy.sh`), зона **`ru.zone`**, минимум **8000** подсетей
- Лог деплоя: **`/var/log/haproxy-rds-allowed-deploy.log`**, syslog: **`haproxy-rds-allowed-deploy`**
Добавить постоянный IP/CIDR вручную — правка **`/etc/haproxy/rds-allowed-static`** (и копия в репозитории `rds-allowed-static`), затем запуск deploy-скрипта.
Проверка с allowlist IP:
```bash
curl -kI --resolve rds.kalinamall.ru:443:ПУБЛИЧНЫЙ_IP https://rds.kalinamall.ru/
```
**Примечание:** VPN в LAN (`192.168.160.0/24`) обходит HAProxy; allowlist действует только на вход через периметр (`443`, SNI `rds.kalinamall.ru`).