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

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

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

我可以使用其 IP 地址远程连接到我的系统,DNS 返回正确的 IP,但我无法通过 DNS 记录连接。

IE

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”中输入了一个错误的 IP,但现在它可以无问题地连接,而我只是个白痴。:)

答案1

检查您的/etc/hosts文件中是否有该记录。nslookup 不会使用此文件来解析 DNS。

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

答案2

如果我没看错您的评论,您可以连接到 localhost (127.0.0.1)。但是,在任何情况下 - 通过域名连接到任何协议,您都会遇到失败。

由于您说情况已经发生变化,这让我相信已经引入了防火墙规则,其中允许 127.0.0.1,但 IP(包括 50.100.XXX.YYY)被阻止。

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

虽然路由器已打开,但听起来好像防火墙规则在 fake.myDnsExample.com 处阻止了。

相关内容