Frp稳定地内网穿透
本文最后更新于 2020年6月16日 凌晨
前言
众所周知,我们个人设备的IP都是虚拟分配或者说内网IP,并不是实际公网IP;所以,如果你小伙伴想访问你本地网站(端口)、本地内容,就需要把内网映射到公网。比如:Minecraft联机、本地建立网站公网访问等。
Natapp和花壳网的穿透,网速不稳定,而且容易掉线不稳定,用frp就稳定很大,而且和自己服务器端对端,也安全。
使用frp的前提
前提就是,你需要有一台带公网IP的设备,比如:服务器
推选服务器:
阿里云服务器
1.阿里云服务器:
老用户推荐链接
如果你是学生,可以9.5一个月租一个1 CPU 2G内存的服务器,这个服务器网络上行网络大概1.5m/s封顶,下行网络5m/s封顶,性价比极高:
阿里学生服务器
2.Vultr服务器 PS:(老用户邀请链接,可得到50美元)
3.腾讯云
4.百度云(非百度云盘)
个人推荐阿里云……且,推荐Linux Ubuntu系统。
准备工作
这边演示,以Linux服务器为例。
SSH连接服务器
Linux/Mac
直接打开终端,输入ssh root@IP:(IP为你的服务器IP,e.g.你的服务器IP是192.168.1.1,则SSH命令为ssh root@192.168.1.1)
Windows
Windows: 直接右键右下角的windows,打开powershell,第一次打开会比较久;打开后输入ssh root@IP:(IP为你的服务器IP,e.g.你的服务器IP是192.168.1.1,则SSH命令为ssh root@192.168.1.1)
Android/iOS
Android可以使用MT文件管理器2.0,进行SSH连接;iOS可以在App Store上搜索下载SSH工具。
SSH登陆
SSH连接会叫你输入密码,你输入密码的时候,密码是不会显示的,输入完回车即可:
教程视频
Frp安装配置(Mac/Linux Version):https://www.bilibili.com/video/BV1nK4y187gK
Frp安装配置(Windows Version):https://www.bilibili.com/video/BV1Wf4y127YV
# frp中文帮助文档 https://github.com/fatedier/frp/blob/master/README_zh.md下载Frp项目文件
Frp是的原理,就是实现远程端对端的映射;所以,就需要服务端和客户端,服务端,顾名思义,就是我们上次到服务器里的;客户端,就是我们自己电脑/设备
获取frp
感谢GitHub大佬fatedier:https://github.com/fatedier/frp/releases
服务端
我们刚刚已经SSH连接Linux服务器了;所以,现在我们就可以下载服务端到服务器,可以使用宝塔/ftp,可视化上传,也可以直接wget和unzip命令下载。
如果你是国内服务器,访问GitHub有困难,建议可以先下载到本地,再本地上传到服务器。
下载对应你服务器版本的frp,一般Linux服务器都是amd64架构的:
客户端
其实,一个frp源文件,既可以用来服务,也可以用来接收。所以,下载地址还是原来GitHub Releases地址。
下载对应版本的frp:
配置并启动Frp
服务端
配置frps文件
解压我们刚刚下载的frp.zip,得到里面文件:
当然,你也可以用宝塔:
设置映射端口:
编辑frps.ini:
1 |
|
我这边是满足能用的地步,如果要具体设置可视化面板这类,可以看frp官方文档。设置好后,保存,在该目录,终端执行:
1 |
|
此时,frp服务端已经开始运行。你可以用screen或者nohup,来后台运行,而且方便后续打开。
放行端口
需要放行bind_port的端口(我这边用的是7000端口)和其他端口(比如,我这边制定了一个http_port是8080端口)。如果你本地还有其他端口需求,比如tcp 445端口,那么还需要放行这些。)
客户端
本地配置更简单了。为了方便小白操作:
Mac/Linux
解压以后,得到和服务端一样的文件,但是我们要配置的是frp文件:
配置frp文件
编辑frpc.ini:
1 |
|
如果你要映射http,加上:
1 |
|
e.g.
我这边是满足能用的地步,如果要具体设置其他,可以看frp官方文档。设置好后,保存,在该目录,终端执行:
1 |
|
Windows
和Mac/Linux差不多,但是操作起来,感觉是更简单;下载并解压:
配置frp文件
编辑frpc.ini:
1 |
|
如果你要映射http,加上:
1 |
|
e.g.
我这边是满足能用的地步,如果要具体设置其他,可以看frp官方文档。设置好后,保存,cmd/powershell到该目录,执行:
1 |
|
操作实例(使用场景)
映射本地Minecraft服务器
服务器端可以保持刚刚配置,本地客户端更改数据:
首先,我们在本地开一个Minecraft服务器:
配置frpc.ini:
1 |
|
再运行,就可以了
测试是否可以用
我就不开Minecraft来检查了,直接到在线检测平台检测:
https://status.mctalks.com/
到此,映射Minecraft成功!!!
映射本地SMB
这个就不图文了
配置frpc.ini:
1 |
|