DNS指向正确的IP,但无法使用DNS连接

更新 :这是严格的本地问题,连接远程工作(我犯了一个愚蠢的错误。)我认为现在是一个回环问题,这是一个不同的问题,并可能在另一篇文章中回答。

我可以远程连接到我的系统使用其IP地址,DNS返回正确的IP,但我不能通过DNSlogging连接。

matt@pontus:~$ ssh fake.myDnsExample.com ssh: connect to host fake.myDnsExample.com port 22: Network is unreachable matt@pontus:~$ nslookup fake.myDnsExample.com Server: 134.117.aaa.bbb Address: 134.117.aaa.bbb#53 Non-authoritative answer: fake.myDnsExample.com canonical name = myDnsExample.com. Name: myDnsExample.com Address: 50.100.XXX.YYY matt@pontus:~$ ssh 50.100.XXX.YYY *connects* 

我正在运行的Ubuntu 14.04,这个系统不在DMZ中,但端口22和80被转发到它,它曾经工作(不知道是什么改变),这也不能在本地工作,但我可以ssh localhost(或“/ etc / hosts”中的localhost的任何别名)

可能这是Ubuntu的一个问题? 我不认为我的路由器会干扰这一点。

我应该注意到,对于任何协议(SSH,Telnet,http等等),远程和本地都是相同的。

这是'ssh -v'的输出,

从本地主机:

 ssh -v fake.myDnsExample.com OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 debug1: Reading configuration data /home/matt/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 19: Applying options for * debug1: Connecting to fake.myDnsExample.com [50.100.XXX.YYY] port 22. debug1: connect to address 50.100.XXX.YYY port 22: Connection timed out ssh: connect to host fake.myDnsExample.com port 22: Connection timed out 

远程指出,我不小心在“/ etc / hosts”中input了一个错误的IP地址,现在连接没有问题,我只是一个白痴。 🙂

检查你的/etc/hosts文件的这个logging。 nslookup在parsingDNS时不会使用这个文件。

另外,检查你的/etc/nsswitch.conf它应该说的东西像hosts: files dns

如果我正在阅读你的评论,你可以连接到本地主机(127.0.0.1)。 但是,在任何情况下 – 通过域名连接到任何协议,您都会遇到失败。

既然你说事情已经改变,这使我相信,允许127.0.0.1,但IP(包括50.100.XXX.YYY)被阻止的防火墙规则已被引入。

虽然我无法解释为什么你可以直接与50.100.XXX.YYY连接,除非一个方法parsing为允许的私有IP地址。 这可能与机器上的“主机”或主机名设置有关。

虽然路由器是打开的,但听起来好像防火墙规则在fake.myDnsExample.com上被阻塞了。