文章目录
-
- 服务器防火墙软件——iptables
-
- 一、iptables概述
- 二、iptables的表、链结构
-
- 2.1 表、链分类
- 2.2 数据包过滤的匹配流程
-
- 2.2.1 数据包在规则表和链直接的匹配流程
- 三、配置iptables规则
-
- 3.1 安装iptables
- 3.2 配置命令
-
- 3.2.1 常用控制类型
- 3.2.2 常用控制选项
- 3.2.3 添加新的规则
- 3.2.4 查看规则列表
- 3.2.5 删除和清空规则
- 3.3.6 设置默认策略
- 3.3 规则的匹配条件
-
- 3.3.1 通用匹配
- 3.3.2 隐含匹配
- 3.3.3 显式匹配
- 四、NAT策略及应用
-
- 4.1 SNAT概述
-
- 4.1.1 SNAT 配置
- 4.3 DNAT概述
-
- 4.3.1 DNAT配置
- 4.4 NAT配置实验
-
- 4.4.1 配置SNAT
- 4.4.2 配置DNAT
服务器防火墙软件——iptables
一、iptables概述
**netfilter/iptables:**IP 信息包过滤系统,它实际上由两个组件 netfilter 和 iptables组成。
主要工作在 络层,针对IP数据包,体现在对包内的IP地址、端口等信息的处理。
netfilter/iptables关系:
**netfilter:**属于“内核态”又称内核空间(kernel space)的防火墙功能体系。是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
**iptables ??*属于“用户态”(User Space, 又称为用户空间)的防火墙管理体系。是一种用来管理Linux防火墙的命令程序,它使插入、修改和删除数据包过滤表中的规则变得容易,通常位于/sbin/iptables目录下。netfilter/iptables后期简称为iptables。iptables是基于内核的防火墙,其中内置了raw、mangle、 nat和filter四个规则表。表中所有规则配置后,立即生效,不需要重启服务。
二、iptables的表、链结构
? iptables的作用是为包过滤机制的实现提供规则,通过各种不同的规则,告诉netfilter对来自某些源,前往某些目的或具有某些协议特征的数据包应该如何处理,为了更加方便的组织和管理防火墙规则,iptables采用了表和链的分层结构,所以它会对请求的数据包的包头数据进行分析,根据我们预先设定的规则进行匹配来决定是否可以进入主机,其中,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默认的四个表,在每个表容器内又包括不同的规则链,根据处理数据包的不同时机划分为五种链
规则表的作用:容纳各种规则链;表的划分依据防火墙规则作用
规则链的作用:容纳各种防火墙规则;用于对数据包进行过滤和处理,链按照处理数据包的不同时机分。
2.1 表、链分类
**入站数据流向:**来自外界的数据包到达防火墙后,首先被 PREROUTING 链处理(是否修改数据包地址等),然后进行路由选择;如果数据包的 目标地址是防火墙本机(,那么内核将其传递给 INPUT 链进行处理(决定是否允许通过等),然后根据目的地址进行发送。
**出站数据流向:**防火墙本机向外部地址发送的数据包,首先进行路由选择,确定了输出路径后,再经由 OUTPUT 链处理,最后再交 POSTROUTING 链进行处理。
**转发数据流向:**来自外界的数据包到达防火墙后,首先被 PREROUTING 链处理,然 后再进行路由选择;如果数据包的目标地址是其他外部地址,则内核将其传递给 FORWARD 链进行处理,最后交给 POSTROUTING 链进行处理。
三、配置iptables规则
3.1 安装iptables
3.2 配置命令
3.2.1 常用控制类型
3.2.2 常用控制选项
3.2.3 添加新的规则
例:若要在 filter 表 INPUT 链的末尾添加一条防火墙规则和指定在第2行插入规则
3.2.5 删除和清空规则
删除一条防火墙规则时,使用管理选项“-D”。
注意:
- 若规则列表中有多条相同的规则时,按内容匹配只删除的序 最小的一条
- 按 码匹配删除时,确保规则 码小于等于已有规则数,否则 错
- 按内容匹配删数时,确保规则存在,否则 错
3.3.6 设置默认策略
iptables 的各条链中,默认策略是规则匹配的最后一个环节——当找不到任何一条能够匹配数据包的规则时,则执行默认策略。默认策略的控制类型为 ACCEPT(允许)、DROP(丢弃)两种。例如,执行以下操作可以将 filter 表中 FORWARD 链的默认策略设为丢弃, OUTPUT 链的默认策略设为允许。
3.3.2 隐含匹配
要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类型等条件。
例:
3.3.3 显式匹配
要求以“-m扩展模块”的形式明确指出类型,包括多端口、MAC地址、IP范围、数据包状态等条件。
多端口匹配:
例:
IP范围匹配:
例:
MAC地址匹配:
例:
状态匹配:
例:
四、NAT策略及应用
4.1 SNAT概述
SNAT 应用环境: 局域 主机共享单个公 IP地址接入Internet (私有IP不能在Internet中正常路由)
SNAT原理: 源地址转换,根据指定条件修改数据包的源IP地址,通常被叫做源映谢
SNAT转换前提条件:
- 局域 各主机已正确设置IP地址、子 掩码、默认 关地址
- Linux 关开启IP路由转发
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!