如果所有其他 DNS 选项都失败,则使用静态“后备 /etc/hosts”

如果所有其他 DNS 选项都失败,则使用静态“后备 /etc/hosts”

如果我理解/etc/nsswitch.conf正确的话,配置

hosts:          files mdns4_minimal [NOTFOUND=return] dns

结果是解释/etc/hosts、MDNS 以及最终的“常规”DNS服务器。

现在,我希望有一个选项来设置一些静态后备定义,以防所有先前的解析选项都失败。

切换 DNS 和文件可能不是一个好主意,因为它每次都会调用 DNS 服务器。

所以基本上我正在寻找一种可以在 DNS 服务器出现故障(并且显然没有匹配/etc/hosts)的情况下起作用的解决方案。

如果该解决方案能够使每个用户都可管理文件,那就更完美了。

答案1

你不能,至少使用 NSS(名称服务切换)实现是不行的glibc

显然,你可以使用操作来执行服务(就像你示例中mdns4_minimal使用的那样[NOTFOUND=return])。其形式如下:

[STATUS=ACTION]

前面带有!将否定状态。

可以STATUS是以下四个中的任意一个:

  • 成功
  • 未找到
  • 不可用
  • 再试一次

可以ACTION是以下两种中的任意一种:

  • 返回
  • 继续

这里RETURN将返回结果,而无需查找任何进一步的查找函数,并将CONTINUE继续进一步查找。没有办法提及要回退的文件。

你基本上是在寻找类似的东西:

hosts:   files mdns4_minimal [NOTFOUND=return] dns [NOTFOUND=/read/for/this/file]

这是不可能的。

简而言之,您正在寻找不存在ACTIONnsswitch

相关内容