为什么端口转发时我的连接被拒绝?

为什么端口转发时我的连接被拒绝?

这个问题与此相关:远程网络连接的应用程序/设备设置

我有一个 2wire 3801HGV 路由器,并且我做了一些防火墙设置来打开我所连接的设备之一上的某些端口。

所以现在实际上它会说:

针孔

external pin-holes (186 available):
pinh[0]: id 5, proto 6, sess tout 86400, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:80, n: **.**.***.**:80
pinh[1]: id 6, proto 17, sess tout 600, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:80, n: **.**.***.**:80
pinh[2]: id 7, proto 6, sess tout 86400, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:9000, n: **.**.***.**:9000
pinh[3]: id 8, proto 6, sess tout 86400, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:18004, n: **.**.***.**:18004
pinh[4]: id 9, proto 17, sess tout 600, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:9000, n: **.**.***.**:9000
pinh[5]: id 10, proto 17, sess tout 600, pinh tout 0, arg 0 natpt|user
  l: 192.168.1.253:18004, n: **.**.***.**:18004

当然,它显示的不是那些*,而是我实际的公共 IP。

如果是那样的话,那么当我去http://www.canyouseeme.org/我正在检查端口 80、9000 和 18004,它说

错误:我无法在端口 (80/9000/18004) 上的 **.**.***.** 上看到您的服务

原因:连接被拒绝

答案1

当您在路由器上进行端口转发时,您是在告诉它将这些端口上的任何传入连接传递到内部设备。

路由器所做的只是将传入数据包上的目标 IP 地址更改为您指定的内部 IP 地址。内部地址的设备负责接收和响应传入连接。

因此,为了使端口转发正常工作,您既需要设置端口转发,又需要内部设备“监听”传入端口。

如果内部设备没有正在运行的应用程序准备接受传入的连接,它将向源发送回 TCP RST 数据包,通常描述为“连接被拒绝”。

一旦您的应用程序在这些端口上运行,端口转发测试就会成功。

答案2

连接被拒绝意味着 DVR 的 NIC 处于休眠状态或冻结或卡住,因此 Linux 嵌入式系统内部运行的服务已损坏,需要重新启动 DVR 才能重置。由于大多数 DVR 过度投入资源和人员,因此不要遵循建议的较低设置,这只是 DVR 无法保持一周正常运行时间的十几个常见原因之一。

相关内容