Netfilter 是如何工作的(五):初识连接跟踪(connection track)

2019-06-28
阅读 2 分钟
5.7k
报文过滤和连接跟踪可以说是Netfilter提供的两大基本功能。前者被大多数人熟知,因为我们对防火墙的第一印象就是可以阻止有害的报文伤害计算机;而后者就没这么有名了,很多人甚至不知道Netfilter有这项功能。

Netfilter 是如何工作的(四):动作(target)

2019-06-20
阅读 2 分钟
3.2k
每一条iptables配置的规则(rule)都包含了匹配条件(match)部分和动作(target)。当报文途径HOOK点时,Netfilter会逐个遍历挂在该钩子点上的表的rule,若报文满足rule的匹配条件,内核就会执行动作(target)。

Netfilter 是如何工作的(三):扩展匹配条件(match)

2019-06-13
阅读 2 分钟
4.9k
每一条iptables配置的rule都包含了匹配条件(match)部分和动作(target)。当报文途径HOOK点时,Netfilter会逐个遍历挂在该钩子点上的表的rule,若报文满足rule的匹配条件,内核就会执行动作(target)。

Netfilter 是如何工作的(二):表(table)与规则(rule)

2019-06-12
阅读 2 分钟
4.5k
在(一)中说到,报文在内核协议栈中会途经5个HOOK点,在每个HOOK点上会依次执行链表上的钩子函数,那么这些钩子函数是如何与用户使用iptables下发的各个rule联系起来的呢?这些rule又是如何存储的呢? 本文详细描述这个问题。

Netfilter 是如何工作的(一):HOOK点

2019-06-11
阅读 3 分钟
12k
Netfilter是一套融入在Linux内核网络协议栈中的报文处理(过滤或者修改)框架。它在内核中报文的关键流动路径上定义了5个HOOK点(下图蓝色方框),各个协议(如IPv4、IPv6、ARP)可以在这些HOOK点安装钩子函数,报文流经此地,内核会按照优先级调用这些钩子函数,这些钩子函数最终会决定报文是被NF_ACCEPT(放行)还是NF_DROP(丢...