什么是 FRP
FRP (Fast Reverse Proxy) 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP , UDP , HTTP , HTTPS 协议。下载https://github.com/fatedier/frp/releases
准备工作
1. 一台拥有公网 IP 的设备(云服务器、VPS ……)
这就是一台反向代理服务器,作为外网设备访问内网设备的一座桥梁。 |
2. 域名(可选)
如果你不想输入一大串 IP 地址的话,买个好记的域名吧。 |
安装 FRP
这里反向代理服务器使用的是阿里云的云服务器,安装 Windows Server 2016 Datacenter 。内网要远程连接的设备安装的是 Windows 10 1803 。如果使用的是 Linux 系统的服务器,只是 FRP 的安装过程不同,可以百度一下其他 FRP 的文章进行参考。考虑到如果只是用服务器进行反向代理的话,没有必要购买 Windows 服务器,因为相比于 Linux ,运行 Windows 的配置要高一些,价格也更贵一些。
下载链接在文章的开头已经给出,根据服务器的系统和处理器类型选择,这里选择 frp_0.20.0_windows_amd64.zip ,下载完成后解压。
服务器(frps)
1、首先要配置一下入方向的安全组规则,需要穿透的端口得放行,我这里直接开放了一个端口范围,一劳永逸,各位按需开放即可。
2、接下来配置一下设置,解压后有两个配置文件,一个是 frps.ini 另一个是 frps_full.ini 。 frps_full.ini 是全配置,里面所有的配置都有,玩法很多,各位自行研究,这里只挑几个有用的。将下面配置代码复制到 frps.ini 后保存。控制台可以输入“服务器IP:端口号”进行访问,如“1.2.3.4:7500”。
```ini
[common]
bind_port = 7000 ;要绑定的端口
dashboard_user = admin ;控制台的用户名
dashboard_pwd = password ;控制台的密码
dashboard_port = 7500 ;控制台的端口
```
3、然后把配置文件 frps.ini 与程序 frps.exe 复制到服务器。
4、最后使用 cmd 或 power shell 切换到相应目录运行即可ini frps -c frps.ini
power shell 要使用ini .\frps.exe -c frps.ini
内网设备(frpc)
-
首先配置一下 frpc.ini
```ini
[common]
server_addr = 1.2.3.4 ;服务器的 IP
server_port = 7000 ;服务器上设置的服务绑定端口[RDP] ;这个是反向代理的名称,可以随意设置
type = tcp ;RDP 是 TCP 协议的
local_ip = 127.0.0.1 ;本机 IP
local_port = 3389 ;远程桌面的默认端口
remote_port = 7001 ;外网访问的端口
``` 然后把配置文件 frpc.ini 与程序 frpc.exe 复制到内网设备。
最后使用 cmd 或 power shell 切换到相应目录运行即可
ini frpc -c frpc.ini
power shell 要使用ini .\frpc.exe -c frpc.ini
内网设备开启远程桌面
右击“此电脑”,选择“系统”——“远程设置”——“允许远程连接至此电脑”
运行远程桌面
在小娜或运行中输入“mstsc”或“远程桌面连接”,“计算机”中输入“服务器 IP:外网访问端口”,如“1.2.3.4:7001”。不出意外的话,是可以从外网访问到内网设备的。
绑定域名
1、这里域名的服务商是阿里云(万网),在域名控制台中对相应的域名选择“解析”。跳转到云解析界面后点击“添加记录”。我们需要添加一条类型为 A 的记录。记录值为服务器 IP。
2、配置 frpc.ini 。加一行 custom_domains = xxx.yourdomain.xxx 。如ini [RDP] ;这个是反向代理的名称,可以随意设置 type = tcp ;RDP 是 TCP 协议的 local_ip = 127.0.0.1 ;本机 IP local_port = 3389 ;远程桌面的默认端口 remote_port = 7001 ;外网访问的端口 custom_domains = xxx.yourdomain.xxx
这样就能使用 “你的域名:端口” 进行远程桌面连接了。
总结
FRP 的玩法很多,如果你的路由器是智能路由器的话,可以将 FRP 部署到你的路由器上,也可以搭建 NAS ,甚至将内网部署的 WEB 应用映射到外网(当然,在国内这是违法的,有条件的话还是要备案一下)等等。 但体验指数上完完全全取决于你的云服务器宽带。 内网穿透,反向代理,都只是弥补没有公网 IP 的遗憾罢了。