手动部署并测试内网穿透

文章目录

  • 手动部署并测试内网穿透
    • 1、原理
    • 2、下载 frp 文件
    • 3、配置对应的配置文件
    • 4、启动 frp 服务
    • 5、效果

img

手动部署并测试内网穿透

1、原理

原理就是让你需要访问的内网可以被其他内网访问到。

其实就是让内网经过一个公网服务器的转发,使得能够被访问。

这里我们需要用到 frp:

FRP(Fast Reverse Proxy)是一款开源的反向代理工具,通常用于内网穿透。它可以让处于防火墙或NAT后的设备对外提供服务,允许外网用户访问位于内网中的服务器或服务。

步骤:

  • 先让公网服务器下载一个 frp 文件,配置其对应的配置文件并启动,这里作为服务器端。
  • 再让需要被访问的内网对你的服务器进行连接,进行对应的 IP 地址和端口映射(这里也需要配置对应的配置文件)。
  • 接下来发送到你服务器的对应端口的数据就会被转发到该内网中对应的 IP 和映射端口。
  • 同理,内网中对应的 IP 和端口的数据也可以发送到访问它的 IP 中。


2、下载 frp 文件

frp 文件的下载链接


3、配置对应的配置文件

我们下载好对应的文件,对其进行解压缩,分别放到云服务器(有公网 IP )和需要访问的内网主机上。

下面是举例访问内网的 ssh 服务器

云服务器端:

xp2@Xpccccc:~$ ll
total 76
drwxr-xr-x 9 xp2  xp2  4096 Sep 19 12:09 ./
drwxr-xr-x 5 root root 4096 Aug 31 18:34 ../
-rw------- 1 xp2  xp2  9335 Sep 19 12:09 .bash_history
-rw-r--r-- 1 xp2  xp2   220 Feb 25  2020 .bash_logout
-rw-r--r-- 1 xp2  xp2  3106 Aug 31 18:35 .bashrc
drwx------ 4 xp2  xp2  4096 Sep  1 21:28 .cache/
drwxrwxr-x 3 xp2  xp2  4096 Sep  1 20:28 .dotnet/
drwxr-xr-x 2 xp2  xp2  4096 Sep 19 12:09 frp_0.58.1_linux_amd64/  # 下载解压好的文件
-rw-rw-r-- 1 xp2  xp2    50 Sep 10 16:04 .gitconfig
drwxrwxr-x 4 xp2  xp2  4096 Sep  6 11:13 items/
drwxrwxr-x 4 xp2  xp2  4096 Sep 10 16:02 Items/
-rw------- 1 xp2  xp2    34 Sep  4 01:59 .mysql_history
-rw-r--r-- 1 xp2  xp2   161 Aug 31 18:35 .profile
-rw-r--r-- 1 xp2  xp2     0 Sep  3 20:28 .sudo_as_admin_successful
drwxrwxr-x 4 xp2  xp2  4096 Sep  6 10:16 third_part/
-rw------- 1 xp2  xp2  2558 Sep 19 12:09 .viminfo
drwxrwxr-x 5 xp2  xp2  4096 Sep 10 12:42 .vscode-server/
-rw-rw-r-- 1 xp2  xp2   183 Sep  1 20:26 .wget-hsts
xp2@Xpccccc:~$ 

进入 frp 文件进行配置:

xp2@Xpccccc:~$ cd frp_0.58.1_linux_amd64/
xp2@Xpccccc:~/frp_0.58.1_linux_amd64$ ll
total 31980
drwxr-xr-x 2 xp2 xp2     4096 Sep 19 12:09 ./
drwxr-xr-x 9 xp2 xp2     4096 Sep 19 12:09 ../
-rwxr-xr-x 1 xp2 xp2 14471320 May 31 14:37 frpc*
-rw-r--r-- 1 xp2 xp2      142 May 31 14:40 frpc.toml
-rwxr-xr-x 1 xp2 xp2 18239640 May 31 14:37 frps*
-rw-r--r-- 1 xp2 xp2       16 Aug 31 19:08 frps.toml
-rw-r--r-- 1 xp2 xp2    11358 May 31 14:40 LICENSE
xp2@Xpccccc:~/frp_0.58.1_linux_amd64$ 

这里是服务器端,那我们配置 frps.toml 文件(s -> server):

xp2@Xpccccc:~/frp_0.58.1_linux_amd64$ vim frps.toml 
bindPort = 7777 // 这个是对应的内网主机访问云服务器的端口号,建立TCP连接

内网服务器主机端:

