rsyslogd 可以使用 /etc/hosts 文件代替 DNS 吗?

rsyslogd 可以使用 /etc/hosts 文件代替 DNS 吗?

我在 rsyslogd 使用 DNS 来 PTR 解析每个远程主机的名称时遇到了问题。

有没有办法使用“/etc/hosts”来完成相同的工作并禁用使用 DNS 的解析?

答案1

您可以通过确保hostsnsswitch.conf 中的条目配置为来做到这一点hosts files dns,这意味着它将首先查看 /etc/hosts,然后查看 DNS。

编辑:正如下面的@ThomasN 所提到的,这不仅仅影响 rsyslog,您可能需要在选择它之前考虑一下这种方法。

但这可能并不完全正确:

  • 如果您确实希望解析发生,您可能需要考虑安装本地缓存解析器(可以是 dnsmasq、pdns-resolver、unbound 或任何数量的替代方案),并在相关域上配置非常长的 TTL(如果您选择的服务器可以实现)。

  • 如果您不想解析这些域(或者至少不想从 rsyslog 解析),那么您可以通过两种方式禁用 DNS(使用命令行开关):

    1. -Q在 ACL 处理期间禁用 DNS 查找,这意味着所有网络 ACL 都需要基于fromhost-ip
    2. -x禁用“远程消息”的 DNS(不完全清楚这意味着什么,除了我猜测远程主机的域名是不是任何时候都可以解决)。

大多数人似乎最终会同时使用这两个标志,但如上所述,这确实会影响你的配置。请参阅https://linux.die.net/man/8/rsyslogd更多

相关内容