AWS network-acl блокирует разрешение nginx dns

Я пытаюсь заблокировать порты в своих подсетях, и у меня проблема с экземпляром nginx, на котором я работаю ECS.

Трафик поступает в систему на : 443 к ELB, который направляет часть его к экземпляру nginx, работающему на ECS, который proxy_pass передает его на внешний www. адрес.

nginx настроен на proxy_pass для имени домена, и он использует конфигурацию преобразователя nginx: resolver 8.8.8.8 ipv6 = off valid = 10s , чтобы преобразовать это в IP адрес. IP не статический, поэтому я должен это сделать.

Однако, когда я применяю свой сетевой acl, все работает, кроме этого разрешения DNS. Nginx возвращает ответы Bad Gateway с жалобами на то, что мой домен не может быть разрешен (110: Превышено время ожидания операции) .

Сетевой acl настроен на разрешение всего исходящего трафика для всех протоколов, но ограничивает входящий трафик определенным набором портов.

Я попытался добавить 53 (UDP и TCP) во входящие правила, но разрешение все равно не удается.

Важно отметить, что если я разрешаю весь входящий трафик, то разрешение DNS работает.

Мой вопрос:

  1. Что мне нужно сделать, чтобы преобразователь nginx заработал, когда применяется мой сетевой ACL?
  2. Я знаю, что каждый VPC поставляется с DNS-сервером для маршрутизации DNS-имен AWS к виртуальным машинам.Могу ли я использовать его в качестве преобразователя?
-1
задан 1 July 2021 в 15:50
1 ответ

Один из возможных ответов - разрешить весь трафик, поступающий из 8.8.8.8.

Однако важно отметить, что некоторые сервисы AWS (например, ELB) используют эфемерные порты ( https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html# nacl-ephemeral-ports ), и они также должны быть открыты.

Конечно, они представляют большой диапазон портов, но, как указано в документации, вы всегда можете ОТКАЗАТЬ трафик от вредоносных портов.

0
ответ дан 28 July 2021 в 15:24

Теги

Похожие вопросы