多种内网穿透的实现方案

1. 内网穿透的应用场景

1.1. 开发调试

比如企业微信、钉钉等开发,需要一个回调地址,开发的时候,希望回调到开发的电脑上,打断点进行调试,这就需要穿透到内网的开发机器。

1.2. 演示测试

有需要演示或测试的系统,可以直接将内网系统地址暴露到外网,短时间内进行演示或测试,不用再买服务器了

1.3. 访问内部系统

有的系统部署在内网,大部分时间在内网访问,偶尔需要进行外部访问。

1.4. 其他

因为真正的内网穿透技术上成功率非常低,基本上都是通过服务器转发,需要服务器、域名和带宽资源,所以免费的都有限制。像免费版花生壳每月1G的流量,速度和稳定性无法保证。1G流量也不太够用。

2. Ngrok

2.1. 注册账号

在ngrok.com,注册一个账号

进入以后拿到token,并且下载客户端

2.2. 身份验证

ngrok config add-authtoken 你的token

执行后,保存到了ngrok.yml文件

2.3. 映射

首先我们在本地开一个Nginx,端口号30080,确保能访问

启动隧道,意思是启动http隧道,转发到本地的30080端口

执行:ngrok http 30080

可以看到已经,给了随机域名

https://30bb-112-232-222-182.ngrok-free.app/

现在我们访问

这样实现了将内网的服务通过隧道暴露在外网。

但是存在2个问题:

1、免费版域名是随机的,每次都不一样,如果尝试用自己的域名,不行,提示升级

这就尴尬了。比如企业微信对域名的验证比较严格,要验证主体一致,也就是随机给的这个域名没法用

当我们尝试自己在阿里云上添加CNAME,指到Ngrok,也报错了

而升级最便宜的需要8美元1个月,够买一个轻量服务器

2.4. 所以:

免费版也明确提出会有带宽和用量的限制。此种方式适合偶尔将内网系统暴露给外网的情况,比如:给客户一个演示地址。短时间的演示一下。

3. FRP

Frp是github上的一个star超过66.8k的项目,功能和Ngrok类似,但是需要自己搭建,这样的好处是完全可控,只要有相关资源就可以

3.1. 前提条件:

1、一台有固定IP的服务器

2、自己可控的域名

但是在下载的时候杀毒软件直接报毒删掉了,查了下,网上也有很多类似情况,还有安装后中勒索者病毒的。暂时还是不尝试了。

4. DDNS+路由端口映射

这个前提是上网的宽带有外网IP,现在IPV4资源紧张,安装的电信宽带就没有外网IP。如果没有,据说可以给运营商打电话要到。如果有外网IP,即便不是固定的,那也很好了。配置也简单,登录路由器(有权限),做一个端口映射,就可以了

5. IPV6

IPV6已经喊了很多年了。但是现实中存在感有点低,来一张图,可以看到普及还需要时间。

我的电信宽带虽然没有给外网的IPV4,但是给了外网的IPV6,虽然经过了多层的NAT,但是我在手机上可以直接访问到我笔记本。非常Nice。但是当我在公司访问的时候,结果却无法访问。这就Nasty了。原因竟是公司的网络设备不支持IPV6。现实就是这样的。还有很多原有的设备没有进行IPV6的升级。现在国内通过手机流量都已经支持IPV6了。运营商的骨干网也已经支持。但是完全脱离IPV4,直接用IPV6,还不太现实。这个方案看着很香,当前还无法实际应用,但是未来可期。

6. SSH 端口转发

6.1. 前提条件:

需要一台有固定IP的服务器,假设IP为:8.8.8.8,用户名:root,密码:password

6.2. 场景一:将内网的web服务器映射出去

先上一张图,流程大概是这样的

解释:

  1. 当小强访问http://8.8.8.8:43001的时候
  2. Nginx将请求转发到本机的42001端口
  3. 这时候sshd正在监听42001端口。监听到后,通过ssh发给内网的192.168.1.1(192.168.1.1和8.8.8.8已经建立了连接)
  4. 内网的接收到数据后,转发到本机的80端口
  5. 数据的相应流程是相反的过程

针对SSH隧道我问了ChatGPT两个问题:

1、ssh客户端也是使用22端口吗

答:

SSH客户端和服务器之间建立SSH连接时,客户端通常是通过将自己的SSH连接请求发送给服务器的22号端口来发起连接。但是,与SSH服务器不同的是,SSH客户端本身并不需要监听或使用22号端口。

