FWBuilder DNS 对象运行时 - 它究竟何时解析 DNS 名称?

FWBuilder DNS 对象运行时 - 它究竟何时解析 DNS 名称?

在防火墙生成器中,当您使用 DNS 对象并将其设置为运行时时,防火墙(在我们的例子中是 iptables)究竟何时真正解析 DNS 名称?

  1. 是不是只要在防火墙中调用该 DNS 名称就会发生这种情况?因此,每当有人/某物尝试访问该 DNS 名称时,防火墙都会即时解析该名称?
  2. 还是当您执行 fw 脚本将规则加载到 iptables 中时?那么在这种情况下,它会解析一次 DNS 名称,然后将生成的 ip 地址硬编码到 iptable 规则中?

从我读到的内容来看,我认为它是 #1,但我并不是 100% 清楚。我们的网络上有两台服务器用于某项功能。一台是主服务器,一台是备份服务器。

alpha0.domain.com
alpha1.domain.com

在 DNS 中我们有这样的:

alpha.domain.com -> alpha0.domain.com

如果主服务器出现故障并且我们需要切换到备份服务器,我只需更改我们的本地 DNS 记录以指向该服务器alpha1.domain.com

那么回到防火墙,如果我只是将域对象作为 放入alpha.domain.com,每次切换到备份 alpha 服务器并更改 DNS 记录时,我是否必须重新加载防火墙规则?或者即使在切换后防火墙也会自动解析到正确的地址吗?

答案1

iptables 只处理 IP 地址。当您在 iptables 规则中指定 DNS 名称时,iptables 用户空间程序会进行一次查找并将 IP 地址加载到内核中。

fwbuilder 在其生成的规则集中输出 IP 地址(编译时)或 DNS 名称(运行时)。但这并不能改变 iptables 仅对 DNS 名称进行一次性查找的事实。

因此您每次都必须重新加载规则。

相关内容