10.19.1.0/24 — основная LAN на e1 (firefly + cloud_guests на proxmox).10.9.0.0/21 — AmneziaWG VPN (mesh forGain + LoPlus, server на mirkwood).10.19.253.0/24 — устаревший elink OpenVPN (admins).4gain.pro — DigitalOcean DNS. Записи:
<host>.4gain.pro — public IP (firefly.4gain.pro, mirkwood, nugush, …).<host>.e1.4gain.pro — internal IP (через VPN).<host>.vpn.4gain.pro — VPN-IP.Синхронизация — service-dns-sync.yml playbook.
Единственная точка для *.4gain.pro HTTPS — firefly:443. Traefik терминирует TLS, route'ит по Host.
Из firefly наружу через свой же public IP не работает (типичный hairpinning). Для Zabbix web-checks, которые упирались в это, выделен внешний proxy на nugush — он опрашивает https://*.4gain.pro снаружи и пушит данные в zabbix-server. Полное описание мониторинговой схемы: Архитектура мониторинга Zabbix.
Аналогично — для Telegram webhook'ов: api.telegram.org блокирован в РФ, зато доступен с nugush. На nugush есть nginx-gateway https://nugush.4gain.pro/tg-out/... который проксирует на api.telegram.
Docker-стек с published port: 8080 (owncloud) добавляет правило DNAT в PREROUTING. Любой host-процесс, забиндившийся на 0.0.0.0:8080, не получит входящий трафик. Полное описание, симптомы и runbook: Конфликт порта 8080 на firefly.
Перед binding'ом host-сервиса — проверить docker ps --format '{{.Names}} {{.Ports}}'.
Changelog