NAT 后面的 HTTP 服务器

2024-02-13

我正在尝试在多层 NAT 后面创建一个(apache)服务器,以便可以从 Internet 访问。

限制:

  1. 避免中继。有一个公共服务器(我们称他为OldMan)用于登录/眩晕,但其带宽太差,无法承载中继数据。
  2. 我无权手动配置 NAT。 3.用户无需更改浏览器或设备。(即适用于android、ios和任何PC)

I tried UPnP,但它只适用于1层NAT.

我尝试搜索NAT历经几个月的解决方案,却无果而终。

I study STUN/TURN/ICE,并尝试了pjsip(icedemo.exe + numb),但是,它的stun无法穿透2层NAT。

我尝试过 Mist、Pwnat,但没有成功。 据我所知,libjingle 听起来像是一个用于制作 Gtalk 扩展的 API...(?)

我也尝试过使用 VPN/N2N 来解决这个问题,但这会给公共服务器带来沉重的负担。任何 VPN 客户端都需要服务器(OldMan 服务器)将所有数据包中继到另一个,不是吗?

有什么办法可以解决这个问题吗?多层 NAT 后面的 HTTP 服务器。

顺便说一句,如果 STUN/TURN/ICE 有效,我的想法如下,可能吗?

  1. 用户安装了应用程序(例如:stun_browser_agent.exe)
  2. 用户在 Chrome 上输入以下地址:127.0.0.1:9999
  3. Chrome 连接到 stun_browser_agent.exe 守护进程
  4. 守护进程使用 Stun 协议连接到 HTTP Server
  5. Http 服务器上的守护进程(例如:stun_apache_agent.exe)接收所有消息并将其转发给 Apache 守护进程。
  6. Apache回复所有http信息 -->stun_apache_agent.exe-->stun_browser_agent.exe-->chrome

这样我们就不用修改浏览器和Apache了。

我可以参考任何可用资源来实现此目的吗?

感谢您的耐心等待


您是否可以控制该服务器与“外部世界”之间的所有 NAT 设备?

一种方法是在互联网网关路由器和服务器之间设置 SSH 隧道。

SSH 隧道将从您的服务器启动并连接到在互联网网关路由器上运行的 sshd。使用 SSH 的端口转发功能将 Internet 网关上的端口 80 转发回服务器上运行 Apache 的任何端口。

另一种方法是在公共互联网上可访问的任何其他服务器上设置 sshd(或任何其他隧道产品)。从您的服务器初始化与它的连接,并使用该连接将流量从该公共服务器上的端口 80 转发到您的服务器。

