为什么要使用这些工具
我们要知道, 我们之所以可以实现不同主机间的通讯, 是因为ip地址这个唯一id才可以找到对方, 但是现在最常用的Ipv4只有 个地址位, 非常有限, 所以ipv4地址现在已经用完了, 那怎么办呢?
没有什么问题时加一层中间层解决不了的, 如果解决不了, 那就再加一层. 所以, 工程师们就加了NAT(Network Address Translation)这么个东西, 它的原理是把一堆设备连到一台路由上, 只有路由用一个ip, 其他设备分配内网(路由下连接的设备组成的网络)ip, 这样子不就可以”完美”解决Ip地址不够用的问题了吗.
但是, 这样也会产生一些副作用, 因为另外一台设备就无法通过ip找到另一台设备了, 所以才会有我们接下来说的工具的产生.
内网穿透
这类工具的原理是提供一个或多个中转服务器,中转服务器拥有公网ip, 客户端(client) 连接到这个中转服务器(server),将client的一个socket(ip:端口)映射server的一个socket,其他用户再连接到这个中转服务器的那个socket, 就可以实现通信了.
取决于原理, 这类工具一般是按流量计费.
SakuraFrp
这个工具算是国内比较主流的了,普通用户每月送5GiB流量,限速10Mbps,每天签到也会给流量, ¥10的青铜会员, 每月5 GiB + 108 GiB, 限速24Mbps, 这个个人用肯定是够了 缺点就是它需要用支付宝实名认证(18+), 不过所有内地内网穿透服务都是需要实名认证的.
自建Frp
这个就是曲线救国了属于是, 先说优点吧, 不用实名认证(前提是境外的服务器), 缺点可就太多了, 首先就是贵, 毕竟你租一个服务器也可以拿来搭一些其他服务, 如果你只搭Frp的话太浪费资源. 其次, 延迟高, 毕竟如果我在A地,你在B地, 服务器在C地, 那流量就要从A跑到C再跑到B, 相当于是x2了, 再何况服务器还在境外. 再其次, 不灵活, 你要部署一遍frp也是很麻烦的, 所以如果你只是想部署一些轻量级的服务, 是可以用云服务器的, 但是就没必要自建Frp了.
在这里甩个Frp的官方文档
异地组网
这类工具的原理是通过VPN(Virtual Personal Network虚拟专用网)的技术将不同主机通过一个或多个打洞(具体方法就是接下来会讲的NAT)服务器实现P2P连接, 当然如果打洞不成功也会使用中转服务器转发流量. 这类工具并不能将你的流量打到公网上去
取决于原理, 这类工具一般是按设备数计费.
Easytier
这个工具是我强烈推荐的, PCL2不用这个出事我还不知道这玩意, 它的节点都是国内的, 所以延迟也是非常之低. 其次, 这个是不限设备数的, 非常之仁慈.缺点就是不太稳定, 是因为NAT打洞在运营商上有一定的不稳定性. 至于法律风险嘛, 个人用是没问题的, 大规模使用肯定是需要申请一下相关资质了.
这个项目是公益性质的, 所以有大佬觉得好用的话, 捐个服务器呗~
Zerotier
这个和Easytier一样, 都不限设备数, 也是公益性质的, 唯一的区别是国外节点, 所以延迟会更高, 没用过, 其他的就不太知道了.
同样的, 也希望大家支持一下这个项目~
蒲公英
这个是贝锐Oray, 也就是做出来向日葵远程的那个公司, 搞的一个工具, 优点是国内的, 而且商用, 所以稳定性应该是最好的, 缺点就是免费版只能支持3台设备, 如果是家里远程或者和朋友联机还是可以的(如果你朋友比较少的情况), 如果你设备不止3台, 也可以搞一个网络盒子旁路组网或者升级专业版(不过很贵)
公网ipv6
ipv6就是ipv4的替代, ipv6的地址总数有足足 个, 这可不是4倍嗷, 这是倍. 所以这就可以完全解决ipv4不够用的问题了. 但是现在运营商有的不开放ipv6的访问, 就是内网可以访问公网但是公网不可以访问内网, 这就要你自己去和运营商扯皮了. 还有一种情况就是你家的网根本就不支持ipv6, 可以用这个网站检测一下
但是就算运营商给你分配了公网可以访问的ipv6地址, 也有可能是动态的, 这就要用各家的DDNS (Dynamic Domain Name System 动态域名系统)把你动态的ipv6 映射到一个静态的域名上就能访问了.
STUN/Natter
让我研究下, 我是知道有这种方法的, 但是没实操过, 所以不知道咋样