开源内网穿透工具FRP配置SSH和网站访问,构建本地私有云NAS,非常详细的配置细节,复刻即可成功

简介:

FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https
应用协议提供了额外的能力,且尝试性支持了点对点穿透。名称其实就是使用了 Fast Reverse Proxy 的首字母缩写。

需求:

有一台链接了家里路由器的微服务器,可以访问外网,但是人在外面,无法通过外网链接到服务器,也没办法访问内网服务器上部署的私有云网盘。需要打通外网访问内网路由器。

原理介绍:

  • 需要一台外网的云服务器,有固定IP
  • 需要一个域名,二级域名也可以,能解析到固定IP,配置http访问的时候需要用到

需要在云服务器上部署服务端,即frps,在内网服务器部署客户端,frpc。
我的服务器都是centos操作系统的,不同系统请在github上下载对应版本。然后配通接口即可。

注意:frp下载下来就包含客户端和服务端版本

在这里插入图片描述

配置内容:

服务器端:

准备放开1个代理接口,1个http接口,1个https接口,按需来配,这里我不用https,所以没有配置,就开放了2个端口。
注意:需要云服务器配置放开这些端口

[common]
bind_port = 8001 #绑定的代理端口
vhost_http_port = 8002 #http端口
auth_token = 123 #客户端一致的密码log_file = ./frps.log #日志,方面查看错误

在这里插入图片描述

客户端:

common配置绑定server的端口
x.x.x.x是指服务器的IP
frp.yourdomainname.com是需要填你自己以及绑好的域名

ssh是配置ssh远程链接的,请把本地服务器8003端口放开,22端口也要放开
web01是你的网站,对应的5000端口也要放开

[common]
server_addr = x.x.x.x
server_port = 8001
auth_token = 123 #需要和服务器一样
process_keepalive_interval = 60 #进程保护,间隔多久检测
restart_delay = 1 #重启时间log_file = ./frpc.log[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8003 #需要开放这个端口[web01]
type = http
local_ip = 0.0.0.0
local_port = 5000
use_encryption = false
use_compression = true
header_X-From-Where = frp
custom_domains = frp.yourdomainname.com

在这里插入图片描述

说明下数据走的流程,ssh连到云服务器ip后走8001访问绑定的客户端,找到对应8003这个服务,然后走22这个端口
http同理,通过域名找到对应的服务端口访问

测试连接是否成功

ssh root@x.x.x.x -p 8003

部署centos代码:

下载:如果没法连到github下载,可以本地先通过地址下载再传上去

wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz

解压:

tar -xvf frp_0.32.1_linux_amd64.tar.gz

根据以上配置内容在配置好

在路径/usr/local创建文件夹frp,所有内容移植到此目录

添加执行权限: 确保 /usr/local/frp/frps 文件有执行权限。如果是客户端对应要执行frpc

chmod +x /usr/local/frp/frps

配置systemctl来控制运行
vim打开文件 vim /usr/lib/systemd/system/frp.service 写入以下内容,注意上文的路径和此处有关。这里是启动的服务端,客户端类似,注意修改运行程序

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
StandardOutput=syslog
StandardError=inherit[Install]
WantedBy=multi-user.target

重新加载服务的配置文件

systemctl daemon-reload 

用 systemctl 套装来控制FRP
启动,停止,重启,查看状态,设置开机自启,关闭开机自启

systemctl start frp 
systemctl stop frp
systemctl restart frp
systemctl status frp
systemctl enable frp
systemctl disable frp

执行即可完成!

PS:注意服务器和客户端都需要这样操作一遍,注意执行主体,服务器端是对应frps,客户端对应frpc

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于英特尔傲腾持久内存的下一代高性能计算存储系统DAOS

本文内容来自 Intel极限存储架构和开发首席工程师 梁震 在2021CCF全国高性能计算学术年会(CCF HPC China 2021)上的演讲资料,供大家参考。 目录 - 分布式异步对象存储(DAOS)的系统架构 - DAOS系统栈结构 - DAOS 的部署方式 - DAOS 存储服…

WebGL在家居设计领域中的应用

WebGL(Web Graphics Library)是一种用于在Web浏览器中进行3D图形渲染的JavaScript API。在家居设计方面,WebGL可以提供一些强大的应用,使用户能够交互式地浏览和体验设计方案。以下是一些家居设计领域中WebGL的应用,希…

蓝桥杯:随意组合

