感谢支持
我们一直在努力

iptables模块和用户自定义链

multiport模块

可以使用multiport模块统一一次指定多个端口。

在写规则时,必须指定“ -m ”参数来检查状态

-m  stat –state  检测包状态

-m multiport这个模块可以匹配一组源或者目的的端口号,最多达15个端口;

如后面跟:

–source-ports  22,80

–destination-ports 80,53,110,443

如下面完整示例:

1、iptables -A INPUT -p all -m state –state  ESTABLISHED,RELATED  -j  ACCEPT

2、Iptables -A INPUT -p tcp –syn -m state –state NEW -m multiport –dports 21,80,443,8080 -j ACCEPT

iprange 模块

当需要为防火墙指定一段连续的IP地址时,这时最原始的方法,你可能需要添加很多条防火墙规则记录,而且一旦之后需要对其更改,那工作量也不小。而此时,我们可以利用iprange 模块的优势,将原本需要多条规则记录的方式,精简成一条规则。当然前提需要是连续的IP段。

如下面完整示例:

Iptables -A INPUT -m iprange –src-range 192.168.0.100-192.168.0.120 -j ACCEPT

处理方法

Netfilter内置了一些简单的处理方法:

ACCEPT和DROP处理方法,这两种是最常见的处理方法,分别是允许与不允许数据包进入系统。

如:

iptables -A INPUT -p tcp -d 192.168.0.0/24 -j ACCEPT

iptables -A INPUT -p tcp -d 192.168.1.0/24 -j DROP

QUEUE处理方法

这种处理方法,首先需要经过netfilter的条件匹配,若符合,则主要是依赖用户空间的应用程序来进一步地对数据包进行处理,分析,然后再经过选择后将数据包传出。而在用户空间的应用程序可以是“杀毒软件”,“邮件过滤分析软件”但目前对应这种机制的的应用程序非常少。

如:

iptables -A FORWARD -p tcp -d 192.168.0.200 –dport 25 -j QUEUE

RETURN处理方式

以上的几种处理方式大家可能都比较熟悉,还有一种RETURN的方式大家知道么?要来了解RETURN方式,需要先了解用户自定义链的概念。

用户自定义链

大家对于INPUT,FORWARD,OUTPUT等链应该都比较熟悉,但是用户定义链(User Define Chain)呢?这又是什么概念,它有什么用处?

例如在上面所提及的三个基本链,在其中我们还可以扩充任意的新的链,而这些由我们自己创建的链称之为用户定义链。

那么我们先来看下如何来创建,修改,删除,这些用户定义链;

首先是添加链,如下图,添加一个叫做WEB_S0的链,因为我没有特定指定表,所以在此示例中所用的是默认filter表。若要指定其他表,则需要加上“-t ”参数,如:“-t nat”;

iptables模块和用户自定义链

然后我们来更改一下用户定义链的名字,将WEB_S0改成EDB_S0;

iptables模块和用户自定义链

然后我们将删除EDB_S0这个链;

iptables模块和用户自定义链

若在用户定义链中有规则,则删除链的命令将会失败,其实这也是人为避免误删链。这种情况下,需要先清除规则,再删除用户定义链。

基本的用户自定义链的操作如上都很简单,那么对于用户自定义链的工作方式你知道是如何的吗?如何将用户自定义链与默认的表链结合起来使用呢?

首先需要了解的一点,当数据包经过netfilter时,默认是不会经过任何的用户自定义链的。即使你在之前的步骤定制了详细的过滤规则,其实都是没应用上的。那么我来看下如何将其中的某个链与我们的用户自定义链。

示例:iptables -A INPUT -p icmp -j NOICMP

iptables模块和用户自定义链

如同上面示例中,我们将INPUT链绑定我们的用户自定义链NOICMP,(前提在NOICMP中已经做了针对ICMP包的DROP动作)使过滤出的ICMP包直接传到NOICMP的用户自定义进行过滤。过滤完成之后再回到INPUT链继续匹配。

那么我们又回过头来说说RETURN的概念。当我们的数据包随着被传到NOICMP的自定义链后,我们还可以通过RETURN的这个动作,让符合匹配后的数据流提前重新返回INPUT链。

赞(0) 打赏
转载请注明出处:服务器评测 » iptables模块和用户自定义链
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