linux iptables初识1

默认防火墙规则

clip_image002[4]

拒绝与禁止一个数据包

clip_image004[4]

IP防火墙的数据包传输

在IP防火墙中,有三个内建的过滤规则链被使用。所有到达接口的数据包都按照输入规则链被过滤。如果数据包被接受,它会被送到路由模块。路由功能决定数据包是被送到本地还是转发到另一个出站接口。

clip_image006[4]

如果被转发,数据包会由转发规则链进行第二次过滤。如果数据包被接受,它会被送到输出规则链。

本地产生的出站数据包和将被转发的数据包都要经过输出规则链。如果数据包被接受,它会被送出接口。

回环路径包括两个规则链,如图示。每一个回环数据包在出回环接口之前需要通过输出规则链,在那里它会被送到回环的输入接口,然后输入规则链被应用。

clip_image008[4]

Netfilter数据包传输

在Netfilter(iptables)中,使用内建的INPUT、OUTPUT和FORWARD过滤规则链。入站数据包都需要经过路由功能,由其决定将数据包送到本地主机的输入规则链还是转发规则链。

clip_image010[4]

如果目的地址为本地的数据包被INPUT规则链的规则所接受,数据包就会在本地传送。如果目的地址为外地的数据包被FORWARD规则链的规则所接受,数据包就会被送出相应的接口。

经本地处理后的外出数据包被送到OUTPUT规则链。如果数据包被接受了,就会被送出相应的接口。于是,每个数据包被过滤一次(出了回环数据包被过滤两次)。

Iptables的基本语法

用Netfilter建立防火墙就是使用iptables防火墙管理命令。Iptables命令执行你所建立的防火墙策略管理防火墙的行为。Netfilter防火墙有三个表:filter、NAT和mangle。有了这些表,防火墙就可以由规则链来建立,规则链中的每一项都是一个iptables命令。

在默认的filter表中包括一个用于处理输入或即将进入防火墙的数据的规则链,一个用于处理输出或即将离开防火墙的数据的规则链,一个用于处理转发或通过防火墙被送出的数据的规则链,和由其他用户命名并配置的规则链,通常称作用户自定义规则链。NAT和mangel表有专门的规则链。现在filter表是用来实现基本的防火墙的默认表,NAT表用来提供NAT和相关的功能以及mangle表在数据包被防火墙修改时使用就已经足够了。

Iptables命令的基本语法以iptables本书开始,后面跟着一个或多个选项、一个规则链、一个匹配标准级和一个目标或部署。命令的设计很大程度上取决于要执行的操作。你可以参考这个语法:

Iptables <option> <chain> <matching criteria> <target>

Iptables的特点

Iptables在处理不同种类的数据包时使用不同的规则表。这些规则表由功能上相互独立的表模块来实现。三个主要的模块是filter表、nat表和对数据包进行特殊处理的mangel表。这三个表模块都有自己相应的扩展模块,它们会在首次应用时被动态载入,除非被直接编译进内核。

Filter表是默认的表。其他的表是通过命令行选项定义的。Filter表的基本特点包括:

(未完,待续。。。)

原文地址:https://www.cnblogs.com/fhefh/p/2009494.html