iptables 防火墙(一)

本文详细介绍了Linux防火墙iptables的表、链结构,包括四表四链的概念和匹配流程。讲解了如何编写防火墙规则,如基本语法、控制类型以及规则管理选项。此外,还探讨了规则的匹配条件,包括通用匹配、隐含匹配和显式匹配,如协议、地址、端口等。通过本文,读者将深入理解iptables的工作原理和配置方法。
摘要由CSDN通过智能技术生成

目录

前言

一、概述

二、 iptables 的表、链结构

1、概念

2、四表(规则表)

3、五链(规则链)

4、数据包过滤的匹配流程

4.1  规则表应用顺序

4.2  规则链之间的顺序

4.3  规则链内的匹配顺序

三、编写防火墙规则

1、iptables 命令基本语法

2、数据包的常见控制类型

3、iptables 命令的常用管理选项

3.1  添加新的规则

3.2  查看规则列表

3.3  删除、清空规则

3.4  设置默认策略

四、规则的匹配条件

1、分类

2、 通用匹配

2.1  协议匹配

2.2   地址匹配

2.3   网络接口匹配

3、隐含匹配

3.1   端口匹配

3.2   TCP标记匹配

3.3   ICMP类型匹配

4、显式匹配

4.1  多端口匹配

4.2   IP范围匹配

4.3   MAC地址匹配

4.4   状态匹配

总结


 

前言

在Internet中,通过架设各种服务器为用户提供各种网络服务,怎样保护这些服务器,过滤恶意的访问、入侵呢?这里主要介绍Linux系统中的防火墙——netfilter和iptables,包括防火墙的结构和匹配流程,以及如何编写防火墙规则 。

一、概述

 Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包进行过滤和限制,属于典型的包过滤防火墙。它基于内核编码实现,具有非常稳定的性能和高效率,也因此得到了广泛的应用。netfilter和iptables都可以用来指Linux防火墙,它们的区别如下:

netfilter:在Linux内核中实现防火墙的内部结构,不以文件或程序的形成存在,属于“内核态”的防火墙功能体系。

iptables:用来管理Linux防火墙的命令程序,通常位于/sbin/iptables目录下,属于“用户态”的防火墙管理体系。

二、 iptables 的表、链结构

1、概念

iptables的作用是为包过滤机制的实现提供规则,通过各种不同的规则,告诉netfilter对来自某些源,前往某些目的或具有某些协议特征的数据包应该如何处理,为了更加方便的组织和管理防火墙规则,iptables采用了表和链的分层结构。

2、四表(规则表)

raw:主要用来决定是否对数据包进行状态跟踪 包含两个规则链,OUTPUT、PREROUTING。

mangle :  修改数据包内容,用来做流量整形的,给数据包设置标记。包含五个规则链,INPUT、 OUTPUT、 FORWARD、 PREROUTING、 POSTROUTING。

nat:负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。包含三个规则链,OUTPUT、PREROUTING、POSTROUTING。

filter:负责过滤数据包,确定是否放行该数据包(过滤)。包含三个链,即PREROUTING、POSTROUTING、OUTPUT。

规则表的作用:容纳各种规则链;    

表的划分依据:防火墙规则的作用相似。

3、五链(规则链)

INPUT:  处理入站数据包,匹配目标IP为本机的数据包。

OUTPUT:  处理出站数据包,一般不在此链上做配置。

FORWARD:  处理转发数据包,匹配流经本机的数据包。

PREROUTING链:  在进行路由选择前处理数据包,用来修改目的地址,用来做DNAT。

POSTROUTING链:  在进行路由选择后处理数据包,用来修改源地址,用来做SNAT。

规则链的作用:容纳各种防火墙规则;

规则的作用:对数据包进行过滤或处理 ;

链的分类依据:处理数据包的不同时机

4、数据包过滤的匹配流程

4.1  规则表应用顺序

raw→mangle→nat→filter

4.2  规则链之间的顺序

入站数据:当外界的数据包到达防火墙时,首先被PREROUTING链处理,然后进行路由选择,如果数据包的目标地址是本机,那么就将其传递给INPUT链进行处理,通过以后交给上层的应用程序进行响应。(PREROUTING --> INPUT --> 本机的应用程序)

转发数据:当外界的数据包到达防火墙时,首先被PREROUTING链处理,然后进行路由选择,如果数据包的目标地址是其他外部地址,则将其传递给FORWARD链进行处理,最后交给POSTROUTING链进行处理。(PREROUTING --> FORWARD --> POSTROUTING)

出站数据:防火墙本机向外部发送数据包时,首先被OUTPUT链处理,然后进行路由选择,再交给POSTROUTING链进行处理。(本机的应用程序-->OUTPUT-.>POSTROUTING)

4.3  规则链内的匹配顺序

自上向下按顺序依次进行检查,找到相匹配的规则即停止(LOG策略例外,表示记录相关日志),
若在该链内找不到相匹配的规则,则按该链的默认策略处理。

三、编写防火墙规则

1、iptables 命令基本语法

基本的命令格式:

iptables  [-t 表名]  管理选项  [链名]  [匹配条件]  [-j 控制类型]

表名、链名:用来指定 iptables 命令所操作的表和链,未指定表名时将默认使用 filter 表;

管理选项: 表示iptables规则的操作方式,如插入、增加、删除、查看等;

匹配条件: 用来指定要处理的数据包的特征,不符合指定条件的数据包将不会处理;

控制类型:指的是数据包的处理方式,如允许、拒绝、丢弃等。

2、数据包的常见控制类型

 ACCEPT:允许数据包通过。 
 DROP:直接丢弃数据包,不给出任何回 应信息。 
 REJECT:拒绝数据包通过,必要时会给数据发送端一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值