我们有一台 Windows SBS 2008 机器。需要将几个端口从路由器转发到服务器(该机器托管一个 FTP 服务器、一个 Web 服务器,我们需要通过远程桌面访问它)。
我们最近更换了路由器(从 SpeedTouch 换成了华为 EchoLife HG520s)。使用之前的路由器时,端口转发工作正常。现在,在新路由器上设置端口转发后,什么都不起作用了。有人能帮我指点如何诊断/排除路由器和 Windows SBS 2008 中的端口转发问题吗?例如:将路由器接口中的端口转发到服务器的内部 IP 后,如何在 SBS 2008 日志中查看请求是否已正确转发给它?
答案1
只要您的服务器上有一个静态 IP,而不是通过路由器的 DHCP...如果它是一些人建议的家用路由器...只要您有正确的端口通往服务器的服务,它就应该可以工作。
- 从网络内部验证您是否可以连接到服务。
- 验证您是否具有正确的外部地址(www.whatismyip.com)。
- 验证端口是否“打开”并且未被服务器上的防火墙阻止。
- 验证端口是否从外部“打开”(nmap 是你的朋友,否则你需要另一个服务来扫描你的外部 IP)
- 重启路由器以验证新设置是否生效。这本来不是必须的,但如果是廉价路由器,就很难说了。
- 如果您有特定服务的日志记录,请检查日志以查看是否有任何连接尝试或服务器端显示的任何内容。
您可能要考虑将这些服务(尤其是 FTP)放在 DMZ 中。您提到的所有服务都在一台机器上,这实际上会使其面临各种黑客攻击,我个人不希望它与我的个人机器位于同一子网中。将其放在 DMZ 中,您可能会比单独进行端口转发更轻松。
答案2
使用 Telnet 连接到您的外部 IP 和您转发的端口。如果连接成功,则表示正常工作 :)
如果没有,请向我们提供路由器配置上的端口转发页面的一些屏幕截图。
答案3
了解 WireSharkhttp://www.wireshark.org/
这将让您监控 SBS 端的网络流量。
正如 Campo 所建议的,针对各个端口运行 telnet。
但是,RDP 对 telnet 的响应不如 SMTP、POP 等服务。您将获得连接,但屏幕上没有输出,因此您必须注意这与通过 telnet 检查 RDP 的超时之间的区别。
运行 WireShark 后,您可以尝试进行 telnet 以更好地了解服务器上发生的情况。
不熟悉您的路由器,因此无法对此发表太多意见。不过,它看起来像是一个标准的家庭网络路由器,因此可能没有太多诊断选项。