(base) ynu@3090ti:/data/runcode/xp$ ll
总计 24
drwxrwxr-x  6 ynu ynu 4096  830 22:03 ./
drwxrwxrwx 30 ynu ynu 4096  830 20:27 ../
drwxr-xr-x  4 ynu ynu 4096  914 21:18 data/
drwxr-xr-x  2 ynu ynu 4096  919 12:02 frp_0.58.1_linux_amd64/ # 下载解压好的文件
drwxrwxr-x  3 ynu ynu 4096  913 21:12 .idea/
drwxrwxr-x  4 ynu ynu 4096  729 14:57 venv/
(base) ynu@3090ti:/data/runcode/xp$ 

进入 frp 文件进行配置

(base) ynu@3090ti:/data/runcode/xp/frp_0.58.1_linux_amd64$ ll
总计 31980
drwxr-xr-x 2 ynu ynu     4096  919 12:02 ./
drwxrwxr-x 6 ynu ynu     4096  830 22:03 ../
-rwxr-xr-x 1 ynu ynu 14471320  531 14:37 frpc*
-rw-r--r-- 1 ynu ynu      153  831 19:09 frpc.toml
-rwxr-xr-x 1 ynu ynu 18239640  531 14:37 frps*
-rw-r--r-- 1 ynu ynu       16  830 12:46 frps.toml
-rw-r--r-- 1 ynu ynu    11358  531 14:40 LICENSE

这里是客户端,那我们配置 frpc.toml 文件(c -> client):

(base) ynu@3090ti:/data/runcode/xp/frp_0.58.1_linux_amd64$ vim frpc.toml 
serverAddr = "101.126.70.48"
serverPort = 7777  // 访问云服务器的端口号 ,建立TCP连接

[[proxies]]
name = "new_ssh-service" // 名称
type = "tcp"			 // 代理类型
localIP = "127.0.0.1"	 // 本地IP
localPort = 22			 // 内网服务监听的端口,也就是ssh服务 ,即7778映射22号端口
remotePort = 7778  		 // #需要在公网服务器上监听的端口,其他人未来可以通过这个端口访问,我们的本地的 22 号服务

4、启动 frp 服务

服务器和客户端都可以这样在后台启动

云服务器端:让其在后台运行(成为守护进程)

xp2@Xpccccc:~/frp_0.58.1_linux_amd64$ nohup ./frps -c ./frps.toml &>/dev/null &

被访问的内网主机端:

(base) ynu@3090ti:/data/runcode/xp/frp_0.58.1_linux_amd64$ nohup ./frpc -c ./frpc.toml &>/dev/null &
  • &> /dev/null:这是重定向操作,用于将命令的标准输出(stdout)和标准错误(stderr)都重定向到/dev/null。/dev/null 是一个特殊的设备文件,向它写入的内容都会被丢弃,读取它则会立即返回文件结束。因此,这个操作的作用是忽略命令的所有输出信息。

5、效果


OKOK,手动部署并测试内网穿透就到这里。如果你对Linux和C++也感兴趣的话,可以看看我的主页哦。下面是我的github主页,里面记录了我的学习代码和leetcode的一些题的题解,有兴趣的可以看看。

Xpccccc的github主页

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

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

相关文章

2024年H1昇腾服务器中标统计:宝德超聚变遥遥领先

华为全联接大会将于9月19日召开,本届华为全联接大会(HUAWEI CONNECT 2024)以“共赢行业智能化”为主题,以昇腾鲲鹏AI计算为核心,赋能行业增长。 去年9月20日,第八届华为全联接大会在上海发布了昇腾Atlas 90…

解决redis缓存击穿问题之布隆过滤器

布隆过滤器 1. 什么是布隆过滤器 布隆过滤器(Bloom Filter)是一个空间效率很高的数据结构,用于判断一个元素是否在一个集合中。布隆过滤器的核心思想是利用位数组和一系列随机映射函数(哈希函数)来快速判断某个元素是…

什么是CSRF攻击,该如何防护CSRF攻击

CSRF攻击(跨站请求伪造,Cross-Site Request Forgery)是一种网络攻击手段,攻击者利用已通过身份验证的用户,诱导他们在不知情的情况下执行未授权操作。这种攻击通常发生在用户登录到可信网站并且有活动的会话时&#xf…

我的AI工具箱Tauri版-FunAsr音频转文本

本教程基于自研的AI工具箱Tauri版进行FunAsr音频转文本服务。 FunAsr音频转文本服务 是自研AI工具箱Tauri版中的一个高效模块,专为将音频或视频中的语音内容自动转化为文本或字幕而设计。用户只需简单配置输入、输出路径,即可通过FunAsr工具快速批量处理…

