SSH 连接到指向不同 IP 的域

SSH 连接到指向不同 IP 的域

首先介绍一些背景信息:

我有一个配置为运行邮件服务器、iRedadmin、postfix 等的域。我可以接收和发送电子邮件,一切正常。问题在于,在我决定注册在线投资组合托管服务后,他们希望我将 DNS 中我的域的 A @ 条目更改为指向他们的服务器 IP,这样我就可以使用自己的“自定义域”而不是他们的通用子域,这样我就不用转到 sub.domain.com/portfolio,而是转到 my-domain.com/portfolio 来访问我的网站,该网站实际上托管在他们的服务器上。

在将我的 A @ 条目更改为指向他们的 IP 后,一切正常,我可以发送电子邮件,但无法接收任何电子邮件。问题在于,当有人尝试发送电子邮件给,比如说,[电子邮件保护],所有邮件实际上都发送到他们的 IP 而不是我的 IP,所以理论上,他们应该收到我所有的邮件。

我通过创建指向我的域的子域(例如 webmail.domain.com)并创建指向 webmail.domain.com 的 MX 条目解决了该问题。电子邮件工作正常,但是,现在我的 ssh 连接出现问题。我可以使用其 IP 地址连接到我的域,但如果我使用该域,它实际上会连接到投资组合托管服务的 IP。真可悲。

我的问题是:是否可以创建仅适用于某些端口的 DNS 条目?这样我就可以通过端口 22/21 等进行 ssh/FTP 了……并使用我的本地 IP 而不是他们的 IP?

谢谢您的帮助,这真的很重要!

答案1

DNS 条目与端口无关。它们只是域名到 IP 地址转换的注册表。

当您通过 ssh 进入服务器(例如 domain.com)时,首先会完成对 domain.com 的 DNS 查找。然后,您的 ssh 客户端将使用返回的 IP 连接到服务器。SSH 客户端知道您的服务器的 SSH 在端口 22 上工作,因此它会尝试在端口 22 上连接到该 IP 地址。

在您的情况下,如果您的 domain.com 指向您的投资组合托管服务的 IP,那么您的 ssh 客户端将解析该 IP。

也许您可以添加另一个指向您服务器的子域名,然后使用它登录。或者,如果电子邮件位于同一台服务器上,则使用您的子域名来发送电子邮件。

另一种方法是将你的域名添加到 /etc/hosts (对于 Linux)。DNS 解析首先查找 hosts 文件,然后查找 DNS,因此如果你在那里有一个条目,那么你的 ssh 客户端将把它解析为你的服务器。

您可以查看为 Linux 和其他操作系统添加主机条目的方法这里

相关内容