外网访问内网(内网穿透)方法总结
自建服务器或者监控时,如何使外网设备访问到内网,是个麻烦问题。 这个任务称为内网穿透,解决方法通常是端口映射与端口转发。 网上关于端口映射与端口转发之间区别的讨论很多,观点也不尽相同,在此我也无意争辩二者的区别,因为实际情况是,端口映射与端口转发这两个词在很多时候都混用了。 在本文中,请各位暂且认同:端口映射发生于节点与路由/网关之间,以NAT(Network Address Translation,网络地址翻译)为原理;而端口转发以反向隧道、反向代理为原理,发生于两个网络节点的端口之间。 端口映射 要实现端口映射,如果是家庭宽带是公网IP,可以直接使用带端口映射功能的路由器,或者将网线插入一台电脑做网关(需要解决的是各服务器之间网络连接的问题,如何使其他服务器连上这台电脑,是通过网线桥接还是无线连接需要自行衡量);家庭宽带不是公网IP的,可以使用NAT服务提供商、DDNS服务提供商。 (一) 路由器的虚拟服务器(端口映射)功能 这种方法需要一个带有端口映射功能的路由器。我以中兴的天翼网关和树莓派motion网络服务为例。配置时,其中外部端口是外网访问的端口,例如可选9000,建议不要太小,因为服务提供商可能屏蔽较小的一些端口;内网端口是motion的端口,为8081或8080;协议选TCP;内部IP是树莓派的局域网ip。例如你的公网ip为59.60.84.xxx