Linux安装frp并实现内网穿透

准备

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

服务端(公网服务器)

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

x86_64 对应frp_0.38.0_linux_amd64.tar.gz

Linux安装frp并实现内网穿透_第2张图片
解压: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

你可能感兴趣的:(linux,运维,服务器)