Linux安装FRP(内网穿透)

  1. 项目简介

  2. 需求背景
    1.FileBrowser访问地址:http://X.X.X.X:8181,该地址只能在局域网内部访问而无法通过互联网访问,想要通过互联网
    访问到该地址需要通过公网IP来进行端口转发,通常家里的路由器IP都不是公网IP,通常公司的路由器IP都是公网IP
    
    2.如果FileBrowser部署在公司局域网内的机器上,并且具有公司路由器的管理员账号密码,可以通过路由器配置端口转发,
    互联网访问地址(公司IP:外部端口)时,请求会被转发到X.X.X.X:8181,从而实现互联网访问FileBrowser,通过手机访问
    FileBrowser进行文件上传下载,功能类似个人云盘
    
    3.如果FileBrowser部署在家庭的机器上,需要进行内网穿透才可以实现互联网访问,FRPS部署在具有公网IP的机器上 例:
    云服务器,FRPC部署在FileBrowser所在机器上,通过云服务器作为媒介实现端口转发,互联网访问地址(云服务器IP:外部
    端口)时,请求会被转发到X.X.X.X:8181,从而实现互联网访问FileBrowser
  3. 安装目录
    mkdir -p /opt/frp && cd /opt/frp
  4. 安装包下载
    wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
    注意:https://github.com/fatedier/frp/releases获取下载链接并替换
  5. 安装包解压
    for file in *.tar.gz; do tar -zxvf "$file" --strip-components=1; done
  6. 环境变量
    echo -e "\n# 设置frp环境变量" >> /etc/profile
    echo -e "export FRP_HOME=/opt/frp" >> /etc/profile
    echo -e "export PATH=\$FRP_HOME:\$PATH" >> /etc/profile
    source /etc/profile
  7. FRPS配置
    #----------------------------------------------------------
    sudo tee /opt/frp/frps.ini <<-'EOF'
    [common]
    bind_port = 6666
    dashboard_port = 7777
    token = AAAAAA
    dashboard_user = BBBBBB
    dashboard_pwd = CCCCCC
    EOF
    #----------------------------------------------------------
    firewall-cmd --zone=public --add-port=6666/tcp --permanent && firewall-cmd --reload
    firewall-cmd --zone=public --add-port=7777/tcp --permanent && firewall-cmd --reload
    #----------------------------------------------------------
    # 注意:云服务器防火墙与安全组打开端口6666、7777
  8. FRPS常用命令
    启动:nohup frps -c /opt/frp/frps.ini > /opt/frp/frps.log &
    查看:ps -ef | grep -i frps
    关闭:pkill -f "frps"
    注意:启动后光标复原Ctrl+C 修改配置frps.ini后需重启生效
    
    启动日志:/opt/frp/frps.log
    2023/08/27 22:36:22 [1;34m[I] [root.go:204] frps uses config file: /opt/frp/frps.ini[0m
    2023/08/27 22:36:22 [1;34m[I] [service.go:206] frps tcp listen on 0.0.0.0:7000[0m
    2023/08/27 22:36:22 [1;34m[I] [service.go:318] Dashboard listen on 0.0.0.0:7500[0m
    2023/08/27 22:36:22 [1;34m[I] [root.go:213] frps started successfully[0m
  9. FRPS开机启动
    #----------------------------------------------------------
    sudo tee /usr/bin/frps.sh <<-'EOF'
    #! /bin/bash
    nohup /opt/frp/frps -c /opt/frp/frps.ini > /opt/frp/frps.log &
    EOF
    chmod +x /usr/bin/frps.sh
    #----------------------------------------------------------
    sudo tee /etc/systemd/system/frps.service <<-'EOF'
    [Unit]
    Description=frps
    After=syslog.target network.target
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/bin/frps.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    #----------------------------------------------------------
    systemctl enable frps
    #----------------------------------------------------------
    # 启动frps
    systemctl start frps
    # 停止frps
    systemctl stop frps
    # 重启frps
    systemctl restart frps
    # 查看frps状态
    systemctl status frps
  10. FRPS面板
    http://your-server-ip:7777
    用户名:BBBBBB 密码:CCCCCC

  11.  FRPC配置
    #----------------------------------------------------------
    sudo tee /opt/frp/frpc.ini <<-'EOF'
    [common]
    # FRPS服务所在机器的IP地址(公网IP)
    server_addr = Y.Y.Y.Y
    server_port = 6666
    token = AAAAAA
    [FileBrowser]
    type = tcp
    local_ip = X.X.X.X
    local_port = 8181
    # FRPS服务所在机器的访问端口(需要打开)
    remote_port = 8888
    EOF
    #----------------------------------------------------------
    firewall-cmd --zone=public --add-port=8181/tcp --permanent && firewall-cmd --reload
    #----------------------------------------------------------
    # 注意:云服务器防火墙与安全组打开端口8888
  12. FRPC常用命令
    启动:nohup frpc -c /opt/frp/frpc.ini > /opt/frp/frpc.log &
    查看:ps -ef | grep -i frpc
    关闭:pkill -f "frpc"
    注意:启动后光标复原Ctrl+C 修改配置frpc.ini后需重启生效
    
    启动日志:/opt/frp/frpc.log
    2023/08/27 23:50:05 [1;34m[I] [root.go:220] start frpc service for config file [/opt/frp/frpc.ini][0m
    2023/08/27 23:50:05 [1;34m[I] [service.go:301] [7b5ed0825c698677] login to server success, get run id [7b5ed0825c698677][0m
    2023/08/27 23:50:05 [1;34m[I] [proxy_manager.go:150] [7b5ed0825c698677] proxy added: [FileBrowser][0m
    2023/08/27 23:50:05 [1;34m[I] [control.go:172] [7b5ed0825c698677] [FileBrowser] start proxy success[0m
  13. FRPC开机启动
    #----------------------------------------------------------
    sudo tee /usr/bin/frpc.sh <<-'EOF'
    #! /bin/bash
    nohup /opt/frp/frpc -c /opt/frp/frpc.ini > /opt/frp/frpc.log &
    EOF
    chmod +x /usr/bin/frpc.sh
    #----------------------------------------------------------
    sudo tee /etc/systemd/system/frpc.service <<-'EOF'
    [Unit]
    Description=frpc
    After=syslog.target network.target
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    ExecStart=/usr/bin/frpc.sh
    [Install]
    WantedBy=multi-user.target
    EOF
    #----------------------------------------------------------
    systemctl enable frpc
    #----------------------------------------------------------
    # 启动frpc
    systemctl start frpc
    # 停止frpc
    systemctl stop frpc
    # 重启frpc
    systemctl restart frpc
    # 查看frpc状态
    systemctl status frpc
  14. 访问测试
    互联网访问FileBrowser失败原因分析:
    
    1.启动顺序为先启动FRPS后启动FRPC
    
    2.FRPS与FRPC的安装包版本要一致
    
    3.FRPS与FRPC的安装包要与所在系统一致
    Linux:frp_x.x.x_linux_amd64.tar.gz
    Windows:frp_x.x.x_windows_amd64.zip
    
    4.启动日志确认FRPC与FRPS成功建立连接
    
    5.检查FRPS与FRPC防火墙是否打开端口权限
    
    6.检查云服务器安全组是否打开端口权限

  15. 常用地址
    GitHub:https://github.com/fatedier/frp
     
    文档地址(官方):https://gofrp.org
    
    文档地址(个人):https://www.bookstack.cn/read/frp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/93054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何用Dockerfile部署LAMP架构

目录 构建LAMP镜像&#xff08;Dockerfile&#xff09; 第一步 创建工作目录 第二步 编写dockerfile文件 Dockerfile文件配置内容 第三步 编写网页执行文件 第四步 编写启动脚本 第五步 赋权并且构建镜像 第六步 检查镜像 第七步 创建容器 第八步 浏览器测试 构建LA…

mysql 存储引擎系列 (一) 基础知识

当前支持存储引擎 show engines&#xff1b; 显示默认存储引擎 select default_storage_engine; show variables like ‘%storage%’; 修改默认引擎 set default_storage_enginexxx 或 set default_storage_enginexxx; my.ini 或者 my.cnf ,需要重启 服务才能生效 systemctl …

mongodb聚合排序的一个巨坑

现象&#xff1a; mongodb cpu动不动要100%&#xff0c;如下图 分析原因&#xff1a; 查看慢日志发现&#xff0c;很多条这样的查询&#xff0c;一直未执行行完成&#xff0c;占用大量的CPU [{$match: {"tags.taskId": "64dae0a9deb52d2f9a1bd71e",grnty: …

【Unity学习笔记】DOTween(1)基础介绍

本文中大部分内容学习来自DOTween官方文档 文章目录 什么是DOTween&#xff1f;DOSetOnTweenerSequenceTweenNested tween 初始化使用方式 什么是DOTween&#xff1f; DOTween是一个动画插件&#xff0c;Tween是补间的意思。这个插件以下简称DOT&#xff0c;DOT很方便使用&…

可扩展的单核至四核Cortex-A53@1.4GHz工业级核心板规格书

1 核心板简介 创龙科技SOM-TL62x是一款基于TI Sitara系列AM62x单/双/四核ARM Cortex-A53 + 单核ARM Cortex-M4F多核处理器设计的高性能低功耗工业核心板,通过工业级B2B连接器引出2x TSN Ethernet、9x UART、3x CAN-FD、GPMC、2x USB2.0、CSI、DISPLAY等接口。处理器ARM Corte…

C++string类

目录 一、为什么学习string 二、标准库中的string类 2.1 string类的简介 2.2 成员类型 2.3 成员函数 2.3.1 构造、析构与运算符重载 2.3.2 迭代器 2.3.3 容量 2.3.4 元素的存取 2.3.5 修改 2.3.6 字符串操作 2.4 成员常量 2.5 非成员函数重载 三、string编程题练…

【Unity3D赛车游戏】【六】如何在Unity中为汽车添加发动机和手动挡变速?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

【NVIDIA CUDA】2023 CUDA夏令营编程模型(二)

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

高中信息技术教资考试模拟卷(22下)

2022 年下半年全国教师资格考试模考卷一 &#xff08;高中信息技术&#xff09; 一、单项选择题&#xff08;本大题共 15 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09; 1.2006 年 10 月 25 日&#xff0c;深圳警方成功解救出一名被网络骗子孙某…

创作2周年纪念日-特别篇

创作2周年纪念日-特别篇 1. 与CSDN的机缘2. 收获3. 憧憬 1. 与CSDN的机缘 很荣幸&#xff0c;在大学时候&#xff0c;能够接触到CSDN这样一个平台&#xff0c;当时对嵌入式开发、编程、计算机视觉等内容比较感兴趣。后面一个很偶然的联培实习机会&#xff0c;让我接触到了Pych…

基于PyTorch深度学习遥感影像地物分类与目标检测、分割及遥感影像问题深度学习优化

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

Python爬虫网络安全:优劣势和适用范围分析

各位Python程序猿大佬们&#xff01;在当今数字化时代&#xff0c;网络安全是至关重要的。保护你的网络通信安全对于个人和组织来说都是非常重要的任务。在本文中&#xff0c;我将与你一起探讨Python网络安全编程中的代理、虚拟专用网络和TLS这三个关键概念&#xff0c;分析它们…

django自动创建model数据

目前使用的环境&#xff1a;django4.2.3&#xff0c;python3.10 django通过一些第三方库&#xff0c;可以轻易的自动生成一系列的后台数据。 首先先创建一个数据库&#xff1a; 然后&#xff0c;在setting.py中就可以指定我们新创建的数据库了。 DATABASES {default: {ENGI…

土豆叶病害识别(图像连续识别和视频识别)

效果视频&#xff1a;土豆叶病害识别&#xff08;Python代码&#xff0c;pyTorch框架&#xff0c;视频识别&#xff09;_哔哩哔哩_bilibili 代码运行要求&#xff1a;Torch库>1.13.1&#xff0c;其它库无版本要求 1..土豆叶数据集主要包好三种类别&#xff08;Early_Blight…

单片机基础知识 06 (中断-2)

一. 定时器中断概念 51单片机的内部有两个16位可编程的定时器/计数器&#xff0c;即定时器T0和定时器T1。 52单片机内部多一个T2定时器/计数器。 定时器/计数器的实质是加1计数器&#xff08;16位&#xff09;&#xff0c;由高8位和低8位两个寄存器组成。 TMOD是定时器/计数器…

人工智能在机器学习中的八大应用领域

文章目录 1. 自然语言处理&#xff08;NLP&#xff09;2. 图像识别与计算机视觉3. 医疗诊断与影像分析4. 金融风险管理5. 预测与推荐系统6. 制造业和物联网7. 能源管理与环境保护8. 决策支持与智能分析结论 &#x1f389;欢迎来到AIGC人工智能专栏~探索人工智能在机器学习中的八…

亚马逊云科技CEO分享企业内决策流程、领导力原则与重组下的思考

亚马逊云科技首席执行官Adam Selipsky几乎从一开始就在那里&#xff1a;他于2005年加入&#xff0c;在效力亚马逊11年后于2016年离开&#xff0c;转而经营Tableau&#xff0c;并于2021年成为亚马逊云科技首席执行官。当时亚马逊云科技前首席执行官安迪贾西(Andy Jassy)接替杰夫…

姜启源数学模型第五版第五章火箭发射升空

姜启源数学模型第五版第五章例题内容复现 数学建模背景1.学习内容火箭发射升空理论知识 2.例题3.问题分析不考虑空气阻力的模型考虑空气阻力的模型 4.代码内容复现不考虑空气阻力考虑空气阻力模型 数学建模背景 首先先简单的介绍数学建模是一个怎么样的内容 数学建模是一种将数…

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测

时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测 目录 时序预测 | MATLAB实现SSA-XGBoost(麻雀算法优化极限梯度提升树)时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现SSA-XGBoost时间序列预测&#xff0c;麻…

老胡的周刊(第105期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 Piwigo[2] Piwigo 是一个开源的网络照片库软…