iptables1

一、iptables的基本认识

防火墙

1、Netfilter组件

  • 内核空间,集成在linux内核中
  • 扩展各种网络服务的结构化底层框架
  • 内核中选取五个位置放了五个hook(勾子) function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables)向其写入规则
  • 由信息过滤表(table)组成,包含控制IP包处理的规则集(rules),规则被分组放在链(chain)上

2、 三种报文流向:

  • 流入本机:PREROUTING –> INPUT–>用户空间进程
  • 流出本机:用户空间进程 –>OUTPUT–> POSTROUTING
  • 转发:PREROUTING –> FORWARD –> POSTROUTING

二、iptables的组成

1、iptables由五个表和五个链以及一些规则组成

  • 五个表table:filter、nat、mangle、raw、security
  • filter表:过滤规则表,根据预定义的规则过滤符合条件的数据包
  • nat表:network address translation 地址转换规则表
  • mangle:修改数据标记位规则表
  • Raw:关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度
  • Security:此表用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
  • 优先级由高到低的顺序为:security –>raw–>mangle–>nat–>filter

2、五个内置链chain

  • INPUT
  • OUTPUT
  • FORWARD
  • PREROUTING
  • POSTROUTING

三、Netfilter表和链对应关系

表和链对应关系

四、数据包过滤匹配流程

匹配流程图

-------------本文结束感谢您的阅读-------------