开发者学堂课程【iptables 安全第一课时:iptables 的使用概念】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/792/detail/13892
iptables 的使用概念
内容简介
一、iptables基本概念
二、Tables
三、Chain
四、Rule
五、Match
六、Target
一、iptables基本概念
1.iptables
·在Linux内核中,Netfilter子系统负责对网络包进行处理和分发;
·iptables便是该子系统的管理控制命令;
·iptables将网络包按照处理规则分配给不同的表格;每个表格有对应的处理链;
·处理规则由匹配规则和处理目标组成
2.iptables下的概念
根据Linux内核,iptables中定义了五个不同的挂载点(Hook Point ),分别是PREROUTING、INPUT、FORWARD、POSTROUTING、OUTPUT.
3.挂载点的工作时机
·FORWARD仅作用于包通过网关计算机,从一个网络接口进入,从另外一个网络接口离开。
·INPUT 表示将会把包传递给本地进程。
·OUTPUT表示包从本地进程生成。
·POSTROUTING表示包离开网络接口。
·PREROUTING表示包从网络接口进入,进入该挂载点的包已经进行了包的检查和验证。
二、Tables
1.简介
· iptables内置了三种不同的表来完成工作,分别是NAT、FILTER、MANGLE
·每一个表都配置了不同的处理规则,用于处理网络包的流动。
·NAT用于重定向网络地址转换的链接,通常会基于源地址或目标地址
·FILTER用于设置允许进入计算机的包的规则,除非特别设定,默认会使用该表规则进行过滤
·MANGLE用于进行特殊的包的处理
2.NAT下的包流动
3.过滤(Filter)目的下的包流动
4.过滤(Mangle)目的下的包流动
三、Chain(链)
·默认情况下,iptables 会包含一些或所有挂载点的链,这些链最初是空的﹔
·可以通过自定义链的规则,来决定包最终的去向;
·可以根据自己的需要,自定义链;
四、Rule(规则)
·iptables 由一个或多个匹配以及一个目标组成,这些匹配决定了这个规则会应用在哪些包上,目标则决定了包会被如何处理;
·规则的匹配部分和目标部分是可选的,如果没有匹配条件,则任务所有的包都会匹配;如果没有目标,则不对包进行任何处理;
五、Match(匹配)
·iptables中存在多种匹配;
·一些特殊的匹配会需要系统内核的支持;
·除了通用的匹配还可以使用iptables-m 来加载特殊的匹配模块
六、Target(目标)
·target定义了与目标规则匹配的情况下,如何对数据包进行操作,iptables 内置了四个目标,分别:ACCEPT、DROP、QUEUE、RETURN
·ACCEPT :允许包通过本阶段,进入下一阶段;停止对本链进行遍历;
·DROP:完全停止包处理进程;不再对此包应用任何规则;
·QUEUE:格包发送至用户空间;
·RETURN:停止调用当前链中的后续规则,并返回到调用链中继续处理