您的位置:首页 > 运维架构 > Linux

Linux学习记录(16)netfilter以及iptables概念及操作

2015-10-14 10:50 555 查看
今天学习了iptables以及netfilter相关的知识,这个两个功能是对访问或发出去的流量进行控制的,比如Linux服务器受到了攻击,那么这个服务器就可以根据攻击的IP地址,拒绝接受这个IP地址的流量,以达到不被攻击的目的,当然这只是其中一个作用。

首先说明一下这两者的关系:netfilter是Linux系统的内核的功能,但是用户不能直接对netfilter进行修改等操作,对用户来说,我们使用iptables这个程序来对netfilter进行控制,以达到我们拦截过滤的目的。

其中有几个概念要介绍一下:

1、chain(过滤点):所谓的过滤点,就是在数据发送传播的途中的“关卡”,一共有5个,分别是INPUT(输入),FORWARD(转发),OUTPUT(输出),PREROUTING(路由前),POSTROUTING(路由后)

2、tables(表):表只是一个名称,我们这里可以看做是“关卡”上的士兵,一共有三种士兵,他们管理的点和方向不一样。有filter,nat和mangle三种。

其中filter只能在INPUT,FORWARD,OUTPUT过滤拦截。

nat只能在OUTPUT,PREROUTING,POSTROUTING进行操作。

而mangle能对全部的过滤点进行操作。

表如下:

chainfilternatmangle
INPUTvv
FORWARDvv
OUTPUTvvv
PREROUTINGvv
POSTROUTINGvv
3、iptables规则:每个过滤条件称为一个“规则”。每个规则占用一行配置。在配置文件中,规则的顺序是一定要注意的,因为在进行条件匹配时,会根据规则的顺序匹配,比如有两个配置,一个是允许10.1.1.1的流量通过。一个是不允许10.*.*.*的流量通过,那么这两条规则的顺序改变了,最后的结果也是不一样的,因为他会在匹配到规则之后立即处理,而不管后边是否还有别的规则。

4、(注意,以下命令都是临时修改,重启后即消失)
//列出当前所有规则
iptables -L
//添加规则
iptables -I 过滤点 排序位置 -p/s/d/i/o 过滤条件 -j 动作
//删除规则
iptables -D 过滤点 排序位置
//删除全部规则
iptables -F


若想永久保存配置,则要使用service iptables save命令永久保存

配置文件的位置在/etc/sysconfig/iptables文件中。

5、参数匹配

在新增配置时,不同的过滤参数对应的前缀也不同

(1)-s 原地址 -d 目标地址

(2)-i 从哪个接口(网卡)接收的 -o 从哪个接口(网卡)发送的

(3)-s '!' 排除该参数

(4)-p 协议名称--dport 端口号 数据的目标端口 -p 协议名称--sport 端口号 数据的来源端口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: