端口转发未按预期工作

端口转发未按预期工作

我正在运行一台连接到互联网的路由器的笔记本电脑。路由器的公共 IP 不是用于私有网络的 IP 之一(https://en.m.wikipedia.org/wiki/Private_network),并且我可以编辑路由器的虚拟服务器/NAT转发设置。

我已将路由器外部端口 1200 上收到的流量转发到我的笔记本电脑的私有 IP 地址(同一端口)。我有一个 cheroot (cherrypy) 服务器在端口 1200 上监听。

lsof 命令确认 cheroot 正在监听 1200,并使用正确的 python 文件进行初始化。

当我扫描路由器的私有 IP 地址(192.168.0.1)以查找开放端口时,1200 不是开放端口之一(根据 Bodos 的评论,这是可以预料到的,现在我明白了)。

我的路由器启用了 ipv4 和 ipv6 SPI 防火墙。

我已经向我的域名提供商添加了一条指向我的路由器公共 IP 的 A 记录,以及一条指向我的路由器外部端口 (1200) 的 SRV 记录。

但是我尝试访问的网站无法访问(服务器响应时间过长,无法访问网站)。我尝试使用https://canyouseeme.org当我访问路由器的公共 IP 时,查看端口 1200 是否打开,我收到连接超时响应。

附加细节,不确定是否相关:

  1. 然后我使用了一个 Python 端口扫描脚本,将我的笔记本电脑连接到热点,运行该脚本并检查路由器公共 IP 上的所有开放端口。没有开放任何端口。
  2. cheroot 服务器在本地私有网络上很好地运行我的应用程序。
  3. 我刚刚安装了 Nmap,迫不及待地想使用它。:-)
  4. 连接到路由器时,到路由器私有 IP 的跟踪路由按预期工作。但是,当我使用手机的 4g 热点时,从我的笔记本电脑到路由器公共 IP 的跟踪路由失败。
  5. 我尝试在关闭防火墙的情况下访问该网站,但没有帮助。

有人能帮助我理解我在这里遗漏了什么吗?

有没有办法在路由器上运行 netstat?感觉端口转发并没有真正生效,或者传入连接被阻止了。我该如何评估这些可能性?

更新:我的路由器位于另一个 ISP 路由器后面。路由器管理面板中的 IP 与我的公共 IP 不匹配。

我想就是这样了。现在必须要求 ISP 启用到我的路由器的端口转发?双重 NAT?除了 ngrok 之类的东西,没有其他解决方案了,对吧?

答案1

当我扫描路由器的私有 IP 地址(192.168.0.1)以查找开放端口时,1200 不是开放端口之一。

这完全正常。端口转发(又称目标 NAT)起作用了来自公共 WAN IP 地址。您需要使用路由器的公共 IP 地址从 LAN 外部尝试。另外,请确保您已配置笔记本电脑的本地防火墙以允许该连接。

如果一切都失败,那么要么是路由器的端口转发坏了,要么是路由器上的防火墙功能也需要您配置,要么是您的 ISP 阻止了传入连接。

相关内容