我正在尝试使多层 NAT 后面的(apache)服务器可以从 Internet 访问。
限制:
- 避免中继。有一个公共服务器(我们称他为 OldMan)用于登录/眩晕,但它的带宽太差,无法承载中继数据。
- 我无权手动配置 NAT。3.用户无需更改浏览器或设备。(即适用于android、ios和任何PC)
我试过UPnP
了,但它只适用于1 层 NAT。
我试图搜索NAT
遍历解决方案几个月,但徒劳无功。
我学习STUN/TURN/ICE
并尝试了 pjsip (icedemo.exe + numb),但是,它的 stun 无法穿透 2 层 NAT。
我尝试了 Mist,Pwnat,但没有运气。据我所知,libjingle 听起来像是一个用于制作 Gtalk 扩展的 API……(?)
我也尝试制作 VPN/N2N 来解决这个问题,但这对公共服务器来说将是一个沉重的负担。任何 VPN 客户端都需要服务器(OldMan 服务器)将所有数据包中继到另一个,不是吗?
有什么解决方案可以解决这个问题吗?多层 NAT 后面的 HTTP 服务器。
顺便说一句,如果 STUN/TURN/ICE 有效,我的想法如下,可能吗?
- 用户安装了一个应用程序(例如:stun_browser_agent.exe)
- 用户在 Chrome 上输入以下地址:127.0.0.1:9999
- Chrome 连接到 stun_browser_agent.exe 守护进程
- 守护进程使用 Stun 协议连接到 HTTP 服务器
- Http Server 上的守护进程(例如:stun_apache_agent.exe)接收所有消息并将其中继到 Apache 守护进程。
- Apache回复所有http信息-->stun_apache_agent.exe-->stun_browser_agent.exe-->chrome
这样我们就不必修改浏览器和 Apache。
我可以参考任何可用的资源来实现这个吗?
感谢您的耐心等待