前言#
这个内容其实我在一年前就做过一次,(之前写的),在搭建完成之后也给我朋友用过,也是在实践中发现让用户自己去安装客户端也好,还是给客户端添加为服务也好,对于用户来说其实都挺麻烦的,还是有一定的门槛,不是很方便。这几天翻看有趣的开源社区 - HelloGitHub的时候,发现了一个蛮不错的 frp 客户端项目 ——luckjiawei/frpc-desktop: frp 跨平台桌面客户端,可视化配置,轻松实现内网穿透! 支持所有 frp 版本。简单看了下,界面挺好看,操作也不复杂,OK,就你了。
服务端安装#
准备工作#
本次搭建需要用到两个开源项目
- luckjiawei/frpc-desktop: frp 跨平台桌面客户端,可视化配置,轻松实现内网穿透! 支持所有 frp 版本
- fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
需要下载的文件如下 - frp 服务端
- frp 客户端
安装 frp 服务端#
- 连接服务器并上传服务端文件,我使用的是 Xftp 8 和 Xshell 8 用于连接服务器
- 切换到对应路径并解压文件
cd /home/frp
tar -zxvf frp_0.64.0_linux_amd64.tar.gz
解压完成后重命名文件夹方便后面输路径,其中 frps.toml 是服务端的配置文件,frps 是服务端二进制程序
- 修改配置文件
vim frps.toml
按 i 开始输入,ESC 再输入退出编辑
bindPort = 7000 # 服务端端口
auth.method = "token" # 使用令牌进行身份验证
auth.token = "[email protected]" # 令牌,客户端与服务端一致才能连接成功 推荐配置复杂一点
- 启动服务端
./frps -c ./frps.toml
- 将 frp 添加为服务并开启开机自启动
- 按下 CTRL+C 中断进程
- 创建 frps.service 文件
sudo vim /etc/systemd/system/frps.service
- 写入内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
4. 启动frp并设置开机自启动
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps
设置 frps 开机自启动
sudo systemctl enable frps
当你看到两个enabled和active (running)就说明在正常运行了

开启防火墙#
我这边是阿里的云服务器,到阿里的控制台去开启防火墙,此处需要开启 7000 端口和你需要映射的目标端口,我这边把 50000-60000 端口全部开启了
安装 frp 客户端#
客户端在 windows 下的安装还是很方便的,一直下一步即可。
安装完成后需要进行与服务器的连接。
- 在设置里下载对应的 frp 版本,我的服务器用的是 0.64.0,所以这里用的也是 0.64.0,如果语言不是中文的话可以去最底下切换一下语言
- 输入服务器地址,端口,验证方式选择令牌,然后把前面设的令牌输进去
- 设置隧道
选择你需要的代理类型,内网地址,两边的端口,我这边继续拿 mc 作为例子
- 设置完成后开启 frp 即可使用
最终效果如下#
参考的教程如下#
结语#
这个服务器上搭建的 frp 可以供各位免费使用,服务器到明年一月到期
地址:8.137.70.233
端口:7000
秘钥:[email protected]