frp内网穿透的基础使用
frp内网穿透基础使用
前置要求:需要一台可以公网访问的服务器,然后服务器要开放使用端口的安全组,建议新手直接开放所有端口,搞完之后再删掉规则即可
frp
原理可以看下:https://www.cnblogs.com/mq0036/p/16895613.html#frp%E8%B5%84%E6%BA%90
frp
文档:https://gofrp.org/zh-cn/docs/
第一步:去github
下载frp客户端和服务端的压缩包
路径:https://github.com/fatedier/frp/releases
第二步:服务端配置
将linux
包拉到我们的服务器上,如果没有xftp
的话就直接下载一个客户端和服务端交互的工具,直接输入下面指令就可以将下载软件拖拉到服务端
yum install -y lrzsz
解压成功后将文件转移到/usr/local
下
然后进行服务端配置
bindPort = 7000 客户端通过这个端口和服务端取得链接#webServer配置的是一个管理平台,可以从平台监管穿透流量
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "password"#相当于一个建立连接的方式,例如xshell用ssh进行连接,这里默认使用的是token
auth.method="token"
auth.token = "thisisatoken"
服务器配置完之后,利用systemd启动后台进程挂载,下面代码需要修改路径,直接看代码
vim /etc/systemd/system/frps.service
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target[Service]
Type=simple
#这里是运行服务端的指令,我们需要把路径改成自己的,我这里是放在/usr/local//usr/local/frp_0.62.1_linux_amd64下
ExecStart = /usr/local/frp/frp_0.62.1_linux_amd64/frps -c /usr/local/frp/frp_0.62.1_linux_amd64/frps.tomlExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=5[Install]
WantedBy = multi-user.target
然后我们启动frps服务
systemctl start frps #开启服务
systemctl status frps #检查是否开启
然后我们去跑一下frp
管理平台,就是你的服务器公网ip
加端口号
xx.xx.xx.xx:7500,输入上面给的账号密码就可以登录界面
第三步 客户端配置
我们将frp
客户端下载到我们本地电脑,删除frps.exe、frps.toml
然后进行客户端配置
#你的云服务器公网ip
serverAddr = "xx.xx.xx.xx"
#连接到云服务器端口,需要和frps.toml配置文件中端口一致
serverPort = 7000auth.method = "token"
auth.token = "thisisatoken"#共享文件访问
[[proxies]]
name = "test-d_drive"
type = "tcp"
remotePort = 6001 # 服务器上用于访问的端口
[proxies.plugin]
type = "static_file"
localPath = "D:\\" # 要对外暴露的目录
stripPrefix = "drive" # 访问路径名,此处即http://x.x.x.x:6001/drive/
httpUser = "username" # 用户名
httpPassword = "password" # 密码#开放端口连接
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1" #本地IP
localPort = 8080 #6100访问的端口是本地电脑的8080端口
remotePort = 6100 #服务器通过端口6100访问本地
因为电脑没安装中间件服务器,所以这里就没有进行端口暴漏测试,只是进行本地文件访问,需要进行端口访问的可以加上配置
然后我们本地跑一下连接,显示下面图片就是成功了
frpc.exe -c frpc.toml
到这里配置就算结束了,我们就可以进行测试了
有的人访问的时候,可能会报404 not found
,检查一下路径是否正确,
http://xx.xx.xx.xx:6001/drive/
最后的/
也要加进去,我这里就是一直访问不到,通过去除前缀又访问到了,最后发现是路径问题。
学习资料来源于B站up主视频https://www.bilibili.com/video/BV19wRqYBEYH/?spm_id_from=333.337.search-card.all.click&vd_source=82ca7cd12cff303cc4c4c9374e7067f9,讲的很好,易错点也都讲出来了。