frp 是一款跨平台的内网穿透工具,支持 Windows、macOS 与 Linux,它需要你有一台拥有固定公网 IP 的电脑,VPS 最好,然后就能愉快的进行内网穿透了。还支持 https,甚至可以用它进行小程序开发。
网络的本地本来是应该互联互通的,但各种各样的原因会导致互联互不通。于是就需要造轮子解决它,frp 就是这样一个轮子,开源、免费、简单易用。
当然,免费意味着你需要自备一款拥有固定公网 IP 的电脑/VPS 作为中转节点。这台电脑可以是拥有固定公网 IP 的任意电脑,也可以自配一台 VPS,青小蛙依旧推荐 Vultr 的机器,便宜好用,控制面板简单。
这里假设你已经有一台 VPS 了,只需要跟着步骤走即可:
设置 frp 服务器
- 根据系统下载程序,并解压缩
- 将 frps 及 frps.ini 放到具有公网 IP 的机器上
这里使用了最小配置,使用默认即可,无需修改任何文件,直接运行:
./frps -c ./frps.ini
另外,针对 Linux 用户,这里有一个后台运行服务可以参考。以上为 Linux 系统的执行命令,如果是 Windows 系统:
c:\Tools\frp\frps.exe -c c:\Tools\frp\frps.ini
假设 frps 解压缩到了 c:\Tools\frp\ 文件夹。
以及,请让防火墙通过 7000 端口,以及 7001、7002 端口。
设置 frp 客户端
- 根据系统下载程序
- 将 frpc 及 frpc.ini 放到处于内网环境的机器上。
这里以 Windows 远程桌面、群晖管理界面为例,修改 frpc.ini 配置文件:
[common]
server_addr = 服务器公网 IP
server_port = 7000
[RDP]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7001
[DSM]
type = tcp
local_ip = 群晖在局域网中的 IP 地址
local_port = 5000
remote_port = 7002
然后,启动 Windows 命令提示符,运行:
c:\Tools\frp\frpc.exe -c c:\Tools\frp\frpc.ini
这里假设你的 frp 解压缩到了 C:\Tools\frp\ 文件夹下。
如果看到两行 start proxy success 就代表成功了。
远程访问
此时,就可以在外网访问网内资源了。
比如远程桌面,只需要打开微软的远程桌面客户端,然后使用 公网IP:7001 即可连接。
比如群晖,只需要打开浏览器,在地址栏输入 公网IP:7002 即可访问 DSM 的管理界面。
其它配置
frp 官网提供了非常详尽的说明书,包括转发 ssh、http、https、转发 Unix 域套接字等等,都可以配置使用。
但,其实对于初学者来说,还是有点费劲的。
更多示例
青小蛙开了一个帖子,准备连载一些 frp 的示例,以及如果在 Windows 下以系统服务运行 frp 等等一些内容。感兴趣的同学可以前往参考、讨论、分享。