准备
一台公网服务器(配置无要求网络稳定就行)
内网客户端(准备要穿透出去的设备)
服务端(公网服务器)
这里是为服务端配置frp
只关注frps
和frps.ini
即可
frp项目地址 :https://github.com/fatedier/frp
不知道公网服务器对应那个架构可以输入:arch
来进行查询自己的架构
x86_64 对应frp_0.38.0_linux_amd64.tar.gz
解压:tar -zxvf frp_0.48.0_linux_amd64.tar.gz
进入文件夹:cd frp_0.38.0_linux_amd64/
frps配置
对frps.ini文件进行配置
vim frps.ini
[common]
bind_port = 8599
dashboard_port = 7500
token = safrhdnv7943horizonlink888
dashboard_user = admin
dashboard_pwd = horizonlink888
bind_port:
表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到
dashboard_port:
是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务器的IP)查看frp服务运行信息
token:
用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到
dashboard_user、dashboard_pwd:
表示打开仪表板页面登录的用户名和密码,自行设置即可
这时候我们的服务器需要放开两个端口 一个为8599
(和客户端通信的端口)、另一个为7500
(服务端仪表板的端口)
运行frps
./frps -c frps.ini
出现以下输出说明正常运行
将其在后台运行
nohup ./frps -c frps.ini &
查询进程是否存在:ps -aux|grep fr
这样服务端frp的配置就完成了,通过访问公网7500
端口进入后台管理页面
客户端
在客户端这边我们只需要关注frpc、frpc.ini就可以了
安装frp
步骤同服务端相同自行操作即可
配置frpc
cd frp_0.38.0_linux_amd64/
vim frpc.ini
[common]
server_addr = 47.108.71.55
server_port = 8599
token = safrhdnv7943horizonlink888
[8215TO7005]
type = tcp
local_ip = 127.0.0.1
local_port = 8125
remote_port = 7005
server_addr:
为服务端IP地址,填入即可。
server_port:
为服务器端口,填入你设置的端口号即可,如果未改变就是7000
token:
是你在服务器上设置的连接口令,原样填入即可。
[xxx]:
表示一个规则名称,自己定义,便于查询即可。
type:
表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
local_port:
是本地应用的端口号,需要穿透的端口号。
remote_port:
是该条规则在服务端开放的端口号
客户端需要放开8125端口
运行frpc
一样挂在后台运行即可:nohup ./frpc -c frpc.ini &
查看后台进程:ps -aux|grep fr
frp实现内网穿透完成,在服务端通过ip:客户端设置的remote_port即可访问,如是要穿透ssh则local_port设置成22或者其他
frp中文文档
https://gofrp.org/
参考链接:
https://blog.csdn.net/weixin_49764009/article/details/122018688?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168048838316800211588934%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=168048838316800211588934&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-122018688-null-null.142v80insert_down38,201v4add_ask,239v2insert_chatgpt&utm_term=linux%E5%AE%89%E8%A3%85frp%E5%AE%9E%E7%8E%B0%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F
设置开机自动执行的.sh
编辑 /etc/rc.d/rc.local
在上述文件中的 touch /var/lock/subsys/local
后面加上要执行的.sh目录及文件名。比如/opt/frp/start.sh
保存退出后执行chmod +x /etc/rc.d/rc.local
使开机启动生效
start.sh
#!/bin/bash
#启动frpc
#检查程序的运行状态,避免重复启动
frpc_kill=`ps -ef | grep "frpc" | grep -v grep | awk '{print $2}'`
echo ${frpc_kill}
if [ -n "${frpc_kill}" ];
then
echo "frpc started"
else
#后台运行脚本
#这里是你自己的frp路径 进入
cd /opt/frp/frp_0.48.0_linux_amd64/
#这里是你自己的frp路径 删除nohup.out文件
rm -rf /opt/frp/frp_0.48.0_linux_amd64/nohup.out
#启动frpc
nohup ./frpc -c frpc.ini &
#查看启动日志
tail -f /opt/frp/frp_0.48.0_linux_amd64/nohup.out
echo "frpc successfully started"
fi