frp实现内网穿透功能
frp原理:
上面frpc.ini的rdp、smb字段都是自己定义的规则,自定义端口对应时格式如下。
“[xxx]”表示一个规则名称,自己定义,便于查询即可。
“type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
“local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。
“remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。
RDP,即Remote Desktop 远程桌面,Windows的RDP默认端口是3389,协议为TCP,建议使用frp远程连接前,在局域网中测试好,能够成功连接后再使用frp穿透连接。
SMB,即Windows文件共享所使用的协议,默认端口号445,协议TCP,本条规则可实现远程文件访问。
准备工作:
-
有公网IP的服务器一台实体机或者vps都行(linux或者windows都行)
-
需要做内网穿透的PC一台(linux或者windows都行)
由于我使用的是vps,所以这篇文章就围绕vps服务器linux系统来介绍一下:
VPS相关
因为frp的原理是利用服务端(所准备的VPS)进行转发,因而VPS的速度直接决定了之后连接的质量,请根据自己的需要选择相应主机配置。
我使用了DigitalOcean的新加坡机房,北京移动、中国教育网下测试速度尚可。 系统使用Ubuntu 16.04.5
x64,frp客户端和服务端本身同时均支持Linux和Windows,且配置方法一样,请根据实际环境自行测试,如果你是新建的VPS,那选择Ubuntu
服务器配置:
SSH连接到VPS之后运行如下命令查看处理器架构,根据架构下载不同版本的frp
arch
查看结果,如果是“X86_64“即可选择”amd64”,
下载 frp_0.22.0_linux_amd64.tar.gz
wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.gz
然后解压
tar -zxvf frp_0.22.0_linux_amd64.tar.gz
文件夹改个名,方便使用
cp -r frp_0.22.0_linux_amd64 frp
把解压出来的文件夹复制到你想要的目录下
cd frp
查看一下文件