嗨,我试图将我的网络服务器公开,但失败了。我访问了许多网站,阅读了许多端口转发指南,但仍然无法辨别问题所在。
无论我怎么尝试,端口测试都失败了。(我尝试在端口转发页面中放置了许多端口组合,但无济于事。)
一些附加信息:
我正在 raspberry pi 3 B+、raspbian 上运行。没有防火墙或任何东西。
我尝试完全关闭路由器上的防火墙,认为可能是路由器的防火墙问题,但无济于事。
从 whatismyip 获取公共 IP(已更改):101.251.120.22
WAN ip(华硕路由器页面显示):172.23.118.172
树莓派本地ip:192.168.1.244
我的服务器所在的端口:8123
链接:
华硕路由器端口转发图片:https://i.stack.imgur.com/oTZ3D.jpg
WAN 常规设置:https://i.stack.imgur.com/QKMZv.jpg
netstat 结果:https://i.stack.imgur.com/WWc4f.jpg
树莓派 IP:https://i.stack.imgur.com/4INoS.jpg
有任何帮助吗?谢谢!
P/s:从 stack overflow 移出。有一条评论说,由于我的住宅合同,我被禁止转发端口或诸如此类的事情,这对我来说是不可能的。有人能用更简单的术语解释一下吗?我必须让家庭助理启动并运行,我的项目才能工作 :(
编辑:尚未尝试使用 ipv6 和全局寻址来使其工作。有人有这方面的经验吗?
解决方案
对标记的答案进行补充。我的网络是双网的,因此在 whatismyip 等网站上显示的 WAN ip 和公共 ip 是不同的。从我的 ISP 获取静态 ip 会有所帮助。
答案1
端口转发是在您的 NAPT 表中手动设置一个条目,以便将发往您的地址的任何特定协议和协议地址(端口)的流量发送到您的网络内部的特定主机。
您的问题是您的路由器位于 ISP NAPT 路由器 (CGN) 后面,因此也需要在其上配置端口转发以指向您的路由器,该路由器不是配置了公用地址。您的 ISP 不会在其路由器上为您进行端口转发。
为了使端口转发从公共互联网工作到您的路由器,您的路由器需要一个公开到公共互联网的公共 IPv4 地址。您的路由器在其 WAN 接口上有一个私有地址。ISP 无法再获得更多公共地址,因此他们一直在为愿意为拥有公共 IPv4 地址特权付费的企业客户囤积这些地址。为此,他们开始向客户运行 NAT。他们应该为此使用共享地址空间,但许多 ISP(例如您的 ISP)似乎正在使用私有寻址。
住宅 ISP 的服务条款中有一条条款禁止您从您的网络向公共互联网运行服务,除非您获得他们的明确授权,因此 ISP 并不担心 CGN 会破坏您将服务器暴露给公共互联网的能力。