题目描述: 算法思路: 主要是将其中一个数组进行全排列,16中排列顺序,再与 另外一个数组进行匹配求和。在这里就要用到next_permutation()函数,具体用法就是直接用数组a[],进行排序next_permutation(a&…

芯品荟|电梯外呼面板屏驱市场调研报告

PART ONE 产品简介 - Introduction - 1.电梯外呼面板介绍 电梯外呼面板,用于显示电梯当前位置、运行状态和楼层信息,以便乘客在等待电梯时了解电梯的运行情况。 电梯外呼面板,按显示屏的种类,分为3类,分别是LED屏、L…

处理HTTP请求中的表单数据

处理HTTP请求中的表单数据是Web开发中常见的任务。在Go语言中,可以使用net/http包来解析HTTP请求中的表单数据。 首先,确保你已经创建了一个HTTP服务器,并且能够接收和处理POST请求。然后,你可以使用r.ParseForm()函数来解析请求…

Android项目架构怎么做

项目架构指南 本指南包含一些最佳做法和推荐架构,有助于构建强大而优质的应用。 注意: 本页假定您对 Android 框架有基本的了解。 移动应用用户体验 典型的 Android 应用包含多个应用组件,包括 Activity、Fragment、Service、内容提供程序…

自然语言处理实战项目25-T5模型和BERT模型的应用场景以及对比研究、问题解答

大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目25-T5模型和BERT模型的应用场景以及对比研究、问题解答。T5模型和BERT模型是两种常用的自然语言处理模型。T5是一种序列到序列模型,可以处理各种NLP任务,而BERT主要用于预训练语言表示。T5使用了类似于BERT的预训…

融云 CEO 董晗入选「2023 福布斯中国 · 出海全球化人物 TOP30」

近日,福布斯中国发布“出海全球化 30&30”评选结果,融云 CEO 董晗入选“2023 福布斯中国 出海全球化人物 TOP30”。移步【融云全球互联网通信云】了解更多 在全球市场新秩序的构建中,中国品牌的影响力和作用日益凸显。针对中国出海全球…

操作系统课程设计:常用页面置换算法(OPT、FIFO、LRU)的实现及缺页率的计算(C语言)

名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波莫听穿林打叶声》 Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder) 目录 一、效果图二、代码(带注释)三、说明 一、效果图 二、代码(带…

git中的语法和术语含义

目录 第一章、git常用术语1.1)文件状态1.2)git常用术语的含义 第二章、git文件状态解析2.1)从git init开始:Untracked(未跟踪)2.2)git add fileName后:Staged(已暂存&…

超强文档搜索引擎AnyTXT Searcher本地搭建

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况,异地办公或者不在公司,想找…

探索GpuMall智算云平台的AI云计算:SSH连接GPU云主机进行深度学习

#GpuMall# #GpuMall智算云# #算力租赁# #ai# 在人工智能和机器学习的领域中,获取强大的计算资源已经成为推进项目进展的关键。随着AI研究的深入,需求对GPU加速的计算能力也在不断提升。GPU云主机、GPU云服务器、GPU闲置、GPU变现、GPU收益、AI云、算力…

Copley高性能工业伺服驱动器制造者,为客户提供运动控制方案

在当今高度自动化的工业领域中,驱动器作为核心部件,其性能和稳定性对整个系统的运行至关重要。北京北成新控伺服技术有限公司深谙此道,成为Copley高性能工业伺服驱动器重要合作伙伴,以满足市场对于高精度、高动态性能的运动控制解…

入门实战丨Python小游戏经典案例

文章目录 写在前面判断与循环小游戏猜数游戏龙的世界 写在后面 写在前面 本期内容:两个个简单的Python小游戏入门案例。 实验需求:python 实验目标:掌握基本的判断与循环语句。 判断与循环 判断与循环是编程中非常重要的两个概念&#x…

Java零基础教学文档servlet(3)

【AJax】 1.传统开发模式的不足 传统开发模式基于浏览器数据传输功能,页面填写数据/展示数据。浏览器通过访问一个URL地址,将页面的数据提交给服务器。服务器将需要展示的数据返回给浏览器,浏览器再进行数据解析,将数据呈现在用户面前。这种…

【复习】人工智能 第7章 专家系统与机器学习

专家系统就是让机器人当某个领域的专家,但这章专家系统不咋考,主要靠书上没有的机器学习。 一、专家系统的基本组成 二、专家系统与传统程序的比较 (1)编程思想: 传统程序 数据结构 算法 专家系统 知识 推理 &…

maya , motionbuilder 骨骼动画相关操作与脚本

文章目录 Maya导入时增加namespacemaya 解除/增加父子关系maya 修改骨骼局部坐标系显示骨骼局部坐标系删除不需要的骨骼重命名骨骼重定向基础细节 Motionbuildermb同时打开两个动画文件 Maya 导入时增加namespace import pymel.core as pm pm.namespace(add"src") …

SpringBoot项目打包

1.在pom.xml的build>plugins中加入如下配置 <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.1.0</version><configuration>…

C++ STL--->stack和queue

文章目录 stackstack实现参考源码 queuequeue实现参考源码 stack stack文档 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行 元素的插入与提取操作。stack是作为容器适配器被实现的&#xff0c;容器适配器…

什么是Nginx

概念 Nginx (engine x)是一个高性能的HTTP和反向代理web服务器同时也提供IMAP/POP3/SMTP服务 主要功能反向代理 通过配置文件可以实现集群和负载均衡 静态资源虚拟化 图解 常见服务器 apache 超过百万并发后性能下降 nginx 操作简单支持并发量大 什么是代理 代理简单来说&a…