我想在我无法访问的路由器上为我的网络服务器端口转发端口。我非常怀疑UPNP是否已启用。
答案 0 :(得分:1)
实际上,你可以(某种程度上)
它有点复杂,不会一直有效,但这是它的工作原理:
假设:
RouterA,公共IP 1.2.3.4
PC1私有ip a.b.c.d(路由器A后面)
RouterB,公共IP 5.6.7.8
PC2私有ip e.f.g.h(路由器B后面)
现在,给定一个IDEAL解决方案(即没有PAT)...
步骤A:
从任何端口上的PC1发送任何消息(本例中为10000)到RouterB的公共IP(4.5.6.7)。这将注册a.b.c.d:10000 - >路由器A的NAT和PAT为4.5.6.7:10000。 RouterB将丢弃此数据包(正如预期的那样,因为它未被请求)。
步骤B: 同时,在同一端口(10000)上连续从PC2向路由器A(1.2.3.4)的公共IP发送数据包。这将注册egf.h:10000 - > RouterB的NAT和PAT上的1.2.3.4:10000。
步骤C:
现在,这就是魔术发生的地方:
PC2不断向RouterA发送数据包,从而在RouterB中保持“漏洞”打开,以便回复响应。当PC1将其单个数据包发送到RouterB时,它将作为响应出现在RouterB中,因此将被转发到PC2。一旦PC2收到此“响应”,请确保再发送一个数据包并停止发送连续数据包。最后一个数据包将作为PC1的“响应”并通过步骤A中创建的“漏洞”。瞧!你现在有NAT横向。您只需每隔一分钟左右发送一个数据包,以保持“洞”打开。
注意:这仅适用于UDP,因为它是无连接的(丢弃的数据包没问题)。
现在几乎所有路由器都使用PAT,所以你必须“猜测”对大多数路由器“响应”的端口将进行+ -10的偏移(ieabcd:10000 - > 5.6.7.8:10010)。
只需在该范围内尝试一些(-10到+10,直到得到回复)
其余的路由器在PAT上是随机的。如果是这样,你就搞砸了...尝试另一个方向(即从另一个方向开始连接)。如果失败了,你就无法联系......抱歉)
答案 1 :(得分:0)
根据我的理解,你有一个运行需要转发内容的网络服务器,以及一个你无法访问的路由器端口;你想连接这两个。
我非常怀疑有办法做到这一点,如果你只有sudo访问你的路由器,你可以使用iptables重定向