Centos7防火墙Iptables的概述

2020-08-19 11:05:02 浏览数 (1)

iptables概述:

netfilter/iptables : IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables 组成。

netfilter/iptables 关系:

netfilter 组件也称为内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。

iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。

netfilter/iptables 后期简称为:iptables。 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表。所有规则配置后,立即生效,不需要重启服务。

三张表介绍:

filter负责过滤数据包,包括的规则链有,input,output和forward;

nat则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output;

mangle表则主要应用在修改数据包内容上,用来做流量整形的,给数据包打个标识,默认的规则链有:INPUT,OUTPUT、 forward,POSTROUTING,PREROUTING;

五个链:

input匹配目标IP是本机的数据包,

output 出口数据包 , 一般不在此链上做配置

forward匹配流经本机的数据包,

prerouting用来修改目的地址,用来做DNAT 。如:把内网中的80端口映射到路由器外网端口上(路由前)

postrouting用来修改源地址用来做SNAT。 如:内网通过路由器NAT转换功能实现内网PC机通过一个公网IP地址上网。(路由后)

Raw [rɔ:]表:用于处理异常,包括的规则链有,prerouting,output; 一般使用不到。

例:查看raw表中的内容:

[root@xuegod63 ~]# iptables -t raw -L

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

表->链->规则

Iptables过滤封包流程

-->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING-->

mangle | mangle ^ mangle

nat | filter | nat

| |

| |

v |

INPUT OUTPUT

| mangle ^ mangle

| filter | nat

v---------------->local------------>| filter

总结: 整体数据包分两类: 1、发给防火墙本身的数据包;2、需要经过防火墙的数据包

当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。

如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。

本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。

如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

总结: 整体数据包分两类: 1、发给防火墙本身的数据包 ;2、需要经过防火墙的数据包

注意:规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的

0 人点赞