Как динамически занести в белый список IP-адреса api.mailgun.net?

  • У меня есть веб-приложение, работающее за брандмауэром OPNsense
  • Этот брандмауэр разрешает весь трафик https на api.mailgun.net.
  • Веб-приложение вызывает api.mailgun.net, но разрешение отличается от разрешения брандмауэра.

Кажется, api.mailgun.net регулярно разрешает другой набор IP-адресов. Я пытался найти известные IP-адреса, но ничего не нашел.

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
0
0
875
1

Ответы 1

Я не думаю, что можно добавить правило к вашему брандмауэру, которое динамически проверяет, идет ли соединение к домену, разрешающему этот IP-адрес.

Однако, как вы уже пытались, добавление каждого IP-адреса к брандмауэру - это решение. Чтобы получить все возможные IP-адреса, я бы сделал:

// Find the authoritative nameserver
// Your local nameserver potentially only returns the cached, first record
$ dig api.mailgun.net IN SOA
;; AUTHORITY SECTION:
mailgun.net.            899     IN      SOA     ns-1447.awsdns-52.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400

// Query that for all the records
$ dig +short api.mailgun.net IN A @ns-1447.awsdns-52.org.
34.200.7.26
52.200.96.214
52.73.0.101
52.21.40.223
52.86.239.198
34.232.33.59

Или вам просто нужно добавить правило, разрешающее весь входящий трафик ответов TCP для устанавливаемых вами соединений. Предполагая, что весь исходящий трафик в любом случае разрешен.

Для этого добавьте входящее правило ACCEPT, охватывающее Диапазон эфемерных портов:

  • Source / Dest IP: любой
  • Исходный порт: любой
  • Порт назначения: 32768-65535
  • Протокол: TCP
  • Флаги TCP: ack

Другие вопросы по теме