一、外网、内网、公网
我们先来了解3个概念 ,外网、内网、公网。
- 外网是相对于内网而言的,和内网区别于使用了不同的网关物理设备(路由器/交换机),比如公司电脑是内网角色,当你使用家里电脑访问公司电脑时,家里的电脑就充当着外网角色;
- 公网IP的获取方式是运营商提供或者租用一个拥有公网 IP 的云服务器,随着可用的公网 IPv4 地址越来越少,现在的运营商基本不给家用宽带分配公网 IP 。要么我们就自己购买云服务器获取公网IP,要么就去一些第三方网站购买别人已搭建好的服务器映射出公网域名。
二、内网穿透是什么?
内网穿透技术,通俗易懂的讲法:跨越物理距离,实现端到端的远程访问。
三、内网穿透有什么用?
NAT:Network Address Translation(网络地址转换),是将内部私有的网络地址转换成合法IP地址的技术。
一般而言,内网中的多台主机在没有固定公网IP的情况下,NAT(网络地址转换技术)使得内网中的主机可以共享一个公网 IP 地址,从而访问外部网络,可以令有限的IPv4公网地址利用最大化,这就是我们为什么能在电脑上浏览网页等的原因,但反过来,外网主机通常无法直接访问内网主机。此时,内网穿透技术的作用就显现了,它能让外网的设备找到处于内网的设备,从而实现数据通信、资源共享、设备控制。
同一个内网下的各个主机是可以直接通过内网IP互相访问的,举个例子来讲:如果大家在网上买过路由器安装,给路由器连接上光猫后,路由器的说明书会给1个内网的静态IP地址我们登陆,此时我们使用手机输入这个IP地址,便可跳转到路由器的设置界面去设置密码,加密方式等等,这就是经典的内网主机互相访问。
四、我们为什么需要内网穿透?
没有需求总不能自己无故创造需求吧?因此,知道了内网穿透是什么和内网穿透的作用后,得看是否自己有相应的需求吧?
场景:我要开始在家办公,需要远程连接公司的电脑亦或我在公司,想远程操作家里的电脑。此时公司的网络和家里的网络不是同一个局域网(是两个公网IP下的不同局域网),故不能直接用Windows的远程桌面连接。亦或是你想跟朋友远程连接,一起play computer games…………等等需求都要用上内网穿透。
五、内网穿透客户端软件有哪些推荐?
内网穿透客户端软件是由第三方网站开发的,一般第三方网站都提供有下载方式,主要作用是部署在内网的电脑上实时运行并且与ngrok/frp等远程服务器建立长持久的TCP/UDP/HTTP(s)通信,以便随时传输数据。
内网穿透的客户端软件大致可以分为两类:
第一类是基于固定的公网ip地址,每个人都可以访问,比如国外著名的frp、ngrok,还有国内的飞鸽穿透(带宽高,限流量,但是每天这么多流量肯定够用)、小蝴蝶内网穿透(推荐:价格最实惠,带宽高)、sunny-ngrok(推荐:国内版ngrok,简单易用)、樱花内网穿透(frp:个人创建,价格也可以,开会员就行)。
NOTE:以上推荐虽然不是什么大厂的,但都运营了许久,可靠性还是相对可以的。
第二类就是基于大内网(构建虚拟局域网),把多个IP地址放到一个虚拟网络中,这个虚拟网络中的成员可以互相访问,其有一个专业名称为VPN(虚拟专用网络)。比如ZeroTier(局域网设备之间的打洞速度还可以,但是内网和外网通过中继服务器访问简直慢得离谱)、蒲公英(免费版只支持3个设备使用,收费版昂贵)、Taliscale、Cloudflare(2个都没用过)等等。
打个比方说就是,第一类软件类似于B站,人人都可以访问,第二类软件就类似于资源共享群,只有加入到这个群才能交换彼此的资源。
第一类有个必备条件,那就是公网ip;第二类的话一般免费的都会有IP数量限制,需要更多IP加入就要加钱升级。
📚NOTE:
①正向代理,代理的是客户端。
突破国外网站访问限制,“科学上网”的方式就是通过正向代理服务器实现的。客户端需主动设置代理服务器IP或者域名进行访问。
②反向代理,代理的是服务器端。
反向代理就是上述所说的国内外内网穿透客户端frpc了。举个例子:假设已部署好内网穿透客户端frpc在公司内网服务器,此时在家里的你使用电脑作为客户端访问,无需作任何设置,便可通过在公网跳板服务器frps来穿透访问在公司自建的博客。
客户端=家里的你,代理服务器=公网跳板服务器frps,目标服务器=公司内网PC电脑。你会发现,代理服务器和目标服务器好像绑定在了一起,且客户端不需要进行任何设置,直接访问代理服务器映射的域名或者真实IP即可,是的,反向代理就是这样很好地隐藏保护了目标服务器。
📚INFO:frpc是快速反向代理客户端,frps是快速反向代理服务器。
frp反向代理的拓扑图:
简单理解是多个客户端<——>frp反向代理服务器<——>内网服务器
六、附加说明
内网穿透的各种方式可参考贝锐官网的说明:🔗https://hsk.oray.com/news/36524.html
ZeroTier在Windows下的使用部署方法可参考以下链接:
1)🔗链接1
2)🔗链接2