方法基本相同:您需要从您的服务器启动隧道设置,并使用该连接将流量从公共服务器转发回您的服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NAT 后面的 HTTP 服务器 的相关文章

  • VirtualBox网络NAT模式的端口映射设置

    VirtualBox的提供了四种网络接入模式 xff0c 它们分别是 xff1a 1 NAT 网络地址转换模式 NAT Network Address Translation 2 Bridged Adapter 桥接模式 3 Interna
  • Ubuntu 虚拟机无法联网(NAT模式下)- 解决方法

    想要在 Ubuntu16 04 虚拟机上安装 git 克隆仓库 xff0c 只需在 Ubuntu 终端输入以下命令即可 xff1a sudo apt get install git 但是我在输入之后并未安装成功 xff0c 反而显示以下结果
  • 使用VMware创建CentOS7虚拟机并设置网络环境(桥接、NAT、内网)

    使用VMware创建CentOS7虚拟机并设置网络环境 xff08 桥接 NAT 内网 xff09 演示目标演示环境创建虚拟机设置外网NAT模式桥接模式 设置内网 演示目标 使用VMware Workstation创建三台CentOS7虚拟
  • 虚拟机在nat模式下无法连接网络

    问题导入 在vmware下使用虚拟机由于某些原因设置了静态IP但是在后续的使用发现无法创建新的ssh连接 xff08 之前建立过连接并保存了密钥的仍可连接 xff09 xff0c 同时发现了主机网络可以正常ping通虚拟机的网络 xff0c
  • 解决virtualBox ubuntu桥接,nat不能上网问题

    开始配置网络的无论是桥接 xff0c nat模式都不能连接外网 xff0c 尝试了N方法无果 xff0c 最后猜想是不是网卡的设置有问题 结果果然是这里的问题 解决方案 xff1a 打开网络和共享中心 lt lt 更改适配器设置 lt lt
  • Linux透明代理 —— 使用iptables实现TCP透明代理(nat方式,一个客户端对应一个服务器)

    目录 xff1a 1 什么是透明代理 xff1f 2 透明代理的作用 xff1f 2 1 TCP代理服务器可以隐藏背后真正TCP服务器 2 2 保护TCP服务器免受应用层以下级别的协议栈攻击 2 3 TCP转址机 3 socket透明代理的
  • 在阿里云Ubuntu中使用coturn创建和配置您自己的STUN/TURN服务

    1 前言 此前rtsp转webRTC的本地服务运行的不错 但是使用的某个免费stun服务突然被关停了 造成一些rtspToWebRTC的服务受到影响 因此 目前打算在我闲置的阿里云服务器上搭建stun turn服务 我的域名xiaoyaoy
  • STUN, TURN, ICE介绍

    转自 https blog csdn net byxdaz article details 52786600 utm source blogxgwz4 STUN STUN协议为终端提供一种方式能够获知自己经过NAT映射后的地址 从而替代位于
  • NAT穿透的工作原理

    一 引言 1 1 背景 IPv4地址短缺 引入NAT 全球IPv4地址早已不够用 因此人们发明了NAT 网络地址转换 来缓解这个问题 简单来说 大部分机器都使用私有IP地址 如果它们需要访问公网服务 那么 出向流量 需要经过一台NAT设备
  • linux虚拟机中和主机三种网络连接方式的区别

    在介绍网络模式之前 关于网络的几个简单命令的使用 ifup eth0 启动网卡eth0 ifdown eth0 关闭网卡eth0 etc network interfaces 网络配置文件 etc init d networking 网络服
  • VMware虚拟机nat模式连不上网

    我的虚拟机总是各种连不上网 每次都要折腾一番 现在我把虚拟机连不上网的原因总体排查一下 按照流程一步步来 基本上可以解决大部分人的问题 首先 在VMware的编辑 gt 虚拟网络编辑器重新建立 网络 之前的要删掉 新建的同样选择 就可以 如
  • NAT网关和NAT穿越原理

    转自 https blog csdn net chance yin article details 37913963 一 原理图 1 背景信息 1 我们模拟的情形是位于网络A下的内网主机UserA 想要和位于网络B下的内网主机UserB进行
  • 关于 stun 服务器的困惑

    我的要求是 我将打开一个UDP服务器监听X端口 本地机器 和machine public IP 可以发送UDP包给我 我的机器没有public IP 基本上我需要stun 我正在测试stuntman服务器 客户端项目 我在服务器 公共IP
  • 路由器在 NAT 中保留记录多长时间?这些记录可以重复使用来转发来自其他主机的请求吗?

    有一个答案以简单的方式解释了路由器如何将请求从本地网络转换到外部网络并返回 https superuser com questions 105838 how does router know where to forward packet
  • UDP/TCP 打洞 vs UPnP vs STUN vs?

    我尝试制作一个 P2P 程序 需要帮助来穿越客户端的 NAT 我在 stackoverflow 上读过很多问题 但我从来不知道通过 NAT 的所有方法的缺点和优点是什么 有多少路由器支持哪些方法 大公司常用哪些方法 BitTorrent T
  • 为公共 GKE 集群设置 Cloud NAT

    我想设置一个 NAT 网关 使用云NAT https cloud google com nat docs overview 以便公共 GKE 集群中的 VM Pod 使用静态 IP 地址 我面临的问题是 NAT 网关似乎只能在虚拟机没有其他
  • 有没有开源的跨平台NAT穿透?

    有没有开源的跨平台NAT穿透 我还没见过 但您会在这里找到比您需要的更多信息 http www enchantedage com node 8 http www enchantedage com node 8 实施起来并不难 只需要做一些工
  • 什么是 STUN?它是否需要端口转发服务器?

    我对没有基础服务器的 p2p 通信进行了一些研究 并通过了 STUN 据我所知 STUN 是 NAT 打孔 的一种方式 不需要对等方进行端口转发即可连接 这是正确的吗 打孔到底是什么意思 这一切看起来都很脆弱 因为如果不需要端口转发 它就会
  • NAT 穿越和 IPv6

    我很好奇一旦 IPv6 的部署和使用增加 NAT 和 NAT 穿越机制的用处 我们有很多 NAT 遍历机制 包括专有的 主要用于某种住宅或企业 NAT 背后的 IPv4 设备 客户端 鉴于 NAT 的出现是因为 IPv4 缺乏可用地址 那么
  • 连接到在 Docker 中运行的 HBase

    我无法连接到 Windows 上 Docker 中运行的 HBase banno hbase 独立 https registry hub docker com u banno hbase standalone 图像 但是 我可以连接到本地安

