有两个IP与一个物理networking接口eth0和eth0:0相关联。 以下工作适用于第一个界面: iptables -A PREROUTING -t nat -i eth0 -p tcp –dport 80 -j REDIRECT –to-port 8080 Howerver同样不适用于第二个界面: iptables -A PREROUTING -t nat -i eth0:0 -p tcp –dport 80 -j REDIRECT –to-port 8080 还试过: iptables -A PREROUTING -t nat -p tcp –dport 80 -d $THE_IP -j REDIRECT –to-port 8080 所以问题是如何在虚拟接口上redirect。
背景:我有一个用PHP编写的非常简单的服务器程序。 这主要是工作,但只有每个站点不超过一个客户端。 问题: NAT路由器(典型的SOHO路由器)如何知道哪个内部客户端返回stream量? 我可以使用什么方法来区分NAT路由器后面的多个客户端?
我在我们的专用networking(10.1.0.0/16)和外部世界之间有一个Cisco ASA防火墙,并且有多个VPNS去客户站点。 现有: [10.1.0.2…] = source client | [10.1.0.1 ASA <public>]—{other VPNs…} | {VPN} | [<public> Router <private>] | [<private>] = destination server 我现在需要与其他人build立连接,与他们组织内的服务器通话,但是为了避免与其他networking部分发生冲突,需要我的IP看起来好像处于192.168.50.0/24范围内,而不是10.1。 0.0 / 16。 (从远程networking的angular度来看): [192.168.50.2…] = source client | [<?> ASA <public>] | {VPN} | [<public> Router <private>] | [<private>] = destination server 我仍然需要保留所有其他VPN的现有configuration,所以没有select重新IP化我们的内部networking,并且想在思科创build一些NAT规则。 我需要configuration什么来实现这种情况?
我正在AWS VPC内运行我自己的NAT实例。 我想确保NAT实例不会成为瓶颈,为此我想设置自己的扩展时间(如果有的话)的期望。 我知道实例types (当前是m1.medium,如果重要的话)是一个重要的方面,但是想知道如何检查NAT实例是否已经达到最大值,以及是否可以达到更好的吞吐量如果其中一些机器正在使用不同的NAT实例,则表示VPC中的机器。 它通过一个非常简单的iptables指令进行NAT转换,如下所示: $ iptables –table nat –list Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all — 10.0.0.0/16 anywhere
我正在尝试安装一个Asterisk-Server接受来自其他networking客户端的呼叫。 服务器和客户端位于NAT之后。 我已经在客户端启动了STUN,但是我仍然在听到对方的问题。 一段时间后,呼叫结束,Asterisklogging一条关于重传超时的消息,并且没有收到对于关键数据包的回复。
我正在运行VMWare ESXi Free,并将Zentyal SBS 3.2作为网关运行。 我有5个公共IPS( CIDR/29 ,我们称之为69.1.1.1-69.1.1.5),目前Zentyal作为网关绑定到69.1.1.1,其他4个公网IP设置为Zentyal虚拟接口(wan2-wan5 ) 我有专用networking(10.34.251.x)上的机器,当出站(例如Google)出站时,Internet应该被看作是网关(69.1.1.1)以外的IP,这是因为我们的机器需要能够与预计这些请求来自特定IP的第三方API进行通信。 从我能find的,Zentyal中的SNAT(Source NAT)被用来实现这一点,但是我不确定如何configuration它,并且在Zentyal中找不到它的一个特定的文档。 我已经尝试了几种不同的方式来设置,没有任何结果,在这一点上,我不知道如果我是完全错误的,或者我缺乏networking和相关术语的经验阻止我放置在正确的字段中正确的值。 我得到以下表格来在Zentyal中设置“SNAT”规则: 也许有人可以为上述领域提供一些指导和定义? SNAT地址这是公共IP我想伪装? 输出接口这个应该由我的外部网卡(一个连接到公网),还是“私有”接口? 这听起来好像这应该是外部接口,因为我想从内部networking通过此接口发送的stream量(使用不同于普通的IP) 来源是内部networking的来源(私有IP之一?),我想伪装成公共IP还是其他什么东西? 目的地这是互联网上的一个地方(例如,“只做网站Google.com”/ IP)还是让我自己再次感到困惑? 服务我假设这允许我限制哪些服务这个规则将适用于,但它是为了内部networking上的服务还是在外部networking上访问的服务? 如果我可以提供任何进一步的细节或信息,使我想要做的更清楚,我会高兴地这样做。 老实说,这里的任何帮助将非常感激。 我不是一个NetOps或任何一个接近的东西,我花了我大部分时间编写代码,在这家公司的我的整个“团队”包括“我,我和我”,所以当我试图扩大我的知识产权时, ,我只能学到这么多东西,这么快,我觉得在networking方面尤其如此,加上每个解决scheme的学习曲线(从我的有限angular度来看)使用的术语略有不同,以至于我习惯于(而且我不完全有必要的经验来交叉引用这个东西,我已经知道在上下文中的东西)。
我有一个Centos最低限度6.5充当路由器。 eth0连接到思科交换机中继端口,允许VLAN 200-213。 我有几个VLAN接口,正如这个链接所示: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s2-networkscripts-interfaces_802.1q-vlan-tagging.html 并且具有IPv4转发,所以来自任何networking200-213的我的所有networking设备都可以使用这个linux盒子作为它们的路由器彼此通信。 问题是,我需要他们访问互联网,所以我添加了以下规则: iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j SNAT –to 1.1.1.56 1.1.1.56是“外部”地址。 这工作正常,连接到内部networking的设备可以ping通Intertnet地址,但是,它们不能跨子网互相通话,所以192.168.211.55可以ping通8.8.8.8,但不能与192.168.213.5通信。 只要我做服务iptables重新启动删除规则,我可以开始再次跨内部子网交谈。 什么是正确的方法来设置多个私有子网的NAT? 或者,也许正确的方式来设置转发?
我已经看到了这个问题: 来自AWS autoscaling组的输出stream量的静态IP地址,但它似乎不适合什么即时通讯尝试做。 这是一个场景: 我有一个自动缩放的Web服务器组接收来自ELB的stream量。 这对传入的networkingstream量正常工作。 问题是我有一些这些Web服务器需要连接到的外部服务。 这些服务要求我为供应商提供一个IP地址,以便他们可以将我的服务器列入白名单。 我试图创build一个NAT实例,所以来自这些Web服务器的出站请求将全部来自一个IP(因为扩展组可能有自动分配的任何IP)。 AWS的所有场景都是通过一个NAT给私人子网访问互联网。 在这种情况下,我只需要通过NAT路由来自这些框的请求。 传入的networkingstream量应该仍然正常工作,直接通过互联网网关的响应。 当我尝试设置这个,通过修改主要路由表通过NAT发送出站stream量,一切都停止工作(我假设,因为没有规则通过互联网网关路由stream量,因为我只是将其更改为NAT) 希望这是有道理的。 任何build议将不胜感激。
我的设置: 此设置中只有一台物理机器,即具有两个networking适配器的虚拟机主机系统(VM)。 一个NIC(eth0)连接到内部networking(LAN子网,例如10.xxx/24),并用于内部通信。 另一个NIC(eth1)连接到公共互联网(它具有configuration的公共可路由IP)。 这个连接将被用于端口转发公共互联网stream量到虚拟机的内部IP(传入stream量),并允许虚拟机通过NAT访问公共互联网(传出stream量)。 虚拟机使用LAN-Subnet中的IP地址(10.xxx/24,与eth0相同) 我已经为虚拟机(vnet0,vnet1,…)和LAN-NIC(eth0)的虚拟networking接口configuration了桥接设备(br0)。 这意味着: br0在局域网子网(10.xxx/24)中有一个IP地址, eth0被添加到网桥 vnet0,vnet1,…(由VM使用)dynamic添加到网桥 问题 局域网内的通信工作正常。 此外,VM主机可通过公共IP访问,并具有互联网接入。 我的问题是允许虚拟机访问公共互联网的NATconfiguration。 我尝试使用一个简单的(S)NAT规则: iptables -t nat -I POSTROUTING -s 10.xxx/24 ! -d 10.xxx/24 -j SNAT –to-source yyy102 而yyy102是第二个NIC(eth1)的公共可路由IP。 我发现我需要启用“ip_forward”和“bridge-nf-call-iptables”: echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 否则桥接的包不会被iptables处理。 现在来自虚拟机的数据包似乎经历了以下的iptables连锁: “FORWARD”(正规) – 我接受他们(-j ACCEPT,柜台上升) “PREROUTING”(NAT) – 我接受他们(政策ACCEPT,柜台上升) “POSTROUTING”(NAT) – 它们符合SNAT规则 但不是所有的数据包似乎到达PRE / POSTROUTING出于任何原因,我无法弄清楚到目前为止。 […]
我正在尝试使用hello-world示例设置一个位于NAT后面的云Asterisk服务器。 我有NAT问题。 Asterisk的IP地址是通过SDP提供给客户端的,它的本地地址在NAT后面,而不是外部地址。 我试图在externip中设置externip值,但是这似乎没有效果。 [general] externip=xxx.yyy.zzz.vvv nat=yes tcpenable=yes 客户端收到的SDP与服务器externip设置externip : v=0 o=root 291445984 291445984 IN IP4 172.31.46.110 s=Asterisk PBX 11.7.0~dfsg-1ubuntu1 c=IN IP4 172.31.46.110 t=0 0 m=audio 10078 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv m=video 0 RTP/AVP 96 我期望SDP中的地址与externip字段中提供的地址相匹配。 我已经尝试了实际的IP地址,以及通过DNS正确parsing到IP地址的服务器名称。 我externip错误地设置了externip值? 还是有一个不同的设置,要求Asterisk公布其外部IP地址?