Articles of iptables

使用iptables将传入的WAN连接redirect到其他WAN主机

我有Linux的路由器。 我想redirect传入的WAN连接与指定的端口到其他广域网主机:端口。 我试着做这个标准的方式: iptables -t nat -A PREROUTING -p tcp –dport 81 -j DNAT –to-destination <Other WAN host>:80 iptables -t nat -A POSTROUTING -j MASQUERADE 但是这似乎不起作用。 此规则仅适用于广域网到广域网还是广域网到局域网? 我的路由器是asuswrt-merlin固件的华硕RT-N16,如果这个问题的话。

服务器closures后需要重新启动iptables

我有一个服务器作为主机(KVM),代理和防火墙。 为了访问这台主机上的虚拟机提供的服务, iptables必须工作以便正确地将数据包redirect到guest虚拟机。 服务器closures时会出现问题(即:重新启动或断电)。 当服务器再次启动时,端口redirect似乎不起作用(即:不能SSH到客户机或使用主机的redirect端口访问他们的服务)。 那时候,我可以通过SSH连接主机并validationiptables是否正在运行。 但是,我需要service iptables restart一切按预期工作。 为什么发生这种情况? 它与使用KVM有关吗? 我怎么能避免每次服务器closures时手动重新启动iptables ? 请注意,我不需要更改iptablesconfiguration以使所有内容都按预期工作,我只需要重新启动服务(就好像configuration没有正确应用或在某些时候被覆盖一样)。 UPDATE 在主机上: # chkconfig –list iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off 比较重新启动服务前后的iptables规则: PREROUTING链看起来完全一样。 INPUT链看起来非常相似。 唯一的区别是在重新启动之前,有一些重复的条目,但条目的顺序也是相似的。 POSTROUTING链看起来非常相似。 唯一的区别是在重新启动之前,有一些重复的条目,但条目的顺序也是相似的。 FORWARD链条看起来更加不同。 在重新启动服务之前,有一些重复的条目,但条目的顺序在更改前后发生更改。 以下是不同之处( PREROUTING链已被排除,因为在重新启动iptables之前和之后它看起来完全一样): 之前 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE tcp — 10.0.0.0/24 !10.0.0.0/24 masq ports: 1024-65535 […]

克隆,然后将SNMP陷阱路由到新的目标

我们有两个SNMP陷阱服务器10.0.0.1和10.0.0.2,它们是SNMP陷阱服务器,用于接近我们监控的500个设备。在所有这500个设备中,10.0.0.1和10.0.0.2被configuration为陷阱目标,任何陷阱生成的都发送到这两个设备。 我们最近开始监视一个新types的设备(IBM Guardium),它只能指定一个陷阱服务器。这是一个问题,因为只有一个陷阱服务器现在获得了SNMP陷阱,而另一个却没有。我有尝试着设置IP表来解决这个问题,但是我对它们的理解还是比较浅的。 因此,如果我在Guardium设备上指定了10.0.0.1作为陷阱服务器,那么如何确保10.0.0.1不仅接收和存储该陷阱,还要确保使用原始源IP地址捕获并将其发送到10.0.0.2的克隆?

OpenVZ:实时迁移失败

我无法在两个proxmox节点之间启动OpenVZ容器的实时迁移… Feb 05 03:30:27 starting migration of CT 102 to node 'madrid' (xx.xx.xx.xx) Feb 05 03:30:27 container is running – using online migration Feb 05 03:30:27 starting rsync phase 1 Feb 05 03:30:27 # /usr/bin/rsync -aHAX –delete –numeric-ids –sparse /var/lib/vz/private/102 [email protected]:/var/lib/vz/private Feb 05 03:30:36 start live migration – suspending container Feb 05 03:30:36 dump container […]

港口突然closures。 如何重新打开?

我已经用PHP编写了一个软件模块,用于pipe理不同数据存储(MySQL,ElasticSearch和Redis)中数据的保存。 为了testing这个模块,我在Apache JMeter中创build了一些testing计划,其中包括一些并发请求。 这些testing是在Ubuntu 14.04 LTS虚拟机(Vagrant盒)中的LAMP堆栈上运行的。 我所观察到的是,有时在端口9200(ElasticSearch)在给定数量的请求之后closures。 这很好,因为我想testing其中一个数据存储变得不可用的场景。 但是,为了validationtesting结果,我需要再次打开端口。 ElasticSearch仍在运行并正在侦听端口。 testing运行前的情况 $ nmap -p 9200 localhost (…) PORT STATE SERVICE 9200/tcp open wap-wsp $ sudo netstat -tlnp | grep '9200' tcp6 0 0 :::9200 :::* LISTEN 1057/java 试运行后的情况 $ nmap -p 9200 localhost (…) PORT STATE SERVICE 9200/tcp closed wap-wsp $ sudo netstat -tlnp | […]

OpenVPN – 仅通过iptables为客户端打开端口