PCL KD树的使用

目录 一、概述 1.1原理 1.1.1 数据拆分过程 1.1.2 树的构建示例 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1KD树构建与查询: 2.1.2 k近邻搜索 2.1.3半径搜索 2.2完整代码 三、实现效果 3.1处理后点云 3.2数据显示 PCL点云算法汇总及实战…

linux系统维护:给linux的根目录分配更多的额外的磁盘空间,实现系统磁盘容量的平滑升级

目录 一、背景说明 二、概念介绍 1、物理卷(Physical Volume, PV) 2、卷组(Volume Group, VG) 3、逻辑卷(Logical Volume, LV): 三、操作过程 1、vmware中新增磁盘 2、查看磁盘信息 3、格式化…

安卓13长按电源按键直接关机 andriod13不显示关机对话框直接关机

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有些设备需要在长按电源键的时候,直接关机。不需要弹出对话框进行询问。 2.问题分析 过滤电源按键,需要在系统里面处理的话,那么我们需要熟悉android的事件分发,然后再…

stm32f411ceu6芯片学习

首先找到对应芯片的数据手册,硬件电路设计参考的是Electrical characteristics这一节,芯片的每一个引脚都会有推荐的电路接线。 基本每个芯片,都可以在数据手册中找到厂家提供的参考电路图,这就是绘制芯片的原理图最基本的依据。 …

力扣题解2390

大家好,欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​(中等): 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中,你可以: 选中 s 中的一个星号。 移除星号…

清理C盘缓存,删除电脑缓存指令是什么

在处理计算机系统的C盘缓存清理任务时,需要谨慎操作以确保系统的稳定性和数据的安全性。通常,Windows操作系统中并没有直接的“一键清理C盘缓存”的单一命令,因为缓存文件分散存储于多个位置,并且有些缓存对于系统性能至关重要&am…

HarmonyOS元服务与卡片

元服务与卡片 文章目录 一、元服务1.介绍2.常见元服务项目步骤 二、卡片1.介绍2.卡片的创建3.卡片的数据的变更4.卡片的进程间通讯4.1使用工具包4.2使用步骤 5.卡片路由postCardAction:快速拉起后台5.1格式5.2快速拉起指定页面--router5.3调用后台功能--call5.3卡片…

基于Java的房地产在线营销管理系统研究与实现

目录 前言 功能设计 系统实现 获取源码 博主主页:百成Java 往期系列:Spring Boot、SSM、JavaWeb、python、小程序 前言 随着信息技术的迅猛发展,互联网已经渗透到我们生活的方方面面,为各行各业带来了前所未有的变革。房地产…

Linux学习笔记8 理解Ubuntu网络管理,做自己网络的主人

本文讲解了Ubuntu下网络由什么管理,介绍了临时ip和路由的设置方法,介绍了静态持久化网络配置的方法以及各网络管理软件之间的关系。 来看看Ubuntu网络管理。 序言 原本学习ubuntu网络管理就是为了检查nginx安装过程中使用wget获取压缩包为什么解析不出…

Python编码系列—Python适配器模式:无缝集成的桥梁

🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…

Jenkins怎么设置每日自动执行构建任务?

在 Jenkins 中设置每日自动执行构建任务可以按照以下步骤进行: 一、安装必要插件 确保安装了 “Timestamper” 插件,这个插件可以为构建添加时间戳,方便查看构建的执行时间。 二、配置任务 打开需要设置每日自动执行的 Jenkins 任务。在 …

105.游戏安全项目-基址的技术原理-分析技巧

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要盲目相信…

品牌力是什么?如何评估企业品牌影响力?

品牌影响力,其实就是指品牌在消费者心智中所占据的位置,以及它对消费者购买决策和行为的影响力。如果一个企业的品牌影响力越强,它在消费者心中的印象就越深刻,能够更有效地驱动消费者的购买行为,形成品牌忠诚度&#…

【C++ 学习】多态的基础和原理(10)

目录 前言1. 概念2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数重写2.4 虚函数重写的例外2.4.1 协变2.4.1 析构函数的重写 2.5 多态调用和普通调用2.6 函数重写/函数隐藏/函数重载 的对比2.6.1 函数重写2.6.2 函数隐藏2.6.3 函数重载 2.7 C11 final 和override 3…

爬虫--翻页tips

免责声明:本文仅做分享! 伪线程 from DrissionPage import ChromiumPage import timepage ChromiumPage() page.get("https://you.ctrip.com/sight/taian746.html") # 初始化 第0页 index_page 0# 翻页点击函数 sleep def page_turn():page…

计算机毕业设计 美妆神域网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…