开始之前需要有一台可以进行公网访问的服务器

下载安装 frp

这个直接到 github 官网就可以下载了
在这里插入图片描述
点击Releases 就可以查看到可以下载的源,根据自己电脑的型号进行选择就好了。
在这里插入图片描述

linux服务器上下载

如果是在linux的服务器上的话可以直接通过wget进行下载
例如:

wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_android_amd64.tar.gz

然后你就会得到一个tar.gz的一个压缩包
在这里插入图片描述
然后把压缩包进行解压

tar -zxvf frp_0.63.0_android_amd64.tar.gz

解压完后你就可以在本地看到一个frp_0.63.0_android_amd64的文件夹
在这里插入图片描述
文件夹中一般有 4 个文件,frpc 开头是进行客户端连接的,也就是你要穿透的电脑运行的,而frps是开头的是运行在服务端的,也就是有公网 IP 的服务器上面的

服务端配置

服务端的配置全部写在文件frps.toml 里面(有可能是frpc.ini),最开始的设置只有一个,那就是这个服务端运行绑定的端口是哪里,这里默认是 7000 端口,我们不用改,只不过在服务器的控制台中需要把这个端口给开放,不然客户端无法访问。
在这里插入图片描述
如果你只是需要简单的进行测试,看是否能够跑通内网穿透,那么你就不用再进行其他的配置了。
如果你是需要长期使用的话还需要一些其他的配置,更利于我们使用,例如token防止服务器被劫持了。

同样这些设置都是放在frps.toml里面的

# 最新设置请参考官网 https://gofrp.org/zh-cn/docs/features/common/configure/
# 服务端和客户端的TCP通信端口, 建议1024以上端口
bind_port = 7000
# 客户端访问服务端的密码
token = abcdefg
# 服务端仪表盘的端口, 可以用浏览器访问查看
dashboard_port = 7500
# 服务端仪表盘的用户密码
dashboard_user = frp
dashboard_pwd = frp123# 日志保存设定, 保存位置、保存时长
log_file = ./frps.log
log_level = info
log_max_days = 7

如果要长期进行访问的话建议把token设置的强一点,不容易攻破

启动服务端

启动服务端非常简单,把二进制文件frps运行起来就好了。

  • 如果只是简单的单词运行
# 在frp的目录下
./frps -c frps.toml
  • 如果要后台运行
# 同样在frp目录下,使用nohup,控制台的输出会保存在当前文件夹的nohup.out文件中,查看输出即可了。
nohup ./frps -c frps.toml &

这样服务端就能运行起来啦!

如果启动失败,有可能是端口没开放,7000端口进的查看哦,有的可能防火墙也没开放,记得检查。两层一个云服务提供商的安全策略,一个就是自己服务器的防火墙

在这里插入图片描述

客户端配置

客户端的配置就是frpc.toml文件
初始的内容如下:
在这里插入图片描述
下面对配置进行说明

