iptables
iptables组成
-
netfilter 真正实现包过滤防火墙的框架,工作在内核空间。
-
iptables 工作在用户空间的防火墙规则管理工具。
netfilter工作原理
- 当一个IP数据包通过网卡进入主机后,首先到达PREROUTING链,之后根据数据包的目标IP地址进行路由选择。
-
如果目标IP是本机IP,数据包就向上层协议栈流动,经过INPUT链到达传输层。通过传输层进入用户空间,交给用户进程处理。
-
如果目标IP不是本机IP,数据包会经过FORWARD链和POSTROUTING链转发出去。
- 本机发出的数据包,经过路由选择后,进入OUTPUT链,再经过POSTROUTING链通过网卡流出。
iptables四表五链
表名 | 功能 | 包含的链 |
filter | 过滤数据包 | INPUT,OUTPUT,FORWARD |
nat | 网络地址转换 | PREROUTING,OUTPUT,POSTROUTING |
mangle | 修改数据包的服务类型、TTL,并且可以配置路由实现QOS | PREROUTING,INPUT,OUTPUT,FORWARD,POSTROUTING |
raw | 决定数据包是否被状态跟踪机制处理 | OUTPUT,POSTROUTING |
iptables处理规则
-
ACCEPT:允许数据包通过。
-
DROP:直接丢弃数据包。
-
REJECT:拒绝数据包,返回响应信息。
iptables语法
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作]