Articles of iptables

使用自定义规则防止所有传入stream量

如何通过使用iptables为每个连接(实时)创build自定义规则来自动阻止所有传入stream量? 为了澄清 – 情况是,我的Linux机器正在通过端口80 DDOSed,我想设置iptables捕捉和阻止所有攻击机器人。 几个小时后(希望所有的僵尸程序都用完了),我解除策略,让合法的wwwstream量进入。 编辑:或者,如果你可以build议任何其他方式保护自己(可能)分布的SYN洪水。

防火墙与IPTABLES相关的问题:

当写一个iptables(1)脚本,如果你打算检查无效的源IP地址,你应该这样做之前或之后接受build立的stream量,为什么?

我该如何解决这个错误/不完整的Xen路由设置?

我有一些configuration为桥接模式的Xen主机,其虚拟机使用公共或私有IP: 主机#1 dom0:3.3.3.71 dom1:10.0.2.10 dom2:3.3.3.85 dom3:10.0.2.11 主机#2 dom0:3.3.3.72 dom1:3.3.3.86 dom2:10.0.2.12 dom3:10.0.2.13 主机#3 dom0:3.3.3.73 dom1:10.0.2.14 dom2:10.0.2.15 dom3:3.3.3.87 具有公共IP(3.3.3。*)的虚拟机可以从Internet访问。 具有私有IP的虚拟机可以在彼此之间到达,这是一个理想的行为。 但是,由于本地子网中没有10.0.2.1网关,因此无法访问Internet。 我怎样才能解决这个问题? 一种解决scheme是将一个具有10.0.2.1接口的服务器configuration为NAT。 然而,我不想要任何SPOF,我希望每个主机使用分配给dom0的公共IP地址来做自己的NAT。 我相信这只是在dom0中configurationiptables的问题。 如果这是正确的,怎么样?

具有单个NIC的Linux路由器

假设我有一个很小的networking,有很多个VLAN,如下所示: VLAN1 10.1.1.0/24 VLAN2 10.1.2.0/24 VLAN3 10.1.3.0/24 VLAN路由由核心交换机负责,交换机不执行基于策略的路由(Dell PowerConnect 6224F),因此它将仅为所有其他stream量超出上述VLAN之外的其他stream量采用默认路由。 (即0.0.0.0/0)。 现在假设我有两个互联网连接,每个连接在VLAN1上都有一个NAT DSL调制解调器(比如10.1.1.16和10.1.1.17),我希望VLAN2上的设备使用一个互联网连接,VLAN3上的设备使用另一个,我想使用Linux的盒子来实现这一点。 假设我configuration了一个Linux机箱(10.1.1.8),并将核心交换机上的默认网关configuration为指向10.1.1.8,那么是否可以在Linux机器上configurationIPTables来执行我所需要的操作? 大多数如何设置基于Linux的路由器的操作指南有两个两个networking接口作为要求,但我不认为这是必要的,因为这个Linux机器将简单地与DSL调制解调器位于同一个VLAN中。 (加上我目前没有任何备用的网卡放在我有的服务器上),所以我的问题是,(假设有可能)任何人都可以提供一些指导来创build一些IP表规则来处理这个问题吗? 我也可能在将来像所有的HTTP连接都被透明地代理,理想的情况是通过一个共享的squid实例,但是仍然将请求路由到合适的DSL连接。 编辑: 我不需要在VLAN之间进行路由,因为核心交换机已经很好了。 我可能没有得到正确的术语,但是如果我将核心交换机上的0.0.0.0/0的默认路由configuration为10.1.1.8,我可以configurationLinux机器将数据包redirect到正确的DSL网关,具体取决于包的来源? 我试图实现的一个例子… PC上的VLAN3(10.1.3.123)将数据包发送到1.2.3.4。 PC上的默认网关是10.1.3.1(即VLAN3上的路由接口),然后交换机将此数据包通过10.1.1.1路由到10.1.1.8(交换机configuration为使用此IP作为0.0.0.0的下一跳/ 0)。 然后Linux机器通过DSL调制解调器10.1.1.17路由/redirect该数据包,因为源IP在VLAN 3(10.1.3.0/24)内。 如果数据包来自10.1.2.0/24,则Linux机器将通过10.1.1.16路由/redirect VLAN 1 (10.1.1.0/24) 10.1.1.16 (DSL1) ——+ | 10.1.1.17 (DSL2) ——+ | 10.1.1.8 (Linux) ——+ | +————-+ VLAN 2 ——-| Core Switch |——- VLAN 3 (10.1.2.0/24) +————-+ (10.1.2.0/24) 进一步编辑: […]

