我不确定这个问题是否更适合于stackoverflow或serverfault。 如果你认为它更适合于stackoverflow,让我知道,我会删除这个并移动它。 我有一个STUNT实现。 如果您不知道STUNT是什么,那么这是一个协议,用于在两个单独的NAT之间build立直接的TCP连接。 我将简要介绍一下,尽pipe我的问题并不直接涉及到协议。 这是通过使用第三方来预测每个对等体的NAT将映射其下一个出局连接的端口。 第三方然后告诉每个同行对方的预测端口,他们都试图在预测的端口上彼此连接。 当它们相互发送SYN数据包时,它会在该端口的NAT中打开一个“空洞”,从而允许SYN数据包通过和握手进行。 我的一位同事build议让对方启动STUNT连接,试图将SYN数据包发送到预测的端口以及接下来的四个端口,以防止其他应用程序(甚至是我们的应用程序)使用预测的端口连接尝试,但在预测之后。 一个例子就是预测另一个端口将从端口80连接到我们,但是另一个应用程序最终使用端口80,所以连接实际上来自端口81。 但是向五个不同的端口发射SYN数据包,如果它来自80,81,82,83或84,我们将(理论上)成功。 但是,情况并非如此; 经过testing,只有第一个SYN包有成功的机会。 即使第一个SYN数据包被发送到错误的端口,但是接下来的四个数据包中的一个被发送到正确的端口,它们都被悄悄丢弃了。 没有任何反应,连接尝试只是超时。 一个简单的例子: 对等体A正在发起到对等体B的STUNT连接。 对等体A预计从端口1000连接到对等体B. 对等体B预计从端口2000连接到对等体A. 服务器发送1000到对等B和2000到对等A. Peer B的计算机上的另一个应用程序build立一个新的连接,接pipe端口2000。 Peer A的计算机上的另一个应用程序创build一个新的连接,接pipe端口1000。 对等端A同时尝试连接端口2000,2001,2002,2003和2004的端口B; 连接尝试来自端口1001,1002,1003,1004和1005。 对等体B尝试连接到端口1000上的对等体B; 连接尝试来自端口2001。 Peer A和Peer B的NAT在端口1001和2001分别创build一个空洞; 它应该允许SYN数据包通过。 我相信发生的事情是,Peer B的NAT不允许Peer A的SYN数据包通过端口2001,因为它期望连接来自1000,但它来自1002.这表明NAT正在validationSYN数据包。 然而,从我读到的,STUNT的一个缺陷是,当创build连接时,存在一个漏洞窗口,连接可能被另一个源劫持。 如果这是NAT的标准行为来validation传入连接的来源,那么我不明白这个漏洞窗口是如何存在的。 请注意,我的实现并非有缺陷。 如果其中任一个预测的端口是正确的,则连接将成功; 当两个预测的端口都是错误的,并且尝试同时尝试多个端口时,问题就会发生。 作为对协议熟悉的人的一个注意事项,我使用的方法涉及发送一个SYN,我希望在尝试实际连接之前默默地进行。 我没有使用低TTL的实现。 我的NAT是否拒绝SYN数据包,因为它们不是来自预期的端口,还是拒绝它的其他东西? 如果这是我的NAT,这是预期的/标准的行为? 请注意,被拒绝的意思是“无声地丢弃”,因为没有RST或任何响应正在返回,连接只是超时。 编辑:有问题的路由器都是你在沃尔玛家买的那种,而不是那种大的企业会使用的。
将单个端口DNATing到内部networking上不同端口的标准方式是这样的: ip(6)tables -t nat -A PREROUTING -i wan0 -p tcp –dport 80 –to-destination 10.0.0.1:8080 如果你需要一个端口范围,你可以使用-m multiport和–dports这样的-m multiport : ip(6)tables -t nat -A PREROUTING -i wan0 -p tcp -m multiport –dports 1000:2000 –to-destination 10.0.0.1 现在我想知道,如果你可以结合这两种技术来映射一个端口范围(例如1000-2000)不同的大小相同(例如12000-13000)。 这是可能的,使用内核不晚于Linux 4.1的内核?
在连接到IPv4 Internet的NAT路由器后面有一台Vista64机器。 Teredo在我的机器上启用,我有一个2001:0:前缀的IPv6地址。 我可以在IPv6 Internet中ping多个服务器(如force.ipv6only.se或ipv6.google.com ), tracert显示我的IPv6stream量是通过teredo中继路由的。 但是,我无法从IPv6 Internet中的计算机连接到或ping我的计算机。 这个方向上的tracert停在teredo中继处。 连接到NAT后面的支持Teredo的服务器需要执行哪些步骤?
我们在全国各地的客户端机器上使用tomcat部署web应用程序。 安装完成后,我们希望允许通过中央服务器远程访问这些Web应用程序,但是我们不希望我们的客户端必须在其路由器上打开端口。 有没有一种方法来隧道的HTTPstream量,使连接到中央服务器的人可以访问防火墙后面的Web应用程序? 中央服务器有一个静态IP地址,我们完全控制它。 现在,它是一个窗口框,但如果有必要,它可以更改为一个Linux的盒子。 我们的客户正在运行Windows XP和以上。 我们不需要访问文件系统,我们只想通过浏览器访问Web应用程序。 我们看过反向ssh隧道,但是它显示了扩展问题,因为每个数据包都必须通过中央服务器。
我有一个Linux NAT防火墙服务于虚拟机基础架构。 现在所有的虚拟机都使用NAT,但是我想让他们中的一部分使用一个没有NAT的公共IP。 我有一个范围的IP:208.xx129-140,子网255.255.255.240。 这些IP现在位于防火墙的WAN接口上。 我想在防火墙后面移动几个IP。 我可以在这些IP的几个上改变路线吗? 我需要改变我的子网掩码吗?
我们的NAT服务器到目前为止已经失败了3次 – 一次是由于它的EIP问题,另一次是由于主机被CPU绑定了。 虽然我理解这些事情发生,但我们不能承受停电。 我们如何才能为我们的VPC实现冗余,永续的NAT解决scheme? 例如,是否可以使用多个NAT服务器? 我的VPC(亚马逊虚拟私有云)由2个子网组成,1个公共和1个私有。 私有子网中的实例通过公有子网中的NAT服务器进行路由。 从我读过的内容来看,每个VPC只能有一个NAT服务器。
有没有办法使IPv6不知道的应用程序继续在只有IPv6连接的主机上工作? 主机的IPv4实现可以知道这个问题,只是将IPv4地址封装在IPv6头(如0 :: ffff:[ipv4]?)中,但是这些分组在什么地方被转换成真正的IPv4分组呢? 当前的操作系统是否已经为仅有IPv4的应用程序提供了这种function? NAT64或其他网关是否能够提供所需的function? 如果提供商不使用NAT64的标准前缀(64:FF9B :: / 96),那么实际前缀是如何确定的? 所有这一切都将由操作系统和networking堆栈来维护吗? 当应用程序已经可以识别IPv6,但是仍然想要与IPv4主机通信时,这是如何工作的? 在networking堆栈中确定的前缀在哪里,或者应用程序是否需要照顾?
我在Ubuntu 12.04服务器(主机)上运行Virtualbox,并以guest虚拟机操作系统运行Windows 7。 我正在使用(虚拟)英特尔PRO / 1000 MT网卡。 使用nat和桥接networking设置,我可以获得良好的networking性能,但使用nat上传速度非常慢。 我把这个绑在了不同的服务器上,一个新的,一个几岁的,都给出了同样的结果。 如果你能解释这种行为或有进一步的testing的想法,我可以执行,请让我知道。
我有一个多站点的VPN,目前使用的是OpenVPN。 但是,如果需要,我可以更改操作系统和VPNtypes。 主路由器有一个10.13.0.0/16子网和一系列公网IP 例如,一个分支有一个10.12.1.0/24子网 如何将主路由器的公共IP上的NATstream量转发到第二个NAT后面的服务器? 因此,例如在分配给主路由器的公共IP上的端口95转发到另一个路由器上的10.12.1.102。 这甚至有可能吗? 目前我的设置很好,但只能用于交通
我使用运行FreeBSD的PC引擎APU设备作为NAT路由器。 安装非常正常:一个WAN连接和一个LAN连接。 理论上,WAN连接是800/40 Mbit / s,LAN是1/1 Gbit / s。 实际上,路由器通过千兆位以太网连接到调制解调器(WAN)和Netgear交换机(LAN)。 如果我插入一个快速的PC直接到WAN连接(调制解调器),我可以达到约700 MBit / s的实际下载速度。 但是,如果路由器处于这种状态,性能就会受到严重影响,下载速度也不会超过350 MBit / s。 这可以很容易地解释路由器不够强大。 事情是,我试图看看发生了什么事情,当试图最大化连接(实际测量的带宽为350 MBit / s)时,路由器的CPU都闲置大约30%的时间。 我明白这意味着CPU不是瓶颈。 但是,那是什么? 有没有一种方法可以诊断路由器实际上做得更准确,以及为什么它只能运行一半的容量? 为了使我的问题更清楚,下面是一些额外的细节。 首先,这个问题的直观表示: 然后供参考, top -S -C -H -P -s1 -ocpu的输出 当路由器上的stream量很less时: last pid: 14077; load averages: 0.00, 0.00, 0.00 up 0+18:13:58 12:02:53 118 processes: 3 running, 98 sleeping, 17 […]