我正在尝试将面向公众的 IP 端口转发到我的服务器的 IP,中间有一个 D-Link 路由器,这样公共 IP 上的端口 80 就会转发到服务器上的端口 80(不在 DMZ 中)。我需要将服务器放在 DMZ 中才能正常工作吗?我需要在 TCP 和 UDP 上转发端口 80 还是只在 TCP 上转发端口 80,以便我的服务器上的 Web 服务器(IIS)可以使用公共 IP 访问?
答案1
我不太确定你在问什么。
您只需确保您的 ISP 为您提供未过滤的服务(一些阻止关键基础设施端口 - 25、80 等)
如果您说您有一个路由器,只需确保您已为端口 80 或 HTTP(相同的东西,一些列为端口,其他列为应用程序)设置了防火墙,该防火墙指向托管它的服务器的内部 IP。
但是,如果您说您有两个路由器,中间有一个 DMZ - 您可能会遇到与“双 NAT”有关的问题。只需确保外部路由器将端口 80 转发到内部路由器的 IP,并且内部路由器将端口 80 转发到服务器的 IP。
至于 DMZ,它实际上不应该有什么区别,大多数路由器只是将 DMZ 视为“其他一切”,因此如果您针对 HTTP / 端口 80 流量设置了特定规则,它应该覆盖 DMZ 规则。
至于安全最佳实践,如果机器不执行任何其他操作并且您想隔离它,请将其粘贴在 DMZ 中。
答案2
您需要在 D-Link 路由器上启用端口转发。但是,您还必须确保将 D-Link 的默认 Web 服务从端口 80 更改为其他端口。例如 8080。这样 D-Link 的端口 80 就不会干扰端口转发规则。您必须允许 tcp 和 udp 两种协议。
此链接将有助于您找到您的 D-Link 路由器以及如何在其上进行端口转发。
http://portforward.com/english/routers/port_forwarding/routerindex.htm