В настоящее время я использую следующее правило:
ufw allow out from my_local_ip to any port 587
Это мне немного не по вкусу. Я хотел бы сжать его и ограничить только IP-адресами SMTP-сервера Gmail, но они всегда меняются. Раньше я просто ждал, пока исходящее письмо не дойдет до места назначения, затем проверил в системном журнале заблокированный IP-адрес, а затем добавил его в скрипт настройки ufw. Однако теперь мне нужно гораздо больше надежности.
Есть ли способ использовать smtp.gmail.com в UFW? Я так не думаю, но думал, что спросить. Есть еще идеи? Спасибо.
Обновление
Принимая предложение izx, я получил следующую (сокращенную) информацию от whois:
$ whois 74.125.53.108
.. .
NetRange: 74.125.0.0 - 74.125.255.255
CIDR: 74.125.0.0/16
...
Используя эту информацию, я создал следующую команду в моем скрипте конфигурации ufw (я понимаю, что есть другие диапазоны, которые нужно открыть, это всего лишь пример):
ufw allow out from 192.168.2.5 to 74.125.0/24.0/24 port 587
, но ufw это не нравится. Поэтому я изменил его на:
ufw allow out from 192.168.2.5 to 74.125.0.0/24 port 587
этот UFW принял, но, очевидно, это будет блокировать любой адрес в этом диапазоне с 0 в качестве третьего октета. Так как же получить 0-255 для третьего октета?
Следующая команда вернет пару доменов:
nslookup -q=TXT _spf.google.com 8.8.8.8
Запустите nslookup для каждого:
nslookup -q=TXT _netblocks.google.com 8.8.8.8
nslookup -q=TXT _netblocks2.google.com 8.8.8.8
nslookup -q=TXT _netblocks3.google.com 8.8.8.8
От: http://support.google .com / а / бен / answer.py HL = ан & амп;? ответ = 60764
бесплатный GMail & amp; платные GSuite GMail используют разные серверы; потому что когда я запускаю:
sudo doveadm dump /home/vmail/acme.com/postmaster/Maildir | grep google.com
, он дает мне адреса в диапазоне 209.85.128.0/17
.
ARIN даже имеет ответ API для GOGL .
Вам понадобится скрипт, который периодически разрешает домен и обновляет правила брандмауэра с использованием последних IP-адресов. Вместо этого попробуйте этот метод:
Домены, подобные этим, часто имеют несколько IP-адресов, связанных с ними. Используйте host domain.tld
, чтобы получить список:
$ host smtp.gmail.com smtp.gmail.com is an alias for gmail-smtp-msa.l.google.com. gmail-smtp-msa.l.google.com has address 74.125.127.108 gmail-smtp-msa.l.google.com has address 74.125.127.109
Но эти два также, вероятно, продолжают изменяться, в зависимости от вашего вопроса. Поэтому лучше всего занести в белый список весь сетевой блок - используйте whois
с IP :
$ whois 74.125.127.108 NetRange: 74.125.0.0 - 74.125.255.255 CIDR: 74.125.0.0/16 OriginAS: NetName: GOOGLE NetHandle: NET-74-125-0-0-1 Parent: NET-74-0-0-0-0 NetType: Direct Allocation RegDate: 2007-03-13 Updated: 2012-02-24 Ref: http://whois.arin.net/rest/net/NET-74-125-0-0-1 ...
В NetRange
/ CIDR
укажите, что для белого списка - 74,125. 0.0 / 16. Google может назначить любой IP-адрес в этом диапазоне smtp.gmail.com