内网穿越的需求
今天去图书馆搜资料查了一下,这个问题很老,但是解决办法很久都没有更新过了,还得翻翻书。网上的帖子众说纷纭,看得人云里雾里,这里总结一下以后备查。
是关于一个局域网和外网之间连接的问题:
一分钟实现内网穿透:https://blog.youkuaiyun.com/zhangguo5/article/details/77848658
问题分析
首先问题的关键在于:
由于动态NAPT的映射关系是LAN侧数据包来触发的,如果WAN侧有主动进来的数据包,因为查询不到映射关系的存在,就会被丢弃掉。所以这时需要内网穿透。
方案一
理念是构建一个公网中的服务端,两个内网中的客户端都相当于向该服务器注册,然后发送三次握手,可互相发现,实现NAT穿透。
Python写的比较常用的实现TCP内网穿透的服务器是ShootBack:
ShootBack:https://github.com/aploium/shootback