iptables:
iptables是与Linux内核集成的IP信息包过滤系统,通过自己设定的规则以及处理动作对数据报文进行检测以及处理,有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
发展过程
防火墙的发展:简单-->复杂
防火墙工具历史版本
2.0.X内核:ipwadm --> 2.2.X内核:ipchains --> 2.4.X内核:iptables
系统优势
1.可以配置有状态的防火墙
2.用户可以完全控制防火墙的配置和信息包过滤,可定制规则满足特定需求
3.免费
iptables与netfilter
iptables是用来管理防火墙的命令的工具,为防火墙体系提供过滤规则/策略。位于用户空间,是Linux防火墙的“用户态”
netfilter是位于Linux内核中的包过滤防火墙的功能体系,是真正起防火墙作用的所在,是Linux防火墙的“内核态”
Linux系统的防火墙功能是由内核实现的,包过滤防火墙作用于TCP/IP的网络层
iptables的四表五链
四表:raw(决定数据包是否被状态跟踪机制处理)
mangle(用于对特定数据包的修改)
nat(用于网络地址转换(IP、端口))
filter(过滤数据包)
优先级:raw>mangle>nat>filter(默认表)
五链:INPUT(处理入站数据包)
OUTPUT(处理出站数据包)
FORWARD(处理转发数据包)
PREROUTING(在进行路由选择前处理数据包)
POSTROUTING(在进行路由选择后处理数据包)
iptables命令
结构:iptables [ -t 表名 ] 管理选项 [ 链名 ] [ 条件匹配 ] [ -j 目标动作或跳转 ]
不指定表名则默认为filter,不指定链名则为所有链
详细语法太多,需要自己在实践中摸索,用多了就熟悉了。