随机推荐

  • del 语句与调用 __delitem__ 总是 100% 相同吗?

    a something iterable object in python del a 1 Is del a 1 总是一样a delitem 1 是Python吗del语句定义为调用 delitem method The del陈述 htt
  • 向上按钮调用父 Activity 的 OnDestroy

    首先 我想澄清一些事情 我正在努力使用的按钮不是back按钮 我指的是up home应用程序顶部的 ActionBar Toolbar 中的按钮 而不是底部的 Android 按钮 有几个posts https stackoverflow
  • 将特定 TensorFlow 变量恢复到特定层(按名称恢复)

    假设我训练了一个 TensorFlow 模型并保存了它 现在有一个不同的模型 并且我想将保存的模型中的一些权重用于模型中的某些层 它们具有相同的形状 现在 我能够找到如何从模型中保存特定变量 具有特定名称 但我无法找到任何按名称恢复这些变量
  • 如何将挂起函数作为显式参数传递给协程构建器?

    我正在调查launch协程构建器将协程代码作为block suspend CoroutineScope gt Unit 我们通常将代码作为 lambda 传递 但是 我想知道如何将此函数作为显式参数传递给启动函数 coroutineScop
  • 如何使用gson处理动态响应数据? (json 到 java 对象)

    这是 Json 用户列表 response result users name ABC age 20 gender F name cbd age 23 gender M 有时会像这样返回 response result
  • 使用 Tornado 广播消息

    我有一个发送消息的应用程序 该消息应该广播到每个当前连接的客户端 假设客户数量可能达到数千 如何在不阻塞的情况下实现这个广播逻辑 我认为会阻止的示例代码 clients class Broadcaster tornado websocket
  • Arm Cortex A9交叉编译奇怪的浮点行为

    我正在尝试将更大的应用程序从 x86 移植到 arm cortex a9 但在交叉编译应用程序时 我遇到了像 modf 这样的浮点函数的奇怪分段错误 其他 libc 函数似乎处理浮点数错误 但不会崩溃 见下文 所以我尝试了这个小测试程序 它
  • android.content.UriMatcher 的含义

    Uri Matcher 是什么android content UriMatcher 如何使用它 有人可以解释一下以下三行代码的含义吗 uriMatcher new UriMatcher UriMatcher NO MATCH uriMatc
  • C# 中的 Directory.GetFiles() 模式匹配

    我在用着Directory GetFiles 根据给定模式列出文件 这对于我正在寻找的大多数模式 例如 zip rar sfv 都适用 这就是我准备清单的方式 或多或少 问题在于我想列出的数字 0 001 到 0 999 的模式 alArr
  • 如何更改选定文本的颜色?

    请左键单击并拖动此文本 标记它 您看到的颜色是蓝色 我想使用 Javascript 或 HTML CSS 将该颜色更改为深绿色 浏览器支持有限 selection background ffb7b7 Safari moz selection
  • 了解 ldd 输出

    如何ldd知道这取决于libc so 6 not libc so 5 or libc so 7 libc so 6 gt lib64 libc so 6 0x00000034f4000000 lib64 ld linux x86 64 so
  • 无法从 WP8 上 SD 卡上的 SQLite DB 检索数据

    我在控制台应用程序中使用 System Data SQLite 创建了 SQLite DB 然后我将其移至 Windows Phone 的 SD 卡 我按照以下说明将 SQLite 支持添加到我的 WP8 应用程序 https github
  • 你能在 matplotlib 中绘制实时数据吗?

    我正在一个线程中从套接字读取数据 并希望在新数据到达时绘制和更新绘图 我编写了一个小原型来模拟事物 但它不起作用 import pylab import time import threading import random data Th
  • pymc3 具有来自核密度估计的自定义似然函数

    我正在尝试将 pymc3 与从一些观察数据派生的似然函数一起使用 这些观察到的数据不符合任何好的标准分布 所以我想根据这些观察来定义我自己的数据 一种方法是对观测值使用核密度估计 这在 pymc2 中是可能的 但与 pymc3 中的 The
  • 来电时无振铃事件

    我不知道哪里出了问题 听者听不懂onRinging事件 这样我就可以决定接受还是拒绝来电 清单中是这样的
  • JPA 枚举继承

    我有一个名为 类别 的接口和 4 个实现该接口的枚举 这些枚举是按类别决定的 并且有不同的类型 例子 Interface interface BillCategory Enum 1 public enum GroceryPurchase i
  • 嵌入式 ember-cli 项目与 RequireJS 冲突

    我正在尝试将 EmberJS 应用程序嵌入到广泛使用 RequireJS 库的大型门户应用程序中 我正在使用 ember cli 来构建项目 构建的应用程序由两个文件组成 dist assets vendor js and dist ass
  • Spring-JPA EntityManager 如何处理“断开的”连接?

    我有一个使用 Spring EntityManager JPA 的应用程序 我想知道如果数据库在上述应用程序的生命周期内不可用 会发生什么情况 我预计在这种情况下它会在第一次对数据库执行任何操作时抛出异常 对吗 但是 假设我等待 10 分钟
  • 如何使用 AJAX Control Toolkit HTML 编辑器通过 javascript 获取/设置内容?

    我正在使用 AJAX Control 工具包 HTML 编辑器 并希望有一个简单的问题 正如问题标题所说 如何通过 javascript 获取 设置 HTML 编辑器的内容 我访问服务器端内容属性没有问题 但如何在客户端执行此操作 非常感谢
  • NAT 后面的 HTTP 服务器

    我正在尝试在多层 NAT 后面创建一个 apache 服务器 以便可以从 Internet 访问 限制 避免中继 有一个公共服务器 我们称他为OldMan 用于登录 眩晕 但其带宽太差 无法承载中继数据 我无权手动配置 NAT 3 用户无需