无法访问服务器使用域名,得到tcp标志RST

我有一个HTTP服务器提供服务的互联网,所以我在路由器configuration端口转发。 用户访问公司外部的服务器(URL:_http://mydomain.com:80 /)很好。 但是如果用户在公司内部,使用上面的url访问服务器是行不通的。 访问服务器的唯一方法是使用内部IP,如_http://192.168.1.213:80 /。

networking地图图片: http : //i56.tinypic.com/20i8dmr.jpg

我使用wireshark捕获的tcp数据包,当我telnet mydomin.com 80时,结果是无法连接到服务器。

wireshark抓包图片: http : //i51.tinypic.com/zsl8ox.png

在wireshark抓包中,No 2-3显示域名parsing成功。 没有4我的电脑(192.168.1.37)访问服务器使用服务器外部IP(116.232.154.50)。 No 7显示端口正确,答复ip是服务器内部IP(192.168.1.213)。 否8连接重置(TCP标志RST)。

有人知道是什么原因?

您的端口转发最有可能只是在公共接口(互联网端)上侦听请求。 根据您的路由器的品牌,您可以configuration听双方。

所以我们需要更多的信息帮助你进一步。

解决这个问题的通常办法是使用split-dns。 您需要configuration您的DNS服务器以根据查询的来源返回您的服务器名称的不同的IP地址。 你如何做这将取决于你使用的DNS服务器,但这是一个常见的设置。

所以在你的networking里面

servername.company.com – > 192.68.1.213

但是对于外部查询:

servername.company.com – > 116.232.154.50