我有一个 p2p 应用,我想知道是否可以在另一台路由器后面的路由器上转发端口。目前我可以使用 python 脚本在直接路由器上转发端口,但当2个用户在另一个 Nat 后面的Nat后面时,我不知道我是怎么做的可以做到这一点。这是情况的架构
user1
||
||
first router
||
||
second router
||
||
||
Internet
||
||
second router
||
||
first router
||
||
||
user2
注意:用户可以拥有2个或更多路由器,2只是一个案例,但我认为如果我可以做2,我可以做更多。
非常感谢每一位帮助
下面是代码
import miniupnpc
def forward_port(port, description=''):
upnp = miniupnpc.UPnP()
upnp.discoverdelay = 10
upnp.discover()
upnp.selectigd()
port = port
# addportmapping(external-port, protocol, internal-host, internal-port, description, remote-host)
upnp.addportmapping(port, 'UDP', upnp.lanaddr, port, description, '')