如何允许所有可能的 Gmail 服务器 IP 通过我的 ufw 防火墙?

如何允许所有可能的 Gmail 服务器 IP 通过我的 ufw 防火墙?

我目前正在使用以下规则:

ufw allow out from my_local_ip to any port 587

这对我来说有点太松了。我想把它收紧一点,限制为仅 gmail 的 smtp 服务器 ip 地址,但它们总是在变化。我过去只是等到外发电子邮件没有到达目的地,然后检查系统日志以查找被阻止的 ip 地址,然后将其添加到 ufw 配置脚本中。但是,现在我需要更高的可靠性。

有没有办法在 ufw 中使用 smtp.gmail.com?我不这么认为,但我想问一下。还有其他想法吗?谢谢。

更新

根据 izx 的建议,我从 whois 中获得了以下(缩写)信息:

$ whois 74.125.53.108

...

网络范围: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 获得第三个八位字节呢?

答案1

您需要一个脚本来定期解析域名并使用最新 IP 更新防火墙规则。请尝试以下方法:

此类域名通常有多个 IP 与其关联。使用以下host domain.tld命令获取列表:

$ 主机 smtp.gmail.com
smtp.gmail.com 是 gmail-smtp-msa.l.google.com 的别名。
gmail-smtp-msa.l.google.com 的地址为 74.125.127.108
gmail-smtp-msa.l.google.com 的地址为 74.125.127.109

但根据您的问题,这两个可能也在不断变化。因此,最好将整个网络块列入白名单——使用whois 与 IP

$ whois 74.125.127.108

网络范围:74.125.0.0 - 74.125.255.255
CIDR: 74.125.0.0/16
原产地AS:       
网络名称:GOOGLE
网络句柄:NET-74-125-0-0-1
父级:NET-74-0-0-0-0
网络类型: 直接分配
注册日期: 2007-03-13
更新时间:2012-02-24
参考:http://whois.arin.net/rest/net/NET-74-125-0-0-1
...

/告诉您要将哪些 IP 列入白名单 - 74.125.0.0/16。Google 可以将此范围内的任何 IP 分配给NetRangesmtp.gmail.comCIDR

答案2

以下命令将返回几个域:

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/a/bin/answer.py?hl=en&answer=60764

答案3

免费 GMail 和付费 GSuite GMail 使用不同的服务器;因为当我运行时:

sudo doveadm dump /home/vmail/acme.com/postmaster/Maildir | grep google.com

它给了我209.85.128.0/17范围内的地址。

ARIN 甚至有以下 API 响应:果蔬汁

相关内容