Articles of NAT

“NAT反向path故障”ASA 8.3

原谅我,因为我对ASA不是很有经验,但我相信我所configuration的应该是有效的。 我有一个ASA 5510运行版本8.3(2),它连接到内部,外部和dmznetworking,以及一个RA VPN。 内部和DMZnetworking从内部/ dmz到互联网时都configuration了dynamicNAT。 这些dynamicNAT都按预期工作。 试图通过VPN访问DMZnetworking时出现问题。 我在ASA上得到的错误消息是: %ASA-5-305013: Asymmetric NAT rules matched for forward and reverse flows; Connection for icmp src outside:xxxx dst dmz: yyyy (type 8, code 0) denied due to NAT reverse path failure 我认为这是因为从DMZ返回的stream量将与dynamicNAT规则相匹配,并且不在外部接口。 所以我把一个静态的没有NAT规则的DMZ子网给VPN: nat (dmz,outside) source static DMZ_VLAN DMZ_VLAN destination static VPN VPN 但是…我仍然收到错误。 现在,这里是我更加困惑的地方。 添加静态NAT之后,我的sh nat如下所示: 1 […]

麻烦与NATing

我是一个networkingnoob,所以非常通用的标题很抱歉。 我有以下方式的networking设置: 关于networking的一些细节: 所有设备上的eth0在10.10.10.0子网中都有一个IP,可从我们的内部网访问 机器1上的eth1通过专用networking连接到机器2上的eth1 机器3上的eth1通过专用networking连接到机器2上的eth2 机器2上的eth1和eth2被桥接 机器2上的eth1和eth2没有IP地址 机器1必须通过机器2上的桥与​​机器3进行通讯。为此,我在所有机器上都设置了path。 也就是说,当stream量从机器1上的eth1发送时,到达机器2上的eth1,并从机器2上的eth2发送到机器3上的eth1。这很好地工作。 我的问题是当机器2进行NATing(这不是使用iptables完成的,而是一个我无法控制的程序)。 程序在将机器2上的eth0的IP地址作为源IP时,将其转发给机器3.当机器3必须回应时,它会看到10.10.0.0子网上的源,并将包从机器3上的eth0到机器2上的eth0。 我的问题:如何将机器3的数据包路由到机器2上的eth2? 我在NAT程序上唯一的控制是告诉它在NAT时使用什么源IP。 机器2上的eth1和eth2没有IP地址,所以我可以使用的唯一IP地址是机器2上eth0的别名。

SIP注册器/代理的NAT设置

我目前正试图让下面的场景工作。 警告:我是一名软件工程师,而不是networkingpipe理员。 我在局域网上有各种SIPterminal(基于SIP的video服务器)。 在该LAN上的Windows服务器上,我将tekSIP作为SIP注册器运行。 到目前为止所有这些工作。 我可以从注册服务商的端点注册,并打电话就好了。 现在我想允许来自LAN外部的远程呼叫。 首先,我在我们的dns中添加了一个A条目:“sip”,它parsing为我们的外部IP。 我为_sip._udp.sip.ourdomain.com设置了一个SRVlogging。 如果我ping sip.ourdomain.com,一切正常,dnsparsing到我们的公共ip和ping工作。 在nslookup中,一切都看起来不错。 在我们的路由器上,我将udp的端口5060转发到运行tekSIP的服务器。 这里是问题出现的地方。如果我尝试注册或从远程端点进行调用,它总是失败,我甚至无法在应用程序服务器上的wireshark中看到传入的请求。 有任何想法吗? 我会很高兴发布你请求的任何configuration文件。

iptables:转发数据包不起作用

我有3个Linux系统A,B和C.A是一个TCP客户端,并且向C上的TCP服务器发送一个消息.A只能看到位于wlan0接口的B的外部IP,192.168.0.3 —————— ——————— ————————– System A System B System C 192.168.0.5 wlan0 <—–> 192.168.0.3 wlan0 192.168.61.73 eth0 <—> 192.168.61.81 eth0 TCP Client TCP Server on 192.168.61.81 —————— ———————- ————————- TCP客户端发送消息到192.168.0.3。 这应该被redirect到系统C的端口8036上的192.168.61.81上运行的TCP服务器(通过B的eth0接口)。 因此,我写了下面的ip表规则,然后在C上启动服务器,并从A上的TCP客户端发送消息。我可以在wlan0上从A上看到系统B上的数据包,但是它们永远不会被转发。 系统B似乎是从A接收SYN数据包,但将其丢弃(请参阅日志)。 这是我在系统B上做的: #Enable IP Forwarding for NAT echo "1" > /proc/sys/net/ipv4/ip_forward #Flush all iptable chains and start afresh sudo iptables -F #Forwarding rules […]

IPtables SNAT吃包

我正在尝试将输出的UDP数据包与X的源端口转换为Y的源端口。 我已经使用下面的iptables规则做到了这一点: iptables -t nat -A POSTROUTING -s 10.0.0.1 -p udp –sport X -j SNAT –to-source 10.0.0.1:Y 这个规则的计数器在源端口为X的数据包生成时增加,但在此之后完全消失。 我找不到他们在任何其他链或表的计数器,并不能看到他们在使用tcpdump的任何接口。 如果我删除了这个规则 ,那么数据包就会和X的源端口一起收到。但是一旦我把规则放回去,数据包就会消失。 我正在使用在Voyage Linux上运行的iptables版本v1.2.11。 我无法轻易更新,因为这需要在几百个远程设备上完成。 我究竟做错了什么? 编辑:添加下面的iptablesconfiguration,有关特定应用程序,不能影响这个规则已被删除。 # Clear any existing rules iptables -v -t filter -F iptables -v -t nat -F iptables -v -t mangle -F iptables -v -t filter -X iptables -v -t nat […]