serverAddr = "x.x.x.x"
serverPort = 7000[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

启动客户端

# 后台启动
# 同样在frp目录下,使用nohup,控制台的输出会保存在当前文件夹的nohup.out文件中,查看输出即可了。
nohup ./frpc -c frpc.toml &
# 前台启动
# 在frp的目录下
./frpc -c frpc.toml

Windows 操作无异,一样的修改配置文件,然后运行就好了

踩坑

此次进行 frp 内网穿透,目标是穿透 Docker 容器,使得我能够通过外网直接访问我创建的容器

前面的下载步骤,以及配置服务端很简单,一下就配置好了,但是当我要进行连接的时候,就算我设置了Docker 容器的密码,也是不行,总是出现 Authentication Rejected 拒绝访问。

但是我明明都已经穿透好了,为什么不行呢?

我进行了一下对比实验,我不进行ssh连接,看看内网穿透可不可行,就能发现到底是软件问题,还是本身Docker就不能进行穿透了。

通过下载nginx打开端口80,发现是可以进行内网穿透的,所以问题不是在软件上,在 Docker 镜像的设置上面。

经过多方查找,终于找到原因:

  • Ubuntu Lastest 镜像下载的 ssh 工具不允许通过密码连接,所以要打开密码连接的设置。

    • /etc/ssh/sshd_config中的 PasswordAuthentication yes 的注释删掉.
      在这里插入图片描述
  • 同时,ssh 默认不运行进行root 用户进行连接

    • 需要把/etc/ssh/sshd_config#PermitRootLogin prohibit-password 下面添加一行 PermitRootLogin yes 当然你把prohibit-password改成yes也可以,当然了这样的话就要去掉注释了。
      在这里插入图片描述

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

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

相关文章

复制网页文字到Word、WPS文字?选中后直接拖放

要把网页、PDF或其他应用中的文字内容复制到Word、WPS文字、记事本等,不一定要先复制、再粘贴,也可以选中文字后直接拖动到目标位置即可。多次操作,可以把窗口并排再拖动。如果你经常需要在不同应用之间引用文字,不妨试一试。操作…

Starrocks中的 Query Profile以及explain analyze及trace命令中的区别

背景 本文基于Starrocks 3.5.5 现有公司因为业务的不同,可能会更加关系单个SQL 的RT,因为如果一个SQL的RT比较大的话,影响的就是这个业务,从而影响收入,所以对于这方面我们就比较关心, 而最近在基于Starro…

网络 —— 笔记本(主机)、主机虚拟机(Windows、Ubuntu)、手机(笔记本热点),三者进行相互ping通

背景介绍最近在笔记本电脑上的虚拟机(Ubuntu、Windows Server搭配)上部署了"WD"开源手游服务器(旧版本),手机连接上了笔记本电脑开启的WIFI热点,同时手机上安装了"WD"手游客户端。于是首先得保证网络相互畅通才能玩游戏,…

裸露土堆识别准确率↑32%:陌讯多模态融合算法在生态监测的实战解析

原创声明本文为原创技术解析文章,涉及技术参数及架构描述均参考《陌讯技术白皮书》,禁止任何形式的转载与抄袭。一、行业痛点:裸露土堆识别的现实挑战在生态环境保护、建筑工地监管等场景中,裸露土堆的精准识别是遏制扬尘污染、防…

网站从HTTP升级到HTTPS网址方法

将网站从HTTP升级到HTTPS涉及几个关键步骤,以确保安全连接以及用户和搜索引擎的平稳过渡。获取并安装SSL/TLS证书:1、从CA机构授权提供商Gworg获取SSL/TLS证书。选项包括域名验证(DV)、组织验证(OV)和扩展验证(EV)证书,验证严格度各不相同&am…

WaitForSingleObject 函数参数影响及信号处理分析

一、第二个参数(超时时间)的影响 DWORD result WaitForSingleObject(hHandle, 1000);中的第二个参数1000表示等待超时时间为1000毫秒(1秒),其核心影响如下: 1. 函数行为控制 立即返回:若对象已…

dbeaver导入数据及配置讲解

导入数据教程: 前提.csv文件:且只能导入一个sheet点击下一步选中导入的.csv文件对应好数据字段和表字段,感觉不需要导入的可以skip配置一下,下面有介绍:以下为你详细解析这些数据加载相关功能的含义与作用:…

JAVA学习笔记 自增与自减的使用-006

目录 1 基本概述 2 自增与自减的用法 2.1单独使用 2.2 参与运算 3 思考与练习 3.1 基础题 3.2 中等题 3.3 进阶题 4 总结 源计划:我从来不认为自己的成功过程有多心酸,只是心中不惧失败,能够承受别人不能接受的失望而已!…

从LCM到SomeIP,再到DDS:技术演进与工作原理剖析

文章目录一、LCM:轻量级通信与编组库工作原理C 代码示例局限性二、SomeIP:面向服务的可扩展中间件工作原理C 代码示例优势与特点三、DDS:数据分发服务工作原理C 代码示例优势与应用场景四、技术演进总结在分布式系统通信领域,技术…

Redis里面什么是sdshdr,可以详细介绍一下吗?

文章目录为什么 Redis 不直接使用 C 语言的字符串?sdshdr 的结构sdshdr 的不同类型sdshdr 带来的优势总结我们来详细解析一下 Redis 的核心数据结构之一: sdshdr。sdshdr 是 “Simple Dynamic String header” 的缩写,意为“简单动态字符串头…

RocketMq如何保证消息的顺序性

文章目录1.顺序消息的全流程1.1 发送阶段:消息分区1.2.存储阶段:顺序写入1.3.消费阶段:串行消费2.第三把锁有什么用?3.顺序消费存在的问题和Kafka只支持同一个Partition内消息的顺序性一样,RocketMQ中也提供了基于队列(分区)的顺…

zabbix平台无法删除已停用主机的处理案例

在zabbix平台上删除已停用的主机,提示“SQL描述式执行已失败: "DELETE FROM items WHERE (itemid IN (.....)”,无法删除,本文为处理情况。一、问题现象在zabbix平台上删除已停用的主机,提示“SQL描述式执行已失败…

【计算机网络】6应用层

1.网络应用模型 特性 客户/服务器模型(Client-Server, C/S) 对等模型(Peer-to-Peer, P2P) 中心化 是(依赖服务器) 否(去中心化) 角色特点 服务器 客户机 无中心服务器 提供计算服务 请求计算服务 每个节点(Peer)既是客户机也是服务器 永久在线 间歇接入网络 节点间…

基于 Spring Boot + Vue 实现人脸采集功能全流程

一、技术栈与依赖引入 后端依赖 (pom.xml) <!-- 百度AI SDK --> <dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.16.19</version><exclusions><exclusion><grou…

《Python基础》第3期:使用PyCharm编写Hello World

我们写文档大多用 Word、写表格大多用 Excel、写幻灯片大多用 PPT。 写代码也需要一个软件作为编辑器&#xff08;传说的大神用记事本写代码纯属玩笑了&#xff0c;越是大神越追求效率&#xff0c;用的软件功能越强&#xff09;。 Python 现在已经有了非常多的代码编辑器&#…

我的第一个开源项目:排序算法的多种实现方式

以 排序算法 为例&#xff0c;展示如何在 Python 中进行不同实现方式的对比项目概述本项目旨在通过 Python 实现几种经典的排序算法&#xff0c;并通过性能对比、代码注释和优化手段&#xff0c;为开源社区提供参考。选择排序、冒泡排序、快速排序和归并排序作为主要算法&#…

5G-LEO - 用于 5g satellite 链接的 OpenAirInterface™ 扩展

目标&#xff1a;5G-LEO 旨在加速 OAI 作为开源工具的发展&#xff0c;允许卫星通信社区交流和比较 5G NTN 结果&#xff0c;并促进研发活动的合作。扩展的OAI软件库被视为开发早期原型的重要工具&#xff0c;用于验证关键的5G NTN设计方面&#xff0c;并为3GPP标准化过程提供及…

基于 Mybatis 框架*的完整开发流程与顺序

基于 MyBatis 框架 的完整开发流程与顺序一、环境准备阶段1. 新建 Maven 项目&#xff08;或普通 Java 项目&#xff09;作用&#xff1a;用 Maven 统一管理依赖&#xff0c;自动下载 MyBatis、MySQL 驱动等 Jar 包操作&#xff1a;IDE&#xff08;如 IDEA&#xff09;选 Maven…

机械学习--决策树(实战案例)

决策树分两种分类和回归&#xff0c;这篇博客我将对两种方法进行实战讲解一、分类决策树代码的核心任务是预测 “电信客户流失状态”&#xff0c;这是一个典型的分类任务数据集附在该博客上&#xff0c;可以直接下载代码整体结构整理代码主要分为以下几个部分&#xff1a;导入必…

SQL154 插入记录(一)

描述牛客后台会记录每个用户的试卷作答记录到exam_record表&#xff0c;现在有两个用户的作答记录详情如下&#xff1a;用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001&#xff0c;并在50分钟后提交&#xff0c;得了90分&#xff1b;用户1002在2021年9月4日上午7点1分…