frp搭建笔记
去年因为nas的问题就尝试过frp搭建了,但是具体怎么操作的自己似乎也感觉云里雾里,这次因为某些功能决定再尝试一次,并且做好记录,希望下次遇到相同的问题不再全网乱翻教程了😂
准备工作
- 服务器(作为frps端,即提供frp服务的一段)
- 目标设备(作为frpc端,即需要参与服务的一端)
- 域名
- 相关软件及文档
- frp文档
- powershell / Xshell 等工具
服务端frps
登录服务器
下载frp
1
2
3
4
5
6
7
8
9
10
11#查看服务器版本
cat /proc/version #x86_64/x64/AMD64本质上是一样的
cd /etc
#下载最新版的frps端(版本号需要自己更改一下,我直接下载的压缩包一直解压报错,所以最后选择了Xftp的方式)
curl -O https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
#解压下载的文件包
tar -xvf frp_0.36.2_linux_amd64.tar.gz
#重命名文件夹
mv frp_0.36.2_linux_amd64 frp配置frps.ini的内容
1
2#查看frps端的配置
vim ./frps.ini由于我的最终目的是在qc不好用的时候,访问nas的个别功能,所以配置参考文档中的【通过自定义域名访问内网的 Web 服务】
1
2
3
4
5
6
7
8
9[common]
bind_port = 7000
dashboard_port = 7500 # 仪表盘端口号
token = 123456 # 服务器提供的token
dashboard_user = admin
dashboard_pwd = admin
vhost_http_port = 80
vhost_https_port = 443
subdomain_host = frps.com # 添加解析域名,这个域名需要在dns服务商那里解析,之后访问其他服务必须要加端口号运行frps
1
2
3
4
5
6
7
8
9cd /etc/frp
chmod +x frps
# 添加这一步是因为直接按照教程运行时报错-bash: ./frps: No such file or directory,参考了【柚见】博客的内容。chmod +x frps进行赋权,然后将压缩包中的 systemd/frps.server 传至/lib/systemd/system/ 文件夹中
./frps -c ./frps.ini # 运行,检查文件是否有问题
nohup ./frps -c frps.ini & # 后台运行,这一条命令很重要,好几次都是没有输这个而出错
# 如果配置需要调整,可以关闭frps
ps -aux|grep frp| grep -v grep # 检查frps的端口号
kill -9 端口号nginx反向代理
客户端frpc
为了方便管理,在nas上我选择了docker安装。nas系统版本是DSM7.0,这部分内容参考了Stille大神的文章。
选择docker镜像 stilleshan/frpc(之前使用的版本是chenhw2/frp,后来升级dsm版本后一直出问题,就直接卸载了。这次由于直接基于Stille大神的教程,所以镜像也选择了他做的)
新建frp文件夹并上传frpc.ini文件
frpc.ini参考配置
1
2
3
4
5
6
7
8
9
10[common]
server_addr = 0.0.0.0 #frp服务器或域名,如frps中subdomain_host后的内容
server_port = 7000 # 服务器提供的端口号
token = 123456 #token和frps端保持一致
[test]
type = http #透传协议
local_ip = 127.0.0.1 #本地透传IP
local_port = 5000 #本地透传端口
remote_port = 7001 #指定frps服务端口创建容器
- 然后进入【高级设置】,逐个填写内容【卷】(frpc文件的存档路径)
- 【网络】使用与docker host相同的网络
最后在【容器】栏目启动相应容器即可,如果遇到错误停止,应该是中间某一个步骤出现了问题,随时调试检查就可以了。
后记
最开始版本下载错误,K桑帮忙解决了这个问题;
然后自己调整防火墙出错,璐璐帮忙调整了frps.ini和frpc.ini;
调整具体配置的时候又报错;
在第n次部署失败以后,孤岛推荐了nps,已经转战。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 江卮可乐!