问题标签 [nat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 我可以使用 FTP 连接 2 台 NAT 覆盖的计算机吗?
我在不同的 NAT 和 FTP 服务器后面有 2 台计算机。如何在没有服务器程序的情况下将计算机相互连接?我读到了 STUN 和 UDP 打孔,但正如我所见,它需要一些服务器端程序,不是吗?它将在python程序中使用。
applet - 解决 P2P 上的 NAT 问题
我正在为浏览器到浏览器应用程序开发一个小程序,其中用户 A 知道用户 B 的 IP,通过端口请求连接,用户 B 响应请求。
主要问题是两个用户都在 NAT 之后,因此仅使用 IP 和端口是无法连接的。
在不强制用户更改其 NAT 配置的情况下,我必须使用哪些选项来解决此问题?
谢谢!
networking - IPSec NAT穿越
ESP 传输模式与 NAT(不是 NAPT 或 PAT)不兼容
我在许多论文上看到,因为 NAT 设备应该计算 TCP 校验码,所以传输模式不适用于 NAT。
问题是 - 鉴于 ESP 中的下一个标头已加密,NAT 设备在传输模式或隧道模式之间有何不同。
p2p - 用于测试 P2P 软件的网络地址转换器模拟器
是否有任何网络地址转换器模拟器来测试 P2P 软件?
目前我正在为设备开发 P2P 软件,并面临在不同 2 类型的 NAT 中测试我的软件的问题,例如;- 位于相同 NAT(相同专用网络)、不同 NAT(不同专用网络)、不同全球网络、不同 Nat 级别的客户端
-- 我是否需要物理设置测试环境,例如;NAT 后面的节点
或者
- 是否有任何网络地址转换器模拟器来测试 P2P 软件?
iphone - 适用于 iOS iPhone 的 ICE、STUN、TURN 库
我需要在两个用户之间建立 P2P UDP 和 TCP 连接。它们都在 NAT 后面。一点点研究让我了解了 STUN、TURN 和 ICE。
是否有任何支持相同的开源iOS(库)?
iPhone 中的 FaceTime 也使用 ICE、STUN、TURN 到 NAT 遍历,那么 iOS SDK 是否公开了这些 API?
我在 resiprocate 源代码 (www.resiprocate.org) 中找到了 nICRr 代码,我可以在 Mac OS X 上测试 STUN 部分。有没有人尝试在 iOS 4.0 或更高版本上使用相同的?
谢谢,罗德尼
facebook - NAT 路由器后面的计算机可以接收来自 facebook 的实时更新吗?
我目前正在编写一个使用图形 API 集成 facebook 的桌面应用程序。我想实现实时更新(http://developers.facebook.com/docs/api/realtime/),但在文档中说您必须建立一个 http 服务器,facebook 将处理该服务器以发送更新到。我现在的问题是我的盒子位于只有一个 IP 地址的路由器后面(因此路由器使用 NAT)。facebook 是否仍然可以联系我的网络服务器向我发送更新?
.net - .Net WCF NAT 遍历的最佳实践
我正在为 .Net 中的点对点 NAT 遍历寻找建议或解决方案。假设我有一个聊天应用程序,两个客户端需要连接,但都在 NAT 后面:
对于家庭场景,uPNP 可能没问题,因为只涉及电缆调制解调器或消费者路由器。但是,无法实现 uPNP 的企业环境呢?
我熟悉 UDP 打孔,它可以用于握手,但我宁愿不依赖它来传输真实的应用程序数据。
我还研究了 IPv6 和 Teredo,但我不确定每个客户端都会有 IPv6 可用性,而且对于 Teredo 的所有要求(服务器、中继等)来说,这有点令人困惑。
现在是 2011 年,IM/Chat 客户端已经存在了 10 年,甚至还有一些——所以我相信这个问题已经解决了很多次。谁能推荐这个领域的最佳实践?提前致谢!
javascript - 服务器如何找到真实的客户端 IP 地址?
我只能从 NAT 和代理后面的地方访问互联网。然而,这个站点也显示了我机器的私有 LAN 地址,以及我的 NAT 的公共地址。他们显然在这个过程中使用了javascript,但我只能找到他们设置值的代码,而不是他们如何找到它。那么,我们如何使用 javascript 找出客户端机器的私有 IP 地址呢?
iptables - 通过 (1) 测试/配置所有 NAT 场景(全锥、端口受限等)。使用 iptables/ethernet/loopback 接口
我想要实现的目标:
通过 (1) 使用 iptables (2) 以太网接口 (3) 环回接口(仅使用一台机器)测试/配置所有 NAT 场景(全锥、端口受限等)
设置以下配置:
我在 Linux BOX 中运行一个虚拟机,并执行了以下配置:
Linux BOX IP 为:192.168.0.4
Linux Box Virtual Box网关 IP 为:192.168.56.1
在 Linux Box上运行绑定的 Stun 服务器:(192.168.56.1
主要)和192.168.0.4
(次要)
在 VM 上运行 Stun 客户端(在 Linux 服务器上运行)127.0.0.1:2000
,并配置 iptables 规则以将环回接口流量转发到以太网接口(192.168.56.102
),反之亦然。
预期结果
我应该能够通过 iptables/ethernet/loopback 接口配置每个 NAT 模拟,STUN 服务器在主机上运行,Stun 客户端在 VM 上运行,它应该告诉NAT 的类型
实际结果
iptables 对输入/输出到环回接口套接字的数据包不做任何事情sendto调用失败并出现错误:“错误 22 无效争论”,因为套接字已绑定127.0.0.1:2000
且目标地址为:192.168.56.1
简而言之见下文
示例规则 ::
似乎 iptables 没有从环回接口挑选数据包
请让我知道是否有任何机构可以提供帮助。
browser - 无需外部服务器的 NAT 穿越
我一直在阅读有关 TURN 和 STUN 服务器的信息,因为我想开发一个浏览器到浏览器的应用程序,以便 BrowserA(在 NAT 之后)可以与 BrowserB(在 NAT 之后)进行通信。在这种情况下,我认为我应该使用 TURN 协议。
我的问题:有没有其他不需要外部物理服务器的解决方案?一个公正的软件解决方案将是完美的。
谢谢