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

nom*_*cME 5 gmail iptables firewall dns 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 
Run Code Online (Sandbox Code Playgroud)

但 ufw 不喜欢那样。所以我把它改成:

ufw allow out from 192.168.2.5 to 74.125.0.0/24 port 587
Run Code Online (Sandbox Code Playgroud)

这个 ufw 被接受,但显然这只会阻止这个范围内的任何地址,0 作为第三个八位字节。那么我如何从 0-255 获得第三个八位字节呢?

ish*_*ish 8

您需要一个脚本来定期解析域并使用最新的 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
...

NetRange/CIDR告诉你怎么白名单- 74.125.0.0/16。Google 可以将此范围内的任何 IP 分配给 smtp.gmail.com


小智 5

以下命令将返回几个域:

nslookup -q=TXT _spf.google.com 8.8.8.8
Run Code Online (Sandbox Code Playgroud)

为每个运行 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
Run Code Online (Sandbox Code Playgroud)

来自:http : //support.google.com/a/bin/answer.py?hl=zh-CN&answer=60764