为什么即使设置了PTRlogging,SSH也会报告“反向映射检查getaddrinfo失败”?

我试图在子网10上使用专用networkingbuild立一个集群。一台机器有两个接口,一个连接到常规networking,另一个连接到子网10上的所有节点。这个CentOS 6机器(我们称之为“zaza.domain.com”)运行DHCP和DNS,目前这两个都由Cobblerpipe理,这可能是也可能不是问题的一部分(虽然禁用它,手动操作仍然会给我带来麻烦)。

如果我SSH到ZAZA,然后尝试SSH从ZAZA到节点1,我得到如下警告消息:

[root@zaza ~]# ssh node1 reverse mapping checking getaddrinfo for node1.cluster.local [10.69.0.1] failed - POSSIBLE BREAK-IN ATTEMPT! 

我仍然收到密码提示,仍然可以login确定。

我从sshd警告中知道,“可能的破门而入!” 对于失败的反向DNS和“可能的破解尝试!” 在/ var / log / secure中 – 这是什么意思? 和一堆其他的search,这个错误的原因通常是没有设置PTRlogging。 但是,它是设置 – 考虑以下几点:

 [root@zaza ~]# nslookup node1.cluster.local Server: 10.69.0.69 Address: 10.69.0.69#53 Name: node1.cluster.local Address: 10.69.0.1 [root@zaza ~]# nslookup 10.69.0.1 Server: 10.69.0.69 Address: 10.69.0.69#53 1.0.69.10.in-addr.arpa name = node1.cluster.local. 

10.69.0.69 IP地址是zaza的第二个接口。

如果我尝试一个不同的工具,如挖掘,实际查看PTRlogging,我得到以下输出:

 [root@zaza ~]# dig ptr 1.0.69.10.in-addr.arpa ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> ptr 69.0.69.10.in-addr.arpa ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29499 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;1.0.69.10.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.0.69.10.in-addr.arpa. 300 IN PTR node1.cluster.local. ;; AUTHORITY SECTION: 10.in-addr.arpa. 300 IN NS zaza.cluster.local. ;; ADDITIONAL SECTION: zaza.cluster.local. 300 IN A 10.69.0.69 ;; Query time: 0 msec ;; SERVER: 10.69.0.69#53(10.69.0.69) ;; WHEN: Wed Mar 1 17:05:44 2017 ;; MSG SIZE rcvd: 110 

它看起来像PTRlogging设置,所以我不知道为什么SSH会尝试连接到一个节点机器时,会引起一个不合适的配合。 为了给所有的信息,这里的相关configuration文件,spoiledred使事情看起来只是一个更可读的…

的/etc/named.conf

 [root@zaza ~]# cat /etc/named.conf options { listen-on port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; # was localhost recursion yes; # setup DNS forwarding forwarders {1.2.3.4;}; # Real IP goes in here }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "cluster.local." { type master; file "cluster.local"; # these two lines allow DNS querying allow-update { any; }; notify no; }; zone "10.in-addr.arpa." { type master; file "10"; # these two lines allow DNS querying allow-update { any; }; notify no; }; 

/var/named/cluster.local

 [root@zaza ~]# cat /var/named/cluster.local $TTL 300 @ IN SOA zaza.cluster.local. nobody.example.com. ( 2017030100 ; Serial 600 ; Refresh 1800 ; Retry 604800 ; Expire 300 ; TTL ) IN NS zaza.cluster.local. zaza IN A 10.69.0.69 node1 IN A 10.69.0.1; node2 IN A 10.69.0.2; 

在/ var /命名/ 10

 [root@zaza ~]# cat /var/named/10 $TTL 300 @ IN SOA zaza.cluster.local. root.zaza.cluster.local. ( 2017030100 ; Serial 600 ; Refresh 1800 ; Retry 604800 ; Expire 300 ; TTL ) IN NS zaza.cluster.local. 69.0.69 IN PTR zaza.cluster.local. 1.0.69 IN PTR node1.cluster.local. 2.0.69 IN PTR node2.cluster.local. 

如果您有任何想法,将不胜感激!

这是关于Avahi和.local域名,与PTRlogging无关。

我做了一堆更多的search,意识到主机的parsing工作,但由FQDN主机失败。 这最终导致我https://superuser.com/questions/704785/ping-cant-resolve-hostname-but-nslookup-can和从它,我被链接到http://www.lowlevelmanager.com/2011/09 / fix-linux-dns-issues-with-local.html它解决了我的一切。

最终问题是在/etc/nsswitch.conf有一行说:
hosts: files mdns4_minimal [NOTFOUND=return] dns
通过改变这个来读取:
hosts: files dns
问题消失了,我不再有可能的磨合尝试的错误。

我testing的另一个解决scheme是简单地重命名域,因为这种行为是特定于.local域的。 通过将cluster.local重命名为cluster.bob,错误消息也消失了。

另一种解决scheme是将Avahi从.local移动到.alocal之类的东西,以便多播DNS不适用于.local域,并且默认的nsswitchconfiguration似乎工作。 我想除去[NOTFOUND=return]参数也会起作用,因为如果一个.local主机没有find,它将阻止多播DNS结束查找,但这可能是一个坏主意。

最终这是一个边缘案例,因为我没有完全理解.local域的重要性,我只是把它看作是一个内部networking的良好惯例。