先了解一下什么叫内网穿透
看这种难懂的资料肯定不是我的风格,直接来谈他是干嘛的吧
让没有公网IP的电脑像公网一样可以被访问
首先先要明确一点,什么叫做公网IP:公网ip是指用公网连接Internet上的非保留地址,可以与Internet上的其他计算机随意互相访问。互联网上的每台计算机都有一个独立的IP地址,该IP地址唯一确定互联网上的一台计算机,这个IP地址就是指的公网IP地址。
可是在当年制定协议的时候没有想到当今互联网发展速度如此之快ip(这里指ipv4)变成了稀有资源(当然这里说的是中国,因为在美国当年制定协议的时候给自己留了非常多的地址段),于是催生了ipv6(这里不详细展开说ipv6了)。
那在ipv4匮乏的年代且ipv6还没有普及的情况下,我们该怎么办?按照定义来说没有公网IP的设备就无法上网了,这可是件大问题,这让本来事不关己的人也陷入了恐慌,于是我们要引入一个概念NAT网络。
NAT(Network Address Translation),是指网络地址转换,我依旧不想讲的特别麻烦深奥,我们不妨设想一下,假设你现在在家里,家里有着物联网的空调、电饭煲、热水器、电灯、电视机、智能音箱等等需要网络的设备,还有你的电脑、Pad、手机等等日常需要的物品,他们需要上网必须要有IP(被分配IP),但实际上我们没有那么多IP给一个人用(一个人占几十个公网IP地址怕别是会被人打死)
既然没有那么多的公网IP分配给我们,也不见得我们的这些设备不能用呀,这其中就是NAT的功绩。
你可能会问你不记得有添置相关的网络设备呀,其实不然,你家里的路由器就是担当这个功能的角色。路由器把一个公网IP掰成理论最大254个内网IP分给这些设备用,让他们无需再去申请独立的公网IP(但实际上也不会一户一个公网IP,实际上可能一个小区也就一个公网IP,说不定范围更大才有一个公网IP,但在此我先假设你家有独立的一个公网IP)。
这个NAT就有意思了,假设你的公网IP地址是114.51.41.191,经过NAT地址转换后不论你手机、电脑、Pad、空调、电饭煲、手表等等一系列需要上网的东西,他们在外人看来的眼里,他们的公网IP地址都是清一色的114.51.41.191。这个过程是从内到外,而从外到内在没有经过设置的情况下是无法访问进来的也就一定程度上的保证了内网的安全。
公网IP是个好东西,不论是对下载速度的提升,还是自己搭建一个游戏服务器,亦或是自己搭建一个网站都是个不错的选择,但难受就难受在90%(几乎是100%,但是听群友说他们那边直接给公网IP的,但是也有一定几率会被回收)的情况下你的宽带运营商不会给你公网IP,需要公网IP可以自己申请(浙江不行了),或者拉专线(钱多无所谓)。东西是好,但我没有啊啊啊啊!怎么办?那就要讲内网穿透FRP这个东西了。
ps:你以为只有你家里路由器会做nat?运营商也在做更大的nat哦()
众所周知
服务器必定有公网IP,在此为了防杠我说的是自带公网IP的服务器,不要来和我扯nat服务器。
我们自己没有公网IP,但是服务器有啊!我们把服务器的拿过来用不就好了?!
于是FRP应时而生。
FRP从本质上来讲也是端口映射,两者都是将内网地址映射到公网可访问的地址,而区别是端口映射直接在路由器中配置即可。
而FRP配置的端口映射则需要客户端和服务端进行绑定后实现,相当于客户端和服务端之间建立了一条隧道,然后访问服务端的请求会通过隧道转发给内网主机。
总而言之让没有公网IP的人获得人权(不是)
如何部署?这里我只讲docker方法
只讲docker也是因为最简单最好理解不需要自己瞎折腾就可以轻轻松松实现内网穿透
准备工作:
1.一台线路不错的vps(国内为最优,其次是香港cn2gia、香港cmi、日本iij、日本软银),插一句嘴,带宽不可以太小这直接影响你后续的体验!我们家宽的上行带宽一般在50Mbps左右,vps的下行带宽最好比他高,当然低一点也不是问题就是体验差点,尽量选择国内,国内我就推荐这家网萌云,价格超级便宜,性价比极高,别给我扯什么腾讯云、阿里云,那丁点带宽有毛线用,1Mbps的带宽基本上是不可用的!当然如果闲国内带宽小价格贵的,也可以看看他家的美国4837线路(是新三网优化且与精品线路同机房,我后面会做一期评测,4c4g100Mbps仅需9.9一个月抢到就是赚到)
2.脑子、手、安装完宝塔的vps
安装步骤
step1.进入宝塔面板后台去软件商店中安装docker已安装的请无视

