Articles of NAT

iptables:内置INPUT链在nat表中?

我有一个运行linux 2.6.38-rc8的Gentoo Linux系统。 我也有一台运行Ubuntu 2.6.35-27的机器。 我也有一台运行Debian Unstable的Linux 2.6.37-2虚拟机。 在Gentoo和Debian系统上,除了PREROUTING,OUTPUT和POSTROUTING之外,我还有一个INPUT链。 在Ubuntu上,我只有PREROUTING,OUTPUT和POSTROUTING。 我可以使用这个INPUT链来使用SNAT来修改发往本地机器的数据包的来源(假设模拟一个到本地应用程序的入侵欺骗IP或者只是testing一个虚拟主机configuration)。 在Gentoo和Debian上有两个防火墙规则是可能的,但在Ubuntu上似乎不是这样。 我四处张望find有关SNAT目标和nat表的INPUT链的更改的文档,我找不到任何东西。 有谁知道这是一个configuration问题,还是只是在更新的版本的Linux中添加的东西?

将特定networkingstream量转发到其他服务器

是否有可能redirect到我的Ubuntu Linux服务器机器的特定端口上的传入stream量到另一个服务器(有另一个公共IP地址,并位于另一个网站)? 我正在其他服务器上运行一个游戏服务器,但我希望人们能够连接到旧的IP地址。 这可以通过某种与VPN相结合的NAT / PAT来完成吗? 这是我的iptables规则的testing结果… root@oldserver:~# tcpdump -n -i eth0 port 83 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 17:47:40.349492 IP client.63633 > oldserver.83: Flags [S], seq 783927589, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0 17:47:40.597801 IP […]

具有水平分割DNS或发夹式NAT的dynamicDNS

我想主持一个CalDAV和CardDAV服务器,用于在局域网之间漫游到设备之外的设备(如我的iPhone和笔记本电脑)。 一个静态的IP是非常昂贵的。 我有自己的域名,Lion Server的Mac Mini,SonicWall TZ 200和dyn.comdynamic地址(SonicWall保持dynamic帐户更新)。 我通常会build立一个静态的IP,并使用水平分割DNS,以便这些漫游设备可以指向server.mydomain.com和function打开和closures我的局域网。 是否可以使用dynamic地址进行类似的设置? 我很高兴与server.mydomain.com或myaccount.dyndns.orgbuild立客户端,但我更愿意使用我的域名。 要么在SonicWall上发送NAT,要么使用Lion服务器分割水平DNS,这样才能起作用?

星号SIP / 2.0 401未经授权

我遇到了Asterisk 10.3的一个有趣的小问题,但它似乎也适用于10.4。 运行Asterisk的服务器从VPS重新定位到专用硬件,现在,几个SIP对等体中只有一个可以正确连接。 SIP对等端从ODBC连接加载到实时。 鉴于1能够连接没有任何问题,并按预期的function,运行查询,等我已经排除了任何数据库连接问题。 一个客户恰好是一个Grandsteam ATA。 但那就是停止的地方。 没有其他人可以连接,因为星号告诉他们401未经授权,当他们尝试注册。 这个等式中唯一的variables可能是networking设置的方式。 旧主机是一个VPS(Xen),新的硬件是专用的。 在这种情况下,服务器坐在公共IP上。 在专用硬件上不应该出现任何时髦的NAT技巧,但大多数连接的对等设备都在某种NAT的后面。 我到目前为止所尝试的是: 调整nat = no在每个同行,相同的结果 调整nat = no在每个对等,不安全=邀请,端口,相同的结果 最重要的是,所有的潮stream都连接得很好。 但是像CSipSimple,Cisco IP 79xx,Polycom等其他客户端…不行。 任何想法可能需要改变,以允许这些同行再次连接? 例: <— SIP read from UDP:12.34.56.78:35286 —> REGISTER sip:sip.server.com SIP/2.0 Via: SIP/2.0/UDP 10.0.0.163:35286;rport;branch=z9hG4bKPjZ8cqUxWzs6KnfN5kqG9lrD-V0hXQNppc Route: <sip:sip.server.com;lr> Max-Forwards: 70 From: "Erik" <sip:[email protected]>;tag=uwgq3EEWaQ0DuPwWEzuLfVA3aajqyXL6 To: "Erik" <sip:[email protected]> Call-ID: ohWlNbqWRdOme5TvFr3.r6mnPUbjoKqs CSeq: 1582 REGISTER User-Agent: CSipSimple […]

通过NAT和dynamicIP了解IPsec

我正在使用OpenSWANbuild立一个networking到networking的VPN隧道。 我成功地configuration了一个testing场景如下: 关于test和test : 他们是使用ubuntu-vm-builder创build的Ubuntu 12.04虚拟机 他们使用桥接networking到主机的物理以太网(192.168.0.0/24子网)。 我安装了标准的openswan软件包。 每个虚拟接口都可以从VPN隧道的另一端访问。 这是我如何configuration隧道: /etc/ipsec.conf(左右相同): version 2.0 config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12 oe=off protostack=netkey conn net-to-net authby=secret left=192.168.0.11 leftsubnet=10.1.0.0/16 leftsourceip=10.1.0.1 right=192.168.0.12 rightsubnet=10.2.0.0/16 rightsourceip=10.2.0.1 auto=start /etc/ipsec.secrets(左右相同): 192.168.0.11 192.168.0.12: PSK "mytestpassword" /etc/rc.local(左边): modprobe dummy ifconfig dummy0 10.1.0.1 netmask 255.255.0.0 iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/16 ! -d 10.2.0.0/16 -j […]

