一名落魄的程序员

一名落魄的程序员

准备

一台公网服务器(配置无要求网络稳定就行)
内网客户端(准备要穿透出去的设备)

服务端(公网服务器)

这里是为服务端配置frp 只关注frpsfrps.ini即可
frp项目地址 :https://github.com/fatedier/frp
Linux安装frp并实现内网穿透-LMLPHP
不知道公网服务器对应那个架构可以输入:arch 来进行查询自己的架构
Linux安装frp并实现内网穿透-LMLPHP

x86_64 对应frp_0.38.0_linux_amd64.tar.gz

Linux安装frp并实现内网穿透-LMLPHP
解压:tar -zxvf frp_0.48.0_linux_amd64.tar.gz
进入文件夹:cd frp_0.38.0_linux_amd64/

frps配置

对frps.ini文件进行配置

bind_port:表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到
dashboard_port:是服务端仪表板的端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务器的IP)查看frp服务运行信息
token:用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到
dashboard_user、dashboard_pwd:表示打开仪表板页面登录的用户名和密码,自行设置即可

这时候我们的服务器需要放开两个端口 一个为8599(和客户端通信的端口)、另一个为7500(服务端仪表板的端口)

运行frps

出现以下输出说明正常运行
Linux安装frp并实现内网穿透-LMLPHP
将其在后台运行

查询进程是否存在: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:是该条规则在服务端开放的端口号

运行frpc

一样挂在后台运行即可:nohup ./frpc -c frpc.ini &

查看后台进程:ps -aux|grep fr

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-2sobaiduend~default-1-122018688-null-null.142insert_down38,201add_ask,239insert_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

Linux安装frp并实现内网穿透-LMLPHP
保存退出后执行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
10-28 15:58