Кажется, api.mailgun.net регулярно разрешает другой набор IP-адресов. Я пытался найти известные IP-адреса, но ничего не нашел.
Я не думаю, что можно добавить правило к вашему брандмауэру, которое динамически проверяет, идет ли соединение к домену, разрешающему этот 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, охватывающее Диапазон эфемерных портов: