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

Настройка Docker Swarm / Traefik / OpenVPN: ограничить доступ к веб-интерфейсу traefik для VPN

У меня следующая установка:

Чего я пытаюсь достичь:

Требовать доступ через VPN к подмножеству Traefik Frontends.

У меня есть другие сервисы на AWS (например, RDS), чья SecurityGroup настроена так, чтобы разрешать доступ только изнутри подсетей (VPC), что отлично работает. Я не могу получить к ним доступ, когда я отключен от VPN, и наоборот.

Однако при попытке добавить белый список в Traefik с ограничением диапазона источников я всегда получаю ошибку 403 вне зависимости от того, нахожусь ли я в VPN или нет.

Я использую следующую конфигурацию для своей точки входа:

Name:http
Address::80
ProxyProtocol.TrustedIPs:172.31.16.0/20,172.31.20.0/20 
ForwardedHeaders.TrustedIPs:172.31.16.0/20,172.31.20.0/20 
WhiteList.UseXForwardedFor:true

В моем целевом контейнере я добавил следующее ограничение:

traefik.frontend.whiteList.sourceRange=172.31.16.0/20,172.31.20.0/20 

Журналы Traefik показывают мне следующее:

Запрос VPN -> (Открытый для Интернета) IP-адрес экземпляра EC2

Запрос без VPN -> IP моего компьютера / интернет-провайдера

Когда я меняю диапазон источника на IP-адрес экземпляра IP-адреса сервера EC2, все работает, как ожидалось, однако я бы предпочел решение, которое позволяет мне использовать диапазон подсети (в случае добавления новых серверов).