我有一个双网卡 Windows 2008 Server 设置,其中一个公共接口连接到互联网,另一个连接到挂在 LAN 上的交换机。我在 Windows 2008 机器上运行 RRAS 并执行 NAT。Windows 2008 Server 还运行 IIS 并托管一个小型网站。LAN 上的所有 PC 都可以通过 Windows 2008 RRAS 服务完成的路由顺利访问互联网。Windows 2008 Server 机器上托管的网站可以从外部顺利访问,但是当 LAN 上的机器尝试通过外部主机名(即 www.contoso.com)访问它时,DNS 会将地址解析为公共 IP,浏览器开始加载页面,但随后一切都停止了,页面从未正确呈现(确实发生了部分页面呈现)。使用绑定到私有网卡的本地机器或 IP 地址通过 LAN 访问网站会导致页面成功加载。
我该如何解决这个问题?我是一名职业开发人员,并且精通网络(足以造成危险)。任何帮助或指导都会大大赞赏。
互联网 | | [SMC]--[公共网卡] \ -[Win 2008 服务器] / [私人网卡] | | | [转变] | | 局域网答案1
服务器上的外部 NIC 是否具有公共 IP /直接连接到路由器,还是进入另一个路由器?
发生的事情是(如果您的设置如我上面预期的那样)-
客户端查找 IP 并发现它位于本地网络之外 客户端转到其默认网关(您的 Windows 2008 Box)并说出 IP。Windows 2008 说不在这里,查找默认网关并将请求转发到您的路由器。路由器说,那个 IP 是我的,但随后挂起并超时!
查看您的路由器是否支持 NAT 环回。基本上,Windows 2008 中的 NAT 正在运行,但 DNS IP 是您的公共 IP,RRAS 无法识别它是自己的 IP,因此无法执行其工作并路由到其外部网络。
如果您说出路由器的品牌/型号,我可以进一步帮助您(如果它支持)
另一种可能很尴尬的方式是在 Windows 2008 框上安装您自己的本地 DNS 服务器并将所有客户端引用到它(让它将查询转发到您当前的 DNS 服务器)并强制为每个具有内部记录的域设置一个区域。
... 或者,如果您只有少数几台机器,并且路由器不支持 NAT 环回,并且您当然不想购买新硬件,请将您的记录插入机器的主机文件中。这是一种非常有效的技术,只要您有共享的管理员权限,您就可以非常轻松地编写脚本,只需将其放在目录中,然后执行
copy hosts \\\computer_name\c$\windows\system32\drivers\etc\hosts
无需重启即可完成!
当然,最好只是启用 NAT Loopback!
无论如何,希望我能帮上忙,这就是问题所在...害怕你的回复“我只有一个调制解调器,并且服务器在其配置中使用外部 IP!!”