这已经困扰了我很长一段时间,我觉得这是可能的,但鉴于我的良好的人际关系知识,我似乎不知道如何。
用一个例子最容易理解:如果我运行两个名为serverA和serverB的服务器,并且我希望能够对每个服务器进行ssh,我可以执行ssh serverA.home.example.com或serverB.home.example.com,并让我的内部DNS解析这些请求,这两个请求都来自局域网(已经解决了),也可以通过广域网解决。
意识到这是一个例子,我知道这可以通过端口转发和改变每个端口上的ssh端口来实现--我只是对更好地学习和理解DNS感兴趣。
我的思路是,如果DNS请求进入端口53,我的DNS服务器将使用我的公共IP地址(假设主机在其表中)进行响应。我不明白的是,当请求发送到我的公共地址时,NAT将不知道请求的目标是哪个主机。
发布于 2012-05-13 07:40:41
DNS将域名解析为IP。因为你想从外面进入,你需要公开的IP。一旦域名解析,SSH将连接到IP。如果不指定端口,它将连接到默认端口(22)。如果您有一个公共IP,NAT无法知道您想连接哪个主机,A还是B-正如您所说的。
绕过它的选择:
发布于 2012-05-13 04:41:07
您需要有两个DNS服务器,一个用于回答example.com并返回私有IP的局域网,另一个用于互联网上的DNS服务器,该服务器回答相同的域,但返回公共IP。
https://serverfault.com/questions/388595
复制相似问题