换句话说,SSH客户端不会直接使用TCP端口22来进行连接,而只是通过该端口向SSH服务器发送连接请求。实际上,当用户在SSH客户端中执行 ssh 命令时,默认情况下会在本地计算机上创建一个随机的TCP端口来与SSH服务器进行连接,并且随机端口仅用于该次SSH连接

总结下来就是:服务器端用22端口,客户端是随机端口

2、ssh隧道是单独的连接吗?

答:

SSH隧道是通过在一条SSH连接中嵌入其他协议的方法来实现的,因此它不是一个单独的连接,而是在已有的SSH连接之上添加了额外的功能。

在使用SSH隧道时,可以通过在SSH客户端和SSH服务器之间建立一个TCP隧道,将其他协议的数据流量发送到该隧道上。这样,就可以在不直接暴露其他协议的情况下,通过SSH安全地传输数据。

例如,在使用MySQL时,可以通过SSH隧道来加密和保护MySQL的数据传输。为了实现这个过程,可以在SSH客户端中打开一个本地端口,并将其映射到MySQL服务器上的远程端口。然后,在MySQL客户端中连接本地端口,就可以通过SSH安全地传输MySQL数据。

需要注意的是,SSH隧道的性能受到SSH连接的影响,因此在使用SSH隧道时,需要考虑网络环境和SSH连接的稳定性,以确保数据的可靠传输。同时,为了提高安全性,建议使用密钥认证方式进行SSH连接,并设置适当的防火墙和访问控制策略,以防止未经授权的访问

总结下来就是:隧道不是单独的连接。是在已有的SSH连接之上添加的额外功能

具体实现如下

1、服务器上需要安装Nginx,并做如下配置:

server {

listen 43001; #这里监听的为后续访问的云服务器端口,可以设置为任意一个服务器上还不存在的端口号

server_name _; # 这里填你的域名,如果没有域名则填localhost

location / {

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_redirect off;

proxy_pass http://localhost:42001; # 这里的8899相当于一个标识,和后面在本地创建通道相关,可以任意设置一个值

}

}

2、然后内网服务器上执行:

ssh -R 42001:localhost:80 -N root@8.8.8.8

输入密码,也可以用xshell,主页shell连接后也可以

保持连接。xshell有相应的设置。还可以用用AutoSSH来实现稳定的SSH连接

这样我们就建立了隧道:http://8.8.8.8:43001->http://192.168.1.1:80

确保外网也能访问这个监听端口,而不是只能被localhost访问

vim /etc/ssh/sshd_config

GatewayPorts yes

systemctl restart sshd

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

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

相关文章

Appium的安装与应用

安装 1.pip install appium-python-client 2.安装appium server https://github.com/appium/appium-desktop/releases 配置完ANDROID_HOME和adb后安装 3.安装JDK 因为我们做安卓自动化,需要用到Android SDK,这个需要JDK 可以cmdr ,运行一下…

如何解决用户被锁状态

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Oracle sql*plus PLSQL Developer 作者:朱海恩 撰写时间: 2019.03.15 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

解决Oracle system/用户被锁定

文章包含了如何解锁system账户,如何解锁普通用户scott的方法,同时在文末也有一些可以解决忘记密码而导致账户被锁的小方法。分享给大家。 system用户被锁定了,而其他用户又没有权限对其进行解锁,这个时候该怎么办呢? …

Cursor!!!GPT-4帮我写代码

首先介绍一款产品:cursor 官网 :https://www.cursor.so IDE作者: https://twitter.com/amanrsanger 目前为止应该是第一个免费能够使用GPT4工作的软件,看作者的Twitter,他说自己提前向OpenAI要到了GPT4的API&#xff…

Python调用OpenAI接口的简单封装

1. 注册OpenAI账号,获取OpenAI-API key 网上有很多资料,这里就不再叙述了,科学上网,懂得都懂。 一个小坑,在生成API key之后需立刻复制下来,否则将无法再次打开。当然如果错过复制了,也可以再…

使用youtube语音识别功能给视频加自动字幕

起因 自己英文比较差,国外大佬的演进听不清楚,也没有字幕,虽然有PPT,但还是想完整的了解下。 于是在想自己能用哪种语音识别的工具把英文字幕加上。最近一直在youtube上看视频,发现youtube可以把字幕转换成各国语言的…

5分钟教会你英语视频如何制作中英字幕

2.识别引擎改为【专业级识别引擎】识别语言改为英语 最近很多自媒体,都是通过国外的网站, 搬运到抖音等视频媒体平台,那么,他们是如何为视频增加字幕的呢?接下来,我给大家进行一下简单教学!~ 英…

视频自动生成字幕(免费版)

