如何找出端口转发的起始端口和结束端口设置?

如何找出端口转发的起始端口和结束端口设置?

我正在尝试在路由器上设置端口转发,以便我的计算机的本地开发环境可供外部访问。

我的路由器是 Sky box,本地开发环境是 MAMP。本地开发 URL 是localhost:8888

我在路由器上设置了自定义端口转发服务。它包括 TCP 和 UDP。我需要为“起始端口”和“结束端口”输入一个数字。我如何知道这个数字应该是多少?

目前它们都设置为 8888,但似乎不起作用。我尝试将它们更改为 80,但随后收到错误消息“抱歉,所选服务已被防火墙使用!”。

更新所以目前我的设置是:

我的本地开发环境的 URL 是(并且一直是)http://localhost:8888/

在路由器中我添加了这个:

Services: Add Custom Service - PORT FORWARDING  
Type: TCP and UDP
Start Port: 8888
Finish Port: 8888

和这个:

Firewall Rules - Inbound Services
Service: (ive used the service created above)
Action: Allow always
Send to LAN Server: (this is my computers IPv4 address)
WAN Users: Any

http://my-ip-number:8888/我可以通过http://localhost:8888/本地计算机访问我的开发环境。

我以为http://my-ip-number:8888/现在外部可以使用它了,但是当我尝试使用 hidemyass.com 时,它显示“指定的端口无效”。

答案1

答案完全取决于您希望转发的协议。某些协议占用多个端口(例如 FTP),而许多(大多数)其他协议使用单个端口。例如,如果我想转发 SMTP 流量,我会创建一个规则,在外部,起始和结束端口都是 TCP\25,而在内部,规则指向端口 TCP\25 上的本地邮件服务器。但是,如果我想执行 FTP,我会将外部起始端口设置为 20,将结束端口设置为 21。如果我想要 HTTP 和 HTTPS,我会编写两个不同的规则,一个开始和结束为 tcp\80,另一个将开始和结束设置为 tcp\443,因为端口是不连续的。

在您的情况下,我假设您希望转发 HTTP 服务,因此由于端口 80 已被您的路由器占用,您必须将 8888 的入站请求转发到端口 80 的内部服务器,或者您必须设置 apache 来占用端口 8888。

您很可能不需要 UDP 转发,并且我建议您禁用它,除非您知道您需要它。

如有疑问,请检查http://portforward.com/有关如何为特定型号的路由器设置端口转发的说明。

相关内容