运行在我的Ubuntu服务器上的OpenVPN服务器( tun模式)。 我的问题是,我不能设置一些端口只能访问VPN客户端。 我有一个肮脏的解决scheme,但我想要更好。 我没有iptables规则,除了在这里听,任何东西都可以从网上访问。 我的OpenVPN服务器子网是10.8.0.0/24所以我很容易打开一些端口只能通过访问10.8.0.1,这是只有VPN用户访问: iptables -A INPUT -s 10.8.0.0/24 -p tcp –dport 6000:7000 -j ACCEPT iptables -A INPUT -p tcp –dport 63000:64000 -j REJECT 这是有效的,因为10.8.0.1仅在VPNnetworking内部(在客户端上)被转发给我的主机,否则它就会到别的地方。 但这是不正确的:有IP欺骗做法,可以绕过我的iptables afaik [在服务器上],并且,可能, 10.8.0.1不应该直接使用,如果可能的话,对我来说..有没有更好的解决scheme? 我的接口是: tun0和eth0 。 我试图做跟踪: iptables -t nat -A POSTROUTING -p tcp –dport 6000 -j LOG –log-prefix "routing xx::" 这是来自vpnnetworking的请求追踪: routing xx::IN=eth0 OUT= MAC=……. SRC=my […]

使用iptables进行NAT转换会在日志中重写源IP

我有以下的基础设施: 互联网[81.xxx之外]路由器[在192.168.1.1内] | [networking192.168.1.0/24] | 邮件服务器[192.168.1.2] 在路由器(DD-WRT)与iptables。 我有NAT启用,因为我想我的邮件服务器响应外部IP。 我有以下设置: iptables -t nat -I PREROUTING -d 81.xxx -j DNAT –to 192.168.1.2 iptables -t nat -I POSTROUTING -s 192.168.1.2 -j SNAT –to 81.xxx iptables -I FORWARD -d 192.168.1.2 -p tcp –dport 25 -j ACCEPT 与其他一些开放的端口以及。 但是,当邮件到达邮件服务器后缀时,显示以下消息: postfix/smtpd[6964]: connect from unknown[192.168.1.1] 所有来自外部的邮件似乎都与IP地址内的路由器通信。 我错过了什么,以便显示原始IP地址,而不是IP内的路由器?

通过OpenVPN连接AWS和Azure

我试图通过OpenVPN将两个networking(AWS和Azure)连接在一起。 我知道其他的实现(OpenSwan + Azure的GW等),但我需要最大的便携性,因为我将这个扩展到其他云vps提供商以及。 OpenVPN网关可以相互ping通,每个网关都可以ping对方networking上的所有IP,但是一个networking上的计算机不能ping通另一个networking上的计算机(它们也不能ping相对的网关)。 我在这里错过了什么? 似乎很多人都有这个问题的各种原因,但经过50 +尝试,我放弃了,并决定要求:) networking1: dev tun port 1194 ifconfig 10.8.223.40 10.8.223.41 route 10.22.1.0 255.255.255.0 vpn_gateway comp-lzo keepalive 10 60 persist-key persist-tun user nobody group nobody secret /etc/openvpn/static.key ip route default via 10.0.1.1 dev eth0 10.0.1.0/27 dev eth0 proto kernel scope link src 10.0.1.9 10.22.1.0/24 via 10.8.223.41 dev tun0 10.33.0.0/24 via […]

iptables不断使用旧的nat规则

我在我的网关上使用iptables snat将本地源IP地址更改为外部。 麻烦的是,我改变规则(或即使我刷新iptables nat表)网关不断使用旧的规则,直到我重新启动网关。 我使用Ubuntu 14.04服务器作为运行操作系统。 所以,例如,我进入后 iptables -t nat -A POSTROUTING -s 10.0.0.129 -j SNAT –to-source 1.2.3.4 10.0.0.129的外部地址是1.2.3.4,在外部网关接口上,我可以看到类似的东西 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 09:48:07.920936 IP 1.2.3.4 > 8.8.8.8: ICMP echo request, id 2425, seq 1, length 64 […]

与子网和redirect的麻烦

我想创build的是通过网关相互通信的2个子网。 这是我的门户: wlan0 Link encap:Ethernet IndirizzoHW c4:46:19:69:b7:a5 indirizzo inet:192.168.1.3 Bcast:192.168.1.255 Maschera:255.255.255.0 indirizzo inet6: fe80::c646:19ff:fe69:b7a5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:987185 errors:0 dropped:0 overruns:0 frame:0 TX packets:635513 errors:0 dropped:0 overruns:0 carrier:0 collisioni:0 txqueuelen:1000 Byte RX:1300656767 (1.3 GB) Byte TX:86680631 (86.6 MB) wlan0:1 Link encap:Ethernet IndirizzoHW c4:46:19:69:b7:a5 indirizzo inet:172.16.1.1 Bcast:172.16.1.255 Maschera:255.255.255.0 UP BROADCAST RUNNING […]