一、简介
1.1、概念
iptables用来过滤tcp/ip报文的属性,包括:
- 基础属性:源ip、目标ip、源端口、目标端口
- 扩展内容:流入的网卡、流出的网卡、协议等
iptablse常用到的几个概念包括:四个表和五个链。
四个表为:
- raw:只使用在PREROUTING链和OUTPUT链上,优先级最高。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理。raw表有一个特殊的动作:
-j NOTRACK
。可以跳过后续的追踪,但在实际测试中,只能跳过nat表的。
- mangle: 可以用来修改数据包的一些功能。
- nat: 对进出主机的ip或端口进行转发
- filter: 对进出的数据进行过滤
五个链为:
- PREROUTING:路由选择前
- INPUT:路由选择后,进入到主机中
- FORWARD:路由选择后,转发
- OUTPUT:路由选择后(判断用哪张网卡发出包),流出
- POSTROUTING:最后的数据流出
二、数据流向
表是按照对数据包的操作区分的,链是按照不同的Hook点来区分的。换一个理解:链是数据的流向,而表是对不同规则实现的功能的标签。