- 实操视频地址
https://www.bilibili.com/video/BV19wRqYBEYH/ - frp原理可以看看这位老哥的博客https://www.cnblogs.com/mq0036/p/16895613.html#frp%E8%B5%84%E6%BA%90
- 文章顶部附带给朋友写的一个frp简单课设资料文件,可以供参考
通过 FRP 实现两个常用功能:
- 将本地ip端口映射到公网可访问:用于测试项目
- 公网可访问本机文件:用作文件共享的简单途径
流程
1.分别给客户端和服务端机器下载压缩包解压
Releases · fatedier/frp · GitHub
2.服务端
-
配置frps.toml文件(ini)
bindPort = 7000 webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin" auth.method="token" auth.token = "thisisatoken"
-
利用systemd启动后台进程挂载
1.创建service文件
vim /etc/systemd/system/frps.service
frps.service内容:
[Unit] Description = frp server After = network.target syslog.target Wants = network.target [Service] Type=simple ExecStart = /dev-ops/frp/frps -c /dev-ops/frp/frps.toml ExecStop=/bin/kill $MAINPID Restart=always RestartSec=5 [Install] WantedBy = multi-user.target
2.启动
systemctl start frps systemctl status frps
3.访问控制面板检查是否启动成功
(记得开放服务器7500端口)
-
客户端
1.配置frpc.toml文件
#你的云服务器公网ip serverAddr = "x.x.x.x" #连接到云服务器端口,需要和frps.toml配置文件中端口一致 serverPort = 7000 auth.method = "token" auth.token = "thisisatoken" #开放端口连接 [[proxies]] name = "test-tcp" type = "tcp" localIP = "127.0.0.1" localPort = 8080 remotePort = 6100 #共享文件访问 [[proxies]] name = "d_drive" type = "tcp" remotePort = 6001 # 服务器上用于访问的端口 [proxies.plugin] type = "static_file" localPath = "D:\\" # 要对外暴露的目录 stripPrefix = "d_drive" # 访问路径名,此处即http://x.x.x.x:6001/d_drive/ httpUser = "username" # 用户名 httpPassword = "password" # 密码
2.cmd命令启动
frpc.exe -c frpc.toml
3.面板上查看连接是否建立成功
-
完成,利用公网ip+指定暴露接口访问
坑点
1.下载压缩包报错病毒无法打开,浏览器设置无效,是因为这是系统拦截,需要到系统设置中设置白名单放行
2.配置文件有新旧两种ini和toml两种格式,注意自己用的哪个格式
3.开放云服务器防火墙端口