frp 内网穿透 linux部署版

frp 内网穿透 linux部署版

前提

使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过访问公网 IP 直接可以访问到内网的测试环境。准备如下:

  • 公网 IP
  • 已部署好的测试服务 IP:端口号
  • 阿里云服务器

安装 frp

下载:https://github.com/fatedier/frp/releases

将 frp_0.54.0_linux_amd64.tar.gz 分别上传到【阿里云服务器】和【测试服务器】。分别解压:

xml 复制代码
tar -zxvf frp_0.54.0_linux_amd64.tar.gz

【阿里云服务器】只需要这2个文件

  • frps
  • frps.toml

【测试服务器】只需要这2个文件

  • frpc
  • frpc.toml

阿里云服务器配置

  1. 配置参数
    vim frps.toml
bash 复制代码
# frp监听的端口,默认是7000,可修改
#bindAddr = ""
bindPort = 7000

# 开启Dashboard用于管理和查看服务状态。Dashboard端口、用户名和密码,请改成更复杂的。
webServer.addr = "" # 0.0.0.0代表任何人都可以访问 FRP 管理端
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = ""
webServer.password = ""

# 授权码,请改成更复杂的,这个token之后在客户端会用到
auth.token = ""

log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
  1. 开放端口号

    登录"阿里云",找到对应的云服务器 ECS / 安全组,在"入方向"内添加 7000 7500 端口,授权策略是"允许"。

  2. 配置自启动

    把 frps 添加为系统服务。

xml 复制代码
cd /etc/systemd/system
vim frps.service

内容如下:

bash 复制代码
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/home/frp/frps -c /home/frp/frps.toml
Restart=always
RestartSec=15s

[Install]
WantedBy=multi-user.target

允许自启动:

xml 复制代码
systemctl enable frps
  1. 启动与停止

单独启动:

bash 复制代码
nohup ./frps -c frps.toml &
xml 复制代码
systemctl start frps
systemctl stop frps

测试服务器配置

  1. 配置
    vim frpc.toml
bash 复制代码
#公网IP
serverAddr = ""
serverPort = 7000

transport.tls.force = true

# 授权码
auth.token = ""

# 设置心跳
#auth.additionalScopes = ["HeartBeats"]
# 去除访问限速
#transport.tcpMux = false

# frp日志配置
log.to = "/home/frpc/frpc.log"
log.level = "info"
log.maxDays = 3

[[proxies]]
#测试服务的代号,英文不重复
name = ""
type = "tcp"
#测试服务的IP
localIP = ""
#测试服务的端口号
localPort = 12
#阿里云服务器暴露的端口号
remotePort = 12

[[proxies]]
name = ""
type = "tcp"
localIP = ""
localPort = 13
remotePort = 13
  1. 阿里云开放端口

    登录"阿里云",找到对应的云服务器 ECS / 安全组,在"入方向"内添加 12 13 端口,授权策略是"允许"。

  2. 启动

    仿照服务端配置。

单独启动:

bash 复制代码
nohup ./frpc -c frpc.toml &

访问公网

http://xxx.xxx.xxx.xxx:12/xxx

http://xxx.xxx.xxx.xxx:13/xxx

参考资料

1\] [内网穿透之FRP,域名访问本地服务【只看这篇就够了,收藏必备】](https://blog.csdn.net/weixin_43804047/article/details/135174832?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-5-135174832-blog-109261700.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-5-135174832-blog-109261700.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=8)

相关推荐
oMcLin14 分钟前
如何在 Rocky Linux 8.7 上通过 Prometheus 与 Grafana 结合,提升大规模容器环境的监控与性能分析?
linux·grafana·prometheus
橘颂TA15 分钟前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
埃伊蟹黄面18 分钟前
ELF深入解剖:从文件头到动态段,图解库的二进制构成
linux·c·
五仁火烧1 小时前
生产环境中配置了接口3000后,不能启动,改成8080后就可以
linux·网络·安全·vue
JiMoKuangXiangQu1 小时前
Linux build:头文件安装
linux·headers_install
lbb 小魔仙1 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
码农小韩2 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
Joren的学习记录2 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
代码游侠2 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
2501_933513042 小时前
Linux下载离线rpm和依赖包的方法
linux·运维·服务器