【学习者日记】内网穿透二三事

说到内网穿透,大家可能会听过以下的一些名词:
zerotier、tailscale、openvpn、wireguard、cft、frp、nps、ddns等
这篇文章想简单记录一下自己对于这些技术的认识和理解。

内网穿透和异地组网

网上很多对于这两个的解释都非常的模糊,甚至很多有一种很重的AI味。
个人的理解如下:
内网穿透主要是将局域网跳过NAT的限制开放到广域网上,只要能实现在广域网的情况下访问该局域网应该都算内网穿透,无论是通过域名/IP访问还是VPN。
异地组网主要是将两个不同地理位置(异地)的局域网连接起来,可以让一个局域网访问另一个局域网的内容。
内网穿透更多面向个人用户和小规模企业,成本低,同时安全风险也更大。异地组网相对来说跟安全一点,但是同时成本也相应的提升。
个人感觉平时不太需要区分这两个东西,就像我通过在广域网环境下,将当前的局域网和我家的局域网进行了异地组网,然后成功访问了家中的局域网设备,这何尝不是一种内网穿透呢?

openvpn 和 wireguard

这俩玩意主要给我的感觉是一种协议,同时有相应的官方客户端。但是最主要的问题是,要使用这两个东西实现内网穿透 / 异地组网,需要有一端有公网IP,或者通过一个中转服务器进行中转流量。在两端都没有的公网IP的情况下,是无法互通的,也不能实现P2P打洞。
与之类似的还有IPSec,但是WireGuard的性能表现优于上面两种,也已经嵌入Linux内核了。下面这张图来自WireGuard官网
在这里插入图片描述

zerotier和tailscale

这俩玩意就是用来实现异地组网的,可以自动实现P2P打洞,同时打洞失败会走官方提供的免费中转服务器。相比之下,这是对于没有公网IP的用户的方案。
当然,这个方案也有缺点,第一点就是打洞的成功率,如果两边都是NAT4的网络,打洞几乎变得不可能。(目前手机流量基本上都是NAT4,NAT分级为0~4,可以搜一下)同时负责交换端口信息的服务器(如:zerotier中的planet服务器)基本上在国外,国内有时连接不上,导致打洞成功率偏低。
第二点就是中转服务器基本上也都是在国外,延迟非常的堪忧,同时由于很多人在用,带宽也非常的不稳定。
第三点就是运营商对于UDP的QOS,这里引用网友的一段话:

虽然很多人会说缺点是P2P容易打洞失败,但对于能把自家网络设置为NAT1,会自建MOON或者牵手服务器的人来说,打洞基本不会失败,我打洞成功率已经99%了,已经不是缺点。但目前P2P打洞都是走UDP,而各大运营商对UDP有QOS机制,所以造成P2P打洞难以跑满宽带上行速度,容易丢包,速度忽高忽低不稳地,所以一切P2P打洞最大的缺点是逾越不了运营商QOS机制。
来自:https://www.right.com.cn/forum/thread-8254767-1-1.html

对于这两个用哪个就见仁见智了,各有各的好处。

frp 和 nps

同样需要一台有公网IP的服务器,并且所有流量都会走服务器进行转发。可以将本地端口映射到服务器上的端口。当然,也有很多提供frp服务的,比如:樱花FRP。
这在有一台公网IP的服务器的情况下,是一个非常稳定且安全的办法,但是效果完全依赖于服务器的带宽的延迟。使用提供frp服务的产品,也依赖于提供服务的商家的服务器,如果被打了,那大家就是一起寄。

cft(Cloudflare Tunnel)

CloudFlare大善人提供的免费内网穿透服务,需要有域名挂载到cloudflare下。可以通过域名访问到局域网内的服务,运行一个cloudflared即可。但是需要自己手动添加映射,同时国内联通网络sni阻断有点严重,会导致时不时连不上,同时延迟也相对较高。

DDNS

这个针对于拥有公网IPv4和IPv6的用户,对于家宽用户来说,虽然有公网IPv4或公网IPv6,但是IP往往是动态的,所以使用DDNS定时检测并将域名解析到获取的分配的IP上。
这种情况也是最理想的,可以直连访问服务,同时也能利用满带宽,但是带来的安全问题,需要自己建立好防火墙了。希望IPv6早早普及。

总结一下

有一方有公网IP推荐使用OpenVPN和wireguard。
双方没有公网IP推荐使用zerotier和tailscale进行P2P打洞。
有含公网IP的服务器的服务器可以选择frp和nps。
只是简单开放部分服务到公网(特别是web)推荐使用cft。
家里有公网IPv4或IPv6推荐使用DDNS,直连效果更好。

  • 19
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值