无法从resolv.conf中删除名称服务器(最初是后缀/ policyd-weight错误消息)

我在我的Debian(wheezy)服务器上使用postfix,并configuration为在main.cf文件中使用policyd-weight:

smtpd_recipient_restrictions = reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unlisted_recipient, warn_if_reject check_policy_service inet:127.0.0.1:12525, check_policy_service inet:127.0.0.1:10023, permit 

一段时间后,以前的工作设置开始反弹电子邮件,因为它不能达到policyd-weight守护进程(因此warn_if_reject覆盖反弹行为)。 我检查了守护进程,它实际上正在运行并监听端口12525:

 tcp 0 0 127.0.0.1:12525 0.0.0.0:* LISTEN 20005/policyd-weigh 

以下错误消息说明了我认为是问题的核心:

 Feb 1 12:25:34 ginger postfix/policyd-weight[4446]: warning: child: could not open RBL Lookup Socket to config: IO::Socket::INET: Bad hostname 'config' Invalid argument Feb 1 12:25:34 ginger postfix/policyd-weight[4446]: warning: child: err: can't resolve "config" to address at /usr/lib/perl5/Net/DNS/Resolver/Base.pm line 755, <GEN14499> line 26.#012 

由此看来,这个问题真的是政治权衡相关的,并且是解决DNS问题。 起初,我虽然那个policyd-weight曾经在某种程度上给了一个主机名称“configuration”,并尝试将* configparsing为一个IP地址。 但是,我没有设法在policyd-weightconfiguration文件中find对configuration的任何引用。

然后我意识到,也许这是policyd-weight接触麻烦的名称服务器 (这个实现在大多数引用上述postfix / policyd-weight警告消息的post中没有提到),例如它认为有一个名为config的名称服务器在我的设置,所以这一定会失败)。 实际上,在/etc/resolv.conf文件中有类似的东西:

 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver config nameserver 213.133.100.100 nameserver 213.133.98.98 

我认为这条线确实应该如下

 # nameserver config 

因为这是互联网上最贴子的build议(谷歌前四名命中“nameserverconfiguration”hetzner ;由于声誉无法发布超过两个链接),这种configuration很可能是从我的主机的默认configurationinheritance使用他们的安装(指他们的名字服务器 ):

 /etc/resolvconf/resolv.conf.d/original ### Hetzner Online AG installimage # nameserver 127.0.0.1 nameserver config nameserver 213.133.100.100 nameserver 213.133.98.98 nameserver 213.133.99.99 nameserver 2a01:4f8:0:a111::add:9898 nameserver 2a01:4f8:0:a102::add:9999 nameserver 2a01:4f8:0:a0a1::add:1010 

手动注释掉/etc/resolv.conf中的 nameserverconfiguration并重新启动policyd-weight可以正常工作,我可以从传入电子邮件中的X-policyd-weight头部看到一切正常。

但是,我无法永久删除或更改该行。 resolvconf在更新时似乎没有使用/etc/resolvconf/resolv.conf.d/original文件,所以无论何时我运行resolvconf -u,它都会提示上面引用的/etc/resolv.conf的版本。

/ etc / network / interfaces不包含任何名称服务器,据我所知我也没有使用NetworkManager。 我应该使用下面一行来定义/ etc / network / interfaces中的名称服务器(如Debian手册所build议的)?

 dns-nameservers 12.34.56.78 12.34.56.79 

我仍然想知道(未注释的) nameserverconfiguration行来自哪里,以及为什么resolvconf会在每次更新时恢复它。 什么是开始寻找的好地方?