如果我在使用 NAT 的路由器后面,是否可以欺骗源 IP?
如果没有,僵尸网络程序员如何设法从他们的奴隶那里制造 SYN 洪水?大多数家庭/企业网络不使用 NAT 吗?
一旦IPv6的部署和使用增加,我对NAT和NAT遍历机制的有用性感到好奇.我们有很多NAT遍历机制(包括专有),主要用于支持某种住宅或企业NAT的IPv4设备/客户端.鉴于NAT是由于IPv4中缺少可用地址而引起的,因为IPv6在未来几年被广泛采用,因为IPv6有足够的地址,它是否会变得多余?
当然,我确实理解IPv6的采用不会在一夜之间发生,而且这是一个渐进而痛苦的过程.在此期间,设备将不得不支持某种双栈(IPv4和IPv6)或某些网络实体将在两者之间进行转换.我相信防火墙将继续存在以保护最终用户,即使在IPv6世界中也能提供一些安全性.
就标准化而言,IETF对NAT问题的态度是什么?鉴于他们已经忽略了所有这一切,从而导致协议破裂.
我希望有人可以对此有所了解.
我了解NAT打孔,ICE和SIP VOIP调用的许多细节.关于这些主题,我已经回答了很多关于SO的问题.现在我有一个问题.
我试图理解在呼叫已经建立之后需要为SIP + ICE记录的RE-INVITE消息.
假设VOIP设备的拓扑结构通过SIP发信号并使用ICE(使用STUN/TURN)建立媒体连接.执行ICE连接检查后,两个端点都应确定最佳地址候选配对(IP,端口),并准备好在两个方向上流媒体.
但是我使用SIP和大量文档的经验表明,在被叫方发送200 OK消息以表明他处于应答状态后,调用者将发送一个带有SDP的RE-INVITE,其中包含通过连接性检查选择的特定地址候选者.
描述RE-INVITE与ICE的一些链接在这里和这里(步骤8).Rosenberg的教程(第30页)讨论了RE-INVITE"确保中间盒具有正确的媒体地址".我不确定为什么这很重要.
在收到RE-INVITE时,被叫方是否期望根据收到的新SDP重新配置其ICE堆栈以切换套接字或地址?或者RE-INVITE只是一种协议形式,正式承认呼叫已经建立?如果跳过RE-INVITE步骤并且双方都开始流媒体,那么可能出现什么问题?
我问的原因是因为我正在探索使用ICE而不是SIP的信令服务.我想弄清楚RE-INVITE是否需要模拟.
我正在测试移动设备之间的音频/视频P2P连接。
在学习WebRTC时,我注意到NAT遍历(使用STUN服务器),而UDP漏洞打孔是使P2P成为可能的关键。
另一方面,我注意到iOS设备上的HLS(HttpLiveStreaming)针对A / V实时流进行了非常优化,甚至在Android4.x(3.x不稳定)下也可以广泛使用。
所以,这是我的问题,如果我将HLS用于移动P2P:
a)HLS是基于TCP(HTTP)而不是UDP的协议,因此是否存在性能缺陷?
请参阅:视频流上的TCP与UDP
b)NAT遍历如何?因为HLS是HTTP(port:80),会更容易吗?我已阅读维基百科http://en.wikipedia.org/wiki/HTTP_Live_Streaming
由于其请求仅使用标准HTTP事务,因此HTTP Live Streaming能够遍历允许通过标准HTTP流量的任何防火墙或代理服务器,这与基于RTP的基于UDP的协议不同。这也允许通过广泛可用的CDN传递内容。
c)android设备兼容性如何?调用StreamingLive分发是否有很多问题?
谢谢。
我尝试制作P2P程序,并需要帮助来完成客户端的NAT.我在stackoverflow上已经阅读了很多问题,但我从来没有得到通过NAT的所有方法的缺点和好处.有多少路由器支持哪些方法?大公司常用哪种方法?(BitTorrent,TeamViewer,......)我列出的三种方法有哪些缺点/好处,哪些还存在?
由于NAT网关在单个AZ中只有冗余,如果我想在每个AZ中有一对公共/私有子网用于多AZ冗余,我应该在每个AZ都有一个NAT网关,不应该吗?
否则,如果我只有一个NAT,如果AZ发生故障,所有AZ中的所有子网都会关闭,从而无法实现此多可用区部署的目的.
我是对还是错?
上下文:每个客户在 NAT 后面可以有 100-1000 个物联网设备。我们有多个客户。目的是从外部管理这些设备。设备使用 CoAP 协议,默认使用 udp。
限制很少。
问题 我们想随时从外部打开与设备的连接。但是有 NAT 阻止它。
选项 据我了解,设备必须打开初始请求才能进行通信。
以下哪个选项是关于可扩展性和效率的最佳选项?
非常感谢
我有一些节点。每个节点都属于其他网络。每个节点都有像192.168.0.2这样的私有 IP,并保持在 NAT 之后。
是否有可能在节点之间进行通信?实际上,我需要在这些独立节点之间传输文件。
我尝试使用这个项目 - https://github.com/libp2p/go-libp2p。但是libp2p有一些限制:
但是我有具有私有 IP 地址的节点,它们属于不同的网络。
更新。
有这样的解决方案:
我有一个 VMWare Player (14.1.2 build-8497320) 在 Windows 10 主机上运行 Ubuntu 18.04 来宾。Ubuntu 来宾有一个 LAMP 堆栈,可以运行一些 Web 应用程序。我正在使用 NAT 将 Ubuntu 来宾连接到 Windows 主机的网络。
我可以通过使用来自我的 Windows 主机的来宾的本地 IP 地址(例如http://192.168.80.128/mediawiki)来访问这些应用程序。但我想从我的 Windows 主机访问它:http://localhost/mediawiki。我认为如果我可以将我的 Ubuntu 来宾的端口 80 转发到 Windows 主机的端口,这应该是可能的。
请问我该如何做到这一点?我无权访问 VMWare Workstation 及其虚拟网络编辑器。
编辑:我可能应该添加想要这样做的动机。基本上,我想避免每次访问 Web 应用程序时都计算出虚拟机的 IP 地址。
(进一步)原因是 Ubuntu 来宾的本地 IP 地址可能(我怀疑)更改,这会影响很多事情,例如在 webapps 的配置文件中配置的基本 URL(例如,$wgServer 变量在 MediaWiki 的 LocalSettings.php 中)。