Netgear VPN LAN2LAN地址转换

这是我的问题: 我已经使用以下参数设置了VPN IPsec LAN2LAN(或site2site): 本地子网: 10.178.51.64/27 远程子网: 10.174.0.0/16 vpn隧道正常出现,但问题是我无法ping或发送任何数据到远程子网机器。 这是因为我的“真正的”子网是192.168.1.0/24,但我的合作伙伴希望我连接到指定的子网。 我无法更改我的子网,我可以实现与NETGEAR ProSafe VPN防火墙FVS338我的路由器的连接? 提前致谢

当提供商不支持前缀委派时,为我的专用networkingconfigurationIPv6?

我有一个IPv4和NAT设置典型的路由器。 我的提供商向路由器发送IPv6地址,但不支持IPv6前缀委派。 我怎么能得到我的私人networking的IPv6地址,而不依赖于我的提供者那么多? 对于IPv4,使用NAT很容易解决,但IPv6不支持NAT。 我发现一个支持ebtables的路由器的解决方法,但这看起来像一个丑陋的黑客给我。 为IPv6stream量桥接两个以太网卡(内部和外部),从而直接从提供商范围内取得IPv6,并使用ebtables强制IPv4stream量采用NAT方式: http : //www.linksysinfo.org/的index.php?线程/定制番茄与- IPv6的bridge.24238 /#后114281 应用此替代方法后,我仍然遇到问题。 我的专用networking可以获得IPv6,但路由器不能。 另外,如果路由器不支持ebtables,则不能使用,所以它不是一个通用的解决方法。 有没有推荐的通用解决scheme来解决这个问题?

是否有可能捕获路由器的数据包?

我面临的一个问题是一些从networking内部发送到互联网的数据包丢失了。 我们使用的模式如下所示: Client A ←→ Switch A ← Router A:NAT ← .. Network .. → Router B:NAT → Switch B ←→ Server B 我想通过以下两个步骤来追踪这个问题: 捕获Router B上客户端A的报文 检查Router B的转换表 两种行动都可能吗? 更多信息: 客户端A在Windows XP上运行 服务器B运行在Linux(Fedora上)。 路由器B使用静态端口和地址转换表,这意味着进入的数据包 到特定的端口将被转发到服务器B. 路由器A和路由器B都是TPLink WR340 +产品。 Router A和Router B都有Full-cone NAT。 交换机A是DLink DES-1024R,交换机B是DLink DES-1016D。 我之所以要执行这两个操作,是因为我们发现数据包是从ClientA的networking接口发出的,但是由于原因不明,ClientA机器的TCP内核从未接收到来自另一个端点的ACK数据包,传输,直到超时。 而从服务器端来说,同样使用Tool WireShark,我们发现服务器B机器的networking接口永远不会收到客户端A发送的数据包。我猜这些数据包是由路由器B丢弃的,所以我想知道是否有可能在路由器上捕获数据包B. 其实这个问题只发生在我们有两个客户端时,比如客户端A和客户端C,客户端A和客户端C不直接相互通信,而是和服务器B通信。 当我们拔掉客户端A机的网线,并在客户端A的另一台机器上login,大约30秒后,客户端A开始与服务器B进行TCP通信,第一个很多的命令都正常,不能再接收到来自客户端A的任何命令。

无法通过浮动IP连接到实例,不能正常转发/转发

我无法使浮动IP在我的OpenStack安装程序上正常工作。 看起来控制器节点(运行nova-network)不会将stream量转发到实例。 我使用FlatDHCP进行Folsom部署,不运行多主机,运行在Ubuntu 12.04上。 例如,下面是一个运行实例,其固定IP为10.40.0.2,浮动IP为10.20.0.3: $ nova list +——-+———+——–+——————————+ | ID | Name | Status | Networks | +——-+———+——–+——————————+ | 3d292 | quantal | ACTIVE | private=10.40.0.2, 10.20.0.3 | +——-+———+——–+——————————+ 如果我login到控制器,我可以ping通ssh到任一IP的VM实例。 但是,我不能ping或SSH到外部机器的实例。 如果我尝试从不同networking(192.168.3.5)上的计算机ping通,则可以看到数据包在其公共接口(eth3)上到达控制器,但这些数据包不会被转发到已连接的网桥(br100)到私人界面: # tcpdump -i any icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL […]

使用iptables为多个隔离networking设置NAT

我有一个网关机器连接到多个内部networking,我想build立NAT。 但是,这些networking需要彼此隔离,这是我无法想象的。 这是我的configuration: eth0:192.168.1.0/28(上行),网关分配为192.168.1.1 eth1:192.168.1.16/28(下游1),网关分配为192.168.1.16 eth2:192.168.1.32/28(下行2),网关分配为192.168.1.32 到目前为止,我已经configuration了iptables来允许默认链: iptables -P INPUT ALLOW iptables -P OUTPUT ALLOW iptables -P FORWARD ALLOW 然后,我在内核中启用了IP转发,并设置了iptables: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source 192.168.1.1 iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT 但是,这种configuration允许eth1上的一台机器访问eth2上的另一台机器,即使我没有明确指定一个允许这样做的规则。 我如何隔离这些networking,或者至多只允许访问某些主机/端口?