我是一名 Web 开发人员,但最近遇到了一些网络问题。我正在开发一个客户端服务器,开发一个新网站。它有一个私人服务器,Win 2008 R2。这台服务器有更多的网络适配器,它作为大楼内 75 个站点的路由器(我还安装了一台安装了活动目录的虚拟机,以便我们可以管理这些站点)。问题就出在这里。
从外部,我能够访问网站。一切正常。
从这些站点,我可以毫无问题地上网。但是,如果我从这些站点访问服务器上托管的网站,整个系统就会瘫痪(我的意思是网站无法再访问。甚至从大楼外面也无法访问)。恢复正常运行的唯一方法是重新启动远程路由器访问服务(基于 joomla)。
一开始我们使用的是 IIS,但我将其改为 apache,希望它能正常工作。但还是没成功。
我还想说明有一个正确配置的 DNS 服务器。我不太懂网络,但我会提供您需要的所有详细信息。我真的想让这个工作正常进行。
再次抱歉,我不是网络专家,但我知道一些东西。那么,你有什么想法吗?
答案1
对我来说,这听起来像是 arp 层发生了一些奇怪的事情。您描述的问题听起来像是您有两个可能的设备可以充当互联网网关,并且通过从错误的设备内部访问您的网站,将其 MAC 地址放入 arp 表中。重新启动远程路由器访问服务可能会触发免费 arp,将正确的 MAC 放入服务器的 arp 表中。
这就是我对这里出了什么问题的理论。不过这是可以测试的!
在进行任何内部访问之前,请从命令行发出以下命令:
arp -a
这将转储服务器的 arp 表。网关 IP 地址将位于其中,请注意其 MAC 地址。然后从内部主机访问该站点并重新运行该命令。如果我没记错的话,网关的 MAC 地址将会改变。
至于如何修复它,我没有足够的细节来提供给你。有几个混杂变量:
- VM 的网络堆栈. 无论您在该服务器上运行何种虚拟机软件都会对此产生影响。
- 路由和远程访问 (RRAS) 服务的存在。这是默认的 Windows 路由服务,因此了解它是否已安装将会很有帮助。
- 服务器本身的任何防火墙. 有时这些会导致问题。
- ISP 设备上的任何路由和防火墙功能。假设有某种电缆调制解调器、DSL 线路、CPE 或其他设备将 ISP 的管道连接到您的服务器,那么该设备上的东西可能会产生一些干扰。