这里直接在搜索栏搜索docker,不要自己一页一页翻了,安装需要时间,耐心等
step2.新建文件夹

在此目录下新建一个名为“frp”的文件夹,并进入该文件夹,注意:本处新建文件夹是在opt文件夹下,如果你怕自己找错文件夹,请你直接再上方地址栏输入“/opt”然后敲击回车
step3.新建名为frps.ini的文件
进入我们刚刚新建的frp文件夹内,右键新建一个名为“frps.ini”的文件,并在其内添加以下代码
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = [改]面板账号
dashboard_pwd = [改]面板密码
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081
# 身份验证
token = [改]身份验证token
只改我写"[改]"的地方,其余的什么什么端口都别乱动

step4.运行一键脚本
docker run --restart=always --network host -d -v /opt/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
确保你已正确按照上述步骤安装完docker后,这段代码才会执行,请勿在执行时做其他操作,执行需要下载必要文件请耐心等待
step5.放行端口
在上述frps.ini里提到的端口7000、7500、7080、7081需要在宝塔防火墙放行以外
我们还需要放行frp穿透的端口,一个设备占用一个端口,不可以两个设备用同一个端口号(这一段是废话)

各位可以和我一样放行10000个端口(30000-40000),这样做的好处是你后续新增需要内网穿透的设备时,端口只需要写3xxxxx就可以立马生效了,无需再次进入宝塔添加需要放行的端口,当然了,一个一个放行端口也不是不好,会更加的安全。
step5.打开ip:7500查看是否安装成功

至此frps安装成功,如果需要实际使用则我们要接着使用frpc,请接着往下看
frpc里的c指代client,也就是需要被内网穿透的客户端
首先先下载我提供的包
按照我在frpc.ini里做好的注释自行修改
如何确定是否修改成功,可以手动运行一次“frpc.bat”然后去frp控制面板(ip:7500)查看
接下来讲的是添加开机自启

打开开始菜单找到任务计划程序,随后你可以选择把他拖到边上方便下次找
然后我们打开这个东西,并选择创建任务

接下来的每一步请按照我的操作来,不要有反骨



这里插一句,绿色框框说的是这个frpc.exe的绝对路径,你放哪里就写哪里

按上述全部操作完成后别忘记确定
然后你可以自信重启一下电脑,然后打开电脑后直接去frp管理面板看电脑是否上线了。
如果没有成功请再仔细看看我的步骤,还有远程桌面需要手动去打开,Windows默认是不开启的,再不懂的话你可以在本文下问我
后记
好久没有这么认真的写这么长的文章了,一个一个字自己手打出来还是蛮累的。
但是我还是那么喜欢跑题、瞎扯(((,导致我给我自己整了很多不必要的事情.....
虽然会有人说为什么网上都有现成的教程随便搬一篇过来不就好了,何必这样累死累活的亲历亲为再做一遍?
其实我也想过直接转载别人的(或者连转载的标记都不标记一下),但是那违背了我最初做博客的意愿。
我最初做博客就是为了写给自己看,如果有别的小伙伴也喜欢看那就更好了,但谁也不能保证谁写的东西一定人人都喜欢。
人的十根手指还有长短呢,我也一样,可能有的地方我自己清楚了但是表达不清楚,还请各位谅解。
博客这玩意儿吧,转载了就没意义了,就失去了他作为博客的意义了,也失去了博客这个名字了,采集别人的东西很简单
不管是火车头采集还是什么什么杂七杂八的采集插件一堆一堆的,分分钟就能把一个网站的文章转载到自己网上然后删掉版权
这没什么意义,我想写就写,想乱写就乱写,想瞎扯就瞎扯,想跑题就跑题这才是自己的博客,博客是用来记录自己的不是记录他人的
他们那些采集他人网站的网站与其叫做博客不如叫做资源网,他们不配叫博客。
又扯远了,我想说的是,你知道吗,写博客真的很有意思,不管是当自己的树洞还是笔记本都非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常棒!
感谢网萌云提供服务器
可以考虑一下他家服务器(?)->Carzy_Thursday
撰写评论