netfilter模块及iptables基本概念

㈠ netfilter

linux一般都是作为服务器使用,对外提供一些基于网络的服务

通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能

常见的访问控制包括:哪些IP可以访问服务器,可以使用哪些协议,哪些接口,是否需要对数据包进行修改等等

如服务器可能受到来自某IP的攻击,这时就要禁止来自该IP的所有访问

linux的内核集成了网络访问的控制功能,通过netfilter模块实现

linux内核通过netfilter模块实现网络访问控制功能

在用户层我们可以通过iptables程序对netfilter进行控制管理

netfilter可以对数据进行允许、丢弃、修改操作

netfilter支持以下方式对数据包进行分类:

●源IP地址

●目标IP地址

●使用接口

●使用协议

●端口号

●连接状态

netfilter模块及iptables基本概念

注释:

① filtering point:过滤点,你需要选择合适的过滤点

★ input:输入的数据

★ forward:转发的数据

★ output:服务器发出的数据

★ prerouting:路由前的数据

★ postrouting:路由后的数据

② table:netfilter的功能的划分

★ filter:用以对数据进行过滤

★ nat:用以对数据包的源、目标地址进行修改

★ mangle:用以对数据包进行高级修改

当你需要创建一条访问控制策略时,首先要选择正确的过滤点,然后选择合适的功能

常用功能(流量也就是数据包)

作为服务器使用

▲ 过滤到本机的流量:在input过滤点,使用filter表

▲ 过滤到本机发出的流量:在output过滤点,使用filter表

作为路由器使用

▲ 过滤转发的流量:在forward过滤点,使用filter表

▲ 对转发数据的源、目标IP 进行修改:在prerouting或postrouting过滤点,使用nat表

相关推荐