私有IPV4地址如何通过iptables NAT(tcp RST,FIN)

我有一个路由器使用iptables iptables -t nat -o -j MASQUERADE执行简单的NAT转换 几乎所有的时间都可以正常工作,除了一些TCP RST和FIN数据包正在离开路由器的情况外。 在这种情况下,我设置了一个或两个客户端计算机streamFlashvideo(例如www.nasa.gov/ntv)在路由器,然后拆除并重新build立公共接口(这是一个调制解调器)正如预期的闪存stream熄灭。 连接重新build立后,我尝试刷新Flash页面,我看到一些TCP RST和[FIN,ACK]数据包离开公共接口(我假设Flash试图恢复其stream)。 我不知道这些数据包是如何离开路由器非NAT的

iptables:如何结合DNAT和SNAT使用从IP地址?

关于iptables DNAT / SNAT设置,在这里有很多的问题,但我还没有find解决我目前的问题。 我有服务绑定到eth0的IP地址(例如192.168.0.20),我也有一个IP地址eth0:0(192.168.0.40)与另一台服务器共享。 只有一个服务器处于活动状态,因此该别名界面依赖于哪个服务器处于活动状态。 为了获得服务接受的stream量,使用DNAT规则来更改目的IP。 iptables -t nat -A PREROUTING -d 192.168.0.40 -p udp –dport 7100 -j DNAT –to-destination 192.168.0.20 我还希望来自此服务的所有出站stream量看起来都来自共享IP,以便在主备备份故障切换的情况下返回响应能够正常工作。 iptables -t nat -A POSTROUTING -p udp –sport 7100 -j SNAT –to-source 192.168.0.40 我的问题是,SNAT规则并不总是运行。 入站stream量导致像这样的连接跟踪条目。 [root]# conntrack -L -p udp udp 17 170 src=192.168.0.185 dst=192.168.0.40 sport=7100 dport=7100 src=192.168.0.20 dst=192.168.0.185 sport=7100 dport=7100 [ASSURED] […]

这个iptables NAT是从外部开发的吗?

请简单介绍一下iptables / NAT-Setup,我相信它有一个相当严重的安全问题(由于太简单了)。 在这个networking上,有一台连接到互联网的机器(在iptables 1.4.8上运行Debian Squeeze / 2.6.32-5)充当192.168 / 24中less数客户机的NAT /网关。 该机器有两个NIC: eth0: internet-faced eth1: LAN-faced, 192.168.0.1, the default GW for 192.168/24 路由表是双网卡 – 默认没有手动更改: Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 (externalNet) 0.0.0.0 255.255.252.0 U 0 0 0 eth0 0.0.0.0 (externalGW) 0.0.0.0 UG 0 0 […]

具有多个网关的NAT

我有以下设置: 我的Lan是10.56.8.0/23 我有一个互联网接入网关(INETIP-A)和局域网IP 10.56.9.1 我有另一个互联网接入(INETIP-B)和局域网IP 10.56.9.15 对于IP为10.56.9.5的networking中的每台主机,我都有一台PC用作默认网关。 我想在这里做所有的改变。 默认的互联网连接是通过10.56.9.15(更快),但我只能控制10.56.9.1,所以对于一些特定的主机,这应该是路由。 为了达到这个目的,我设置了10.56.9.5作为路由器,默认网关为10.56.9.15,为需要通过10.56.9.1访问的主机添加特定的路由。 我现在需要从互联网上打开访问主机VNC服务器。 我有这个问题。 我将10.56.9.1上的5900端口转发给VNC服务器 某些Internet主机A尝试连接到10.56.9.1外部接口(INETIP-A),端口5900 VNC服务器的默认网关为10.56.9.5,默认网关为10.56.9.15,所以连接的答案通过10.56.9.15外部接口(INETIP-B)被路由回去。 当答案包到达目的地(互联网主机A)时,它被丢弃,因为它来自不同的主机(INETIP-B而不是INETIP-A) 有没有办法通过一个特定的网关路由回数据包,而不声明源IP,并没有在terminal主机(只在路由器和网关)进行任何特定的设置?

Ping对浮动IP的响应不会到达路由器(iptables / nat)

我正在运行OpenStack,并且在从networking控制器节点以外的任何位置访问浮动IP实例时遇到问题。 我使用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到外部机器的实例。 如果我尝试从我的笔记本电脑(192.168.3.8)ping,并且在公共接口(eth3)上做了一个tcpdump,我可以看到请求并回复: # tcpdump -i eth3 icmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth3, link-type EN10MB (Ethernet), […]