iptables学习(1)

概况

Linux系统中,防火墙(Firewall),网址转换(NAT),数据包(package)记录,流量统计,这些功能是由Netfilter子系统所提供

                       Netfilter
                          |
        Firewall         NAT        Package
Netfilter和iptables

Linux提供的所有包过滤和包修改设施的官方项目称为Netfilter;Netfilter是一个框架,用于在不同阶段将函数hook进网络栈,iptables在它之上建立了防火墙功能;
同时,iptables还是同名的用户层工具,将防火墙策略传递给内核,表table、链chain、匹配match、目标target只在iptables上下文中有意义。

iptables结构和应用场景
iptables学习(1)_第1张图片
iptables链和表结构
iptables学习(1)_第2张图片
iptables数据包流程走向

以本地为目的地址的数据包
数据包经过的表和链,按step顺序:

iptables学习(1)_第3张图片
本地为目的地址

以本地为源地址的数据包

iptables学习(1)_第4张图片
本地为源地址

被转发的数据包

iptables学习(1)_第5张图片
被转发的数据包

iptables应用场景


iptables学习(1)_第6张图片
iptables应用场景


按处理优先级:raw>mangle>nat>filter

iptables中filter表的INPUT/FORWARD/OUTPUT链,nat表的PREROUTING/POSTROUTING链

iptables学习(1)_第7张图片
iptables数据流程

匹配
每个iptables规则都包含一组匹配以及一个目标
--source(-s) 匹配源ip地址或网络
--destination(-d) 匹配目标ip地址或网络
--protocol(-p) 匹配ip值
--in-interface(-i) 流入接口
--out-interface(-o) 流出接口
--state 匹配一组连接状态
--string 匹配应用层数据字节序列
--comment 注释数据

目标
ACCEPT 允许数据包通过
DROP 丢弃数据包
LOG 将数据包信息记录到syslog
REJECT 拒绝数据包,丢弃
RETURN 在调用链中继续处理数据包

你可能感兴趣的:(iptables学习(1))