众所周知视频生成字幕是个麻烦事,现如今市面上大多数的视频软件生成字幕不是效果不佳就是需要花钱,不过有这样一种方法是可以免费生成字幕的。 所需工具: 网易见外工作台Pr软件 1.注册网易见外工作台账号 拿个邮箱注册一下就行&#xff0c…

英文视频字幕自动生成

笔者正在制作少儿编程教育系列视频,发现有大量的英文视频资料值得学习,但是视频中缺少字幕,可能会对学生的学习过程带来困扰。如果能够得到英文字幕,再通过谷歌翻译等工具的使用,就可以进一步生成中文字幕。因此&#…

英文视频如何翻译成中文视频简单工具推荐

英文视频如何快速变成中文视频,自动生成文案,自动匹配画面,同时还有中文的配音,看过来,在测试了十几款软件之后,终于找到我心目中最好用的那一款了, 不服来辩。 相信很多小伙伴在日常浏览海外的…

[tool] AI视频翻译 解决英文视频字幕问题(类似youtube自动生成字幕)

1.网易见外是网易人工智能事业部旗下的AI视频翻译产品. 字幕支持手工编辑和下载 不过网易见外 只支持WEB在线操作 并且只支持单个上传操作 目前没有客户端 2.人人译视界 (IOS 安卓 PC客户端都有) 3 微软最新免费试用的AI字幕翻译 超级好用 建议使用这个来采集英文字幕 超级准 …

如何把视频文件添加中英文对照字幕

如何把视频文件添加中英文对照字幕 在这里用到了subtitle edit的软件,首先我们先安装好subtitle和vlc软件,见上一篇文章下载Subtitle edit和vlc 1,点击视频,打开视频文件 选择视频文件 2, 点击视频转文本 会要求安…

剪映怎么把英文字幕翻译成中文?(附视频教程+字幕翻译工具)

点击上方"优派编程"选择“加入星标”,第一时间关注原创干货 原文地址 https://www.fang1688.cn/ziyuan/2886.html 今天介绍的这款英文字幕翻译成中文软件:剪映字幕翻译通用版3.6.1.exe 使用方法 关于账号登录直接登录b站账号即可。 软件可能会…

【开源工具】使用Whisper提取视频、语音的字幕

这里写目录标题 一、语音转字幕操作步骤1、下载安装包Assets\WhisperDesktop.zip[^2]2、加载模型2.1 下载模型2.1.1 进入Hugging Face[^3]的仓库2.1.2 选择需要下载的模型2.1.3 配置模型路径 3、语音转字幕4、实时语言转录功能 二、相关简介[^1]特点开发人员指南构建说明其他注…

用剪映将无字幕的英文视频翻译成中文字幕(附教程+软件)

点击上方蓝字"优派编程"选择“加为星标”,第一时间关注原创干货 原文地址 https://www.fang1688.cn/ziyuan/2886.html 简介: 剪映字幕翻译及SRT字幕导出功能:剪映字幕翻译及SRT字幕导出功能,更加方便的制作视频&#xf…

语音视频自动生成字幕功能介绍

语音视频自动生成字幕功能介绍 中国站点 https://aismartvip.com 香港站点 https://hk.aismartvip.com 语音视频识别,自动生成字幕,支持全球120种语音/视频识别: 中文、普通话(中国简体)、中文、普通话(台湾繁体)、中…

【解决方案】如何把视频内的声音和文字翻译成新的字幕或者配音

一、视频翻译的几种情况 根据视频的声音进行翻译并生成字幕 一般来说,我们使用自动语音识别(ASR)技术对视频的声音进行翻译并生成字幕的步骤如下: 选择翻译软件:首先,选择一个支持ASR技术的翻译软件。 上…

视频翻译字幕的软件哪个好?看完你就知道了

以前给自己的视频翻译字幕,是一项难度非常高的工作,但如今不一样了,随着科技地不断发展,现在出现了很多软件能够帮助我们轻松去实现视频字幕的提取与翻译,而且操作难度也不会太难,翻译效率也能得到保障&…

视频翻译成中文工具哪个好?3招教你视频翻译字幕

最近,上大学的表妹向我求助,大概内容就是:她是学生会记者团的小记者,某天她接到任务,要写一篇关于科学讲座的报道,结果部长给的材料是无字幕的全英讲座视频,表妹听了一天都翻译不出来。其实不用…

免费将中文视频转换为英文视频并添加中英双语字幕

免费将中文视频转换为英文视频并添加中英双语字幕 背景 女朋友需要找关于《不要随意喂养动物园的动物》的英语视频,因为限定是英语类的视频,所以在国内的视频平台基本无法找到。虽然我是个程序员,但在女友的眼里,只要关于电脑的…