外部DNS到内部DNS

我在我的networking中有一个本地DNS服务器,并为我的一些内部网站(例如app1.domain.com,app2.domain.com)设置了一些名称logging,并且dns在内部parsing并加载网站就好了。

现在我也有一个godaddy域名,并希望允许这些网站的一些外部访问。 我在godaddy中创build了相同的A名logging,并将其指向我的单个WAN IP。 在将路由器上的所有传入端口80stream量直接转发到我的内部Web服务器的IP之前,就像临时解决scheme一样,并且工作正常。

现在我有第二个Web服务器,我需要在不同的内部服务器上公开。 因此,对于端口80的stream量,当客户端尝试从外部连接时,我需要将app1发送到我的内部ip 10.1.1.23和app2到10.1.1.24。

所以我修改我的路由器转发外部端口80stream量到10.1.1.11(我的内部DNS服务器)端口53为tcp / udp。 DNS服务器是Windows Server 2008 R2计算机。 它看起来像防火墙例外也设置为允许传入端口53的stream量,但任何时候我尝试从外部客户端访问该网站,什么也没有加载。 我知道godaddy转发stream量到我的广域网,因为我可以做一个tracertparsing我的广域网IP。

我究竟做错了什么?

我会继续前进,并在我的答案中做出几个假设。 如我错了请纠正我。

  1. 您只有1个公共IP,并且是分配给路由器的WAN接口的IP。

  2. 您的路由器是一个SOHO模式,只能在其WAN接口上分配一个IP。 即,如果您从ISP购买了其他静态IP,则需要更换您的路由器来处理此问题。


我在我的networking中有一个本地DNS服务器,并为我的一些内部网站(例如app1.domain.com,app2.domain.com)设置了一些名称logging,并且dns在内部parsing并加载网站就好了。

我假设你的内部DNS服务器configuration为返回服务器的RFC1918专用地址。 这使得此服务器上的DNS区域对局域网以外的人无用。 如果他们从互联网上得到10.1.1.x的回应,就会被丢弃。

现在我也有一个godaddy域名,并希望允许这些网站的一些外部访问。 我在godaddy中创build了相同的A名logging,并将其指向我的单个WAN IP。 在将路由器上的所有传入端口80stream量直接转发到我的内部Web服务器的IP之前,就像临时解决scheme一样,并且工作正常。

好。 这将起作用,但它不是非常可扩展的,正如你所看到的。

现在我有第二个Web服务器,我需要在不同的内部服务器上公开。 因此,对于端口80的stream量,当客户端尝试从外部连接时,我需要将app1发送到我的内部ip 10.1.1.23和app2到10.1.1.24。

所以我修改我的路由器转发外部端口80stream量到10.1.1.11(我的内部DNS服务器)端口53为tcp / udp。 DNS服务器是Windows Server 2008 R2计算机。 它看起来像防火墙例外也设置为允许传入端口53的stream量,但任何时候我尝试从外部客户端访问该网站,什么也没有加载。 我知道godaddy转发stream量到我的广域网,因为我可以做一个tracertparsing我的广域网IP。

我的朋友,这是你变得奇怪的地方。 真的,真的很奇怪。 您正在将HTTP请求转发到DNS服务器并转换端口。 这就像用英文写给美国某人的一封信一样,把它从邮局里拿出来放在缅甸人的邮箱里,想知道为什么你还没有收到答复。

HTTP和DNS是完全不同的协议。 HTTP是什么提供您的网页。 DNS将完全限定的名称转换为IP地址。 它们不可互换。 DNS服务器将要看看你转发给它的HTTP数据包,并说“拧这个东西,不知道这说的是什么”,然后把它扔进垃圾桶,就像你的新笔友一样缅甸。


好,那么现在你知道你出了什么问题,你能做些什么呢?

  1. 获取额外的公共IP并将其分配给您的路由器。 这假设你的路由器可以处理这个。 如果不行,你可能需要换一个新的,或者使用选项#2。 如果你得到另一个IP和一个可以处理它的路由器,你只需设置Go Daddy来为你的第二台服务器使用第二个IP,然后把新IP上的80端口请求转发到新的服务器上,就像你对第一个服务器IP和你的第一台服务器。 这将要求您为每个添加的新服务器设置一个公有IP。

  2. 设置一个反向代理并将所有内容指向您的一个IP地址。 你可以使用像Apache的mod_proxy或IIS7的ARR的东西。 您会告诉Go Daddy的DNS将所有外部网站的所有stream量发送到您已有的一个IP。 在您的路由器上,您需要将端口80上的请求转发到充当反向代理的新服务器。 这台服务器将被configuration为像一个“经纪人”的入站连接。 您可以configuration该服务器,根据请求的主机名将所有请求转发给正确的服务器。