问题标签 [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.
network-programming - Nat 遍历:UPnP/IGD 与 NAT-PMP
我正在编写一个 P2P 应用程序,并希望避免用户手动设置端口转发的需要。
我有点困惑,因为似乎有两种不同的协议来配置 NAT,UPnP/IGD 和 NAT-PMP。我应该使用哪一个?所有 NAT 都支持它们吗?还是我应该同时支持两者以确保 NAT 至少支持其中一个?
ipv6 - NAT 穿越和 IPv6
一旦 IPv6 的部署和使用增加,我对 NAT 和 NAT 穿越机制的用处感到好奇。我们有很多 NAT 穿越机制(包括专有的),主要用于位于某种住宅或企业 NAT 后面的 IPv4 设备/客户端。鉴于 NAT 是由于 IPv4 中缺乏可用地址而出现的,由于 IPv6 有足够的地址,一旦 IPv6 在未来几年被广泛采用,它是否可能变得多余?
当然,我明白 IPv6 的采用不会一蹴而就,这是一个渐进和痛苦的过程。在此期间,设备必须支持某种双栈(IPv4 和 IPv6),或者某些网络实体将在两者之间进行转换。我相信防火墙将继续存在以保护最终用户并提供一些安全性,即使在 IPv6 世界中也是如此。
就标准化而言,IETF对NAT问题的态度如何?鉴于他们一直忽略 NAT,从而导致协议损坏。
我希望有人可以对此有所了解。
iptables - 为什么我在 Eucalyptus 中使用 NAT 后无法使用我的物理 ip 查看我的网站
我有两台真机。
一个负责NAT和IP重定向称为NC2,另一个负责桉树KVM建立3个虚拟机。
毫无疑问,负责桉树的机器的操作系统是Linux。
虚拟机的客户操作系统是 Windows XP。
每个虚拟机都是一个运行 Tomcat 的 Web 服务器
NC2 给Linux 服务器一个私有 IP 192.168.0.3 。
Linux 服务器为虚拟机提供了 3 个私有 B 类 IP。
例如,其中一个客户操作系统获得了 IP 172.16.1.5
现在我使用 NC2 将物理 IP xxxx重定向到172.16.1.5
这是我的问题:我可以使用其他PC,外部IP,连接到IP xxxx
建立在172.16.1.5上的网站,但我不能使用IP 172.16.1.5的机器连接到它自己的网站。
我关闭了172.16.1.5上的防火墙,它能够连接到互联网,例如 yahoo 或 amazon。但它就是不能使用xxxx连接到它自己的网站。
我测试了其他获得172.16.xx的客户操作系统也无法连接到xxxx。
如何让来宾操作系统连接它重定向的物理地址?
echo - 是否可以从内部 nat 外部 ping 通 nat?
是否可以在 nat 之后向设置在 nat 后面的主机发送回显请求。所有的 echo-request 都不包含目标主机的端口,因此如果有多个主机使用相同的外部 ip 地址,nat 将如何将 echo-request 转发到特定主机
java - NAT 网络正在合并会话
我正在为一群用户开发一些东西,当我测试它时,NAT 用户正在合并他们的信息,因为它只是一个会话。如何拆分它以向正确的用户显示正确的信息?
我正在使用 Java、JSF 1.2 和 SpringSecurity。
更新:
或者至少,我如何开发一些东西并确保它被拆分,并且一个用户只能访问他自己的信息?
nat - 有多少百分比的用户在对称 NAT 之后,因此需要中继“p2p”流量?
我们正在实施基于 SIP 的解决方案,并已将设置配置为与 RTPProxy 一起使用。现在,我们正在通过 RTPProxy 路由所有内容,因为我们在依赖 ICE 的媒体传输方面遇到了一些问题。如果我们没记错的话,如果两个客户端位于对称 NAT 之后,则需要中央中继服务器来中继两个客户端之间的流数据。在实践中,这是否占所有消费者用户的很大比例?如果我们实施适当的路由以在不需要时跳过中继服务器,我们将节省多少带宽。我们缺少更好的解决方案吗?
linux - 数百万个 SYN_RECV 连接,无 DDoS
我们有这样的服务器结构:反向代理(nginx)->worker(uwsgi)->postgresql/memcached。所有服务器都在路由器后面的本地网络中,具有 NATed 外部 ip:ports(http/s 80/443 到代理,ssh 22 到所有服务器)。
问题是,有时代理服务器 netstat 会报告数百万个 SYN_RECV 连接。来自相同的 IP / 相同的端口。像那样:
这不是 DDoS,因为所有受影响的 IP 都属于我们的网站用户。另一方面,用户说这不会影响他们。网站在线并且正在运行,但是...那个特定的(来自上面的示例)告诉我网站已关闭并且 Firefox 无法连接。我已经完成了 tcpdump。
有人对此有什么想法吗?
networking - Amazon S3 的奇怪 TCP 问题
这个问题的存在是因为它具有历史意义,但它不被认为是本网站的一个好的、主题性的问题,所以请不要将它作为你可以在这里提出类似问题的证据。
我遇到了一个完全没有意义的奇怪 TCP 问题。我在扯头发。
当从Amazon S3下载文件时(并且只有 Amazon S3-每个其他站点都可以正常工作),连接断开的时间有一定百分比。这只发生在我们位于西雅图的服务器上,网络服务器位于NAT路由器后面。直接从路由器连接工作正常。从我们在维多利亚的服务器上,一切正常,我们根本无法复制。
- 西雅图的 Web 服务器(尝试了 10 台不同的服务器)-> SNAT路由器(2 台不同的路由器;旧内核和新内核)-> Amazon S3 = 大约 10% 的时间不起作用
- 西雅图的 Web 服务器 -> SNAT 路由器 -> 任何其他网站 = 有效
- 路由器盒 -> Amazon S3 = 有效
- 维多利亚的 Web 服务器 -> 维多利亚的 SNAT 路由器 -> Amazon S3 = 工作
我尝试过的事情:
- 禁用窗口缩放
- 降低窗口大小
- 将路由器升级到最新内核
- 完全禁用防火墙
在失败的情况下,亚马逊(或其他东西)向我们发送了一个 868 长度的数据包,而不是预期的 1500 字节数据包。服务器在看到数据包后回复一个 RST 数据包(发生错误)并且连接被断开。
任何帮助将不胜感激!
下面是两个 TCP 转储 -
更新:追踪路由到亚马逊
更新:导致发送 RST 的违规传入数据包
monitoring - 隐藏网络地址转换 (NAT) 流量
我住在一个网络政策严苛的地方,一切都受到严格监控。在众多规则中,禁止使用任何产生网络地址转换流量的设备(即无线路由器、虚拟机...)。他们监控网络日志并断开使用此类日志的任何人。有什么方法可以通过加密等方式屏蔽流量(即路由器或虚拟网络设备生成的 nat 转换),使其与单个设备使用单个 IP 地址生成的正常网络流量无法区分监控正在嗅探网络上的数据包?
(我已经使用 VPN 来加密任何敏感流量,但 NAT 是在 VPN 加密后应用的。)
mobile - NAT 后面到 NAT 连接后面
我遇到了一个有趣的问题。基本上我有 2 部手机都在 NAT 之后。我想使用 UDP 在两个设备之间直接通信。
我知道如果我启动从手机到服务器的连接,那么我可以将该连接向下推送到手机(即从接收消息的同一端口将其发送回与接收消息的同一 IP 和端口) . 因此,我可以通过将两部手机连接到服务器来轻松地在两部设备之间进行通信。然后将数据发送到服务器并将其重新路由回手机。这绕过了我可能遇到的任何 NAT 穿越问题。
但是,我宁愿只使用服务器将 2 个设备相互指向,然后让它们直接通信。我该怎么做呢?是否可以不使用像 uPnP 这样的东西?
任何帮助将不胜感激!
编辑:我发现这个文件http://www.brynosaurus.com/pub/net/p2pnat/看起来发夹式翻译是我所追求的,但它看起来并没有得到广泛的支持。我想知道移动 ISP 对 UPnP 的支持有多好?