如何将Rackspace云服务器设置为防火墙的EC2types?

我正在考虑将Rackspace云服务器用于某些基于Windows的虚拟主机,而之前使用Amazon EC2进行过类似的项目,我很失望地发现Rackspace不采用基于EC2安全区域的防火墙方法。 我认为可以在Rackspace环境中添加一个低规格(廉价)的Linux机器,并将其设置为Windows机箱的防火墙/网关,以便Linux机箱的外部IP成为单一入口Windows机器,但是我现在无法快速完成任务。 这可能是我缺乏Linux知识,但经过一天的Linux桌面提供的各种味道的iptables修补,我不能得到像转发80端口的请求到我的Windows Web服务器的内部地址工作简单的东西。 有没有其他人有这样的设置成功,或有任何想法更好的策略?

在对用户进行身份validation之后添加iptables规则

我需要像Linux的bsd authpf工具。 用户应该通过ssh或一些web应用程序进行身份validation,并且在我的计划中进行身份validation后,将为用户指定的iptables规则将被执行。 你能build议我一些指针开始。 问候,

这个iptable什么错了

我的目标是允许通过更改现有的iptable从mydomain.com访问端口11211(memcache)。 我用了:iptables -I INPUT -p tcp -s xx.xx.xx.xx –dport 11211 -j ACCEPT在iptable中添加第一行(xx.xx.xx.xx是我的域的ip ): Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp — mydomain.com anywhere tcp dpt:11211 ACCEPT tcp — localhost anywhere tcp dpt:11211 ACCEPT tcp — domU-12-31-39-01-BC-21.compute-1.internal anywhere tcp dpt:11211 DROP tcp — anywhere anywhere tcp dpt:11211 ACCEPT tcp — anywhere anywhere […]

Iptables ESTABLISHED,相关链问题

我在我的Fedora盒子上安装了iptables。 我允许所有入站HTTPSstream量,所有出站stream量,并且我也有一个允许的相关规则。 不过,我看到在我的日志中删除条目是这样的: stream量下降:SRC = XXXX DST = My_Server_IP DF PROTO = TCP SPT = 443 DPT = Random_High_Port 为什么我的既定/相关的规则没有select并允许? 我唯一的想法是,在收到这个回复之前,它已经超时了。 如果是这样的话,有没有人知道这个超时窗口是什么或者是否可以修改? 谢谢。 编辑: 这是一个完整的数据包 丢弃的stream量:IN = eth0 OUT = MAC = _____________ SRC = XXXX DST = YYYY LEN = 81 TOS = 0x00 PREC = 0x00 TTL = 46 ID = 11862 DF […]

Iptables:如何轻松组织链中的规则?

我有这样的netfilter规则: iptables -I INPUT -j NFQUEUE -p udp –dport 4444 iptables -t mangle -I INPUT -j MARK –set-mark 100 -p udp –dport 4444 iptables -I OUTPUT -j NFQUEUE -p udp –sport 4444 iptables -t mangle -I OUTPUT -j MARK –set-mark 200 -p udp –sport 4444 我需要一个简单的方法来分组这个规则,旨在将它们全部删除,就像这样 iptables -N MYCHAIN iptables -I MYCHAIN -j NFQUEUE -p […]

iptables不logging任何东西

我试图通过configurationiptables来保护我的服务器(Ubuntu Lucid 10.04)免受一些蛮力的ssh攻击。 我想把这些匹配logging到DROP规则中,但是它不起作用,所以我尝试了基本的: iptables -A INPUT -p tcp –dport 22 -j LOG –log-level info –log-prefix "TEST: " 但它不logging任何东西! 我试着改变日志级别:debug或者7,然后把kern.=debug -/var/log/firewall到/etc/syslog.conf但是没有任何东西写到/var/log/messages或者/var/log/firewall 该规则确实得到了一些匹配: $ iptables -L -v pkts bytes target prot opt in out source destination 44 5543 LOG tcp — any any anywhere anywhere tcp dpt:ssh LOG level debug prefix `TEST: ' iptables logging not […]