Linux防火墙基础介绍

 在Internet中,企业通过假设各种应用程序来为用户提供各种网络服务,如Web网站、电子邮件系统、FTP服务器、数据系统等,,那么如何来保护这些服务器呢,这边就需要用到防火墙!

 linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙,基于内核编码实现,具有非常稳定的性能和极高的效率,被广泛应用。

netfilter和iptables都用来指linux防火墙,主要区别:

netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于内核态的防火墙功能体系。

iptables:指的用来管理linux防火墙的命令程序,属于用户态的防火墙管理体系。

1.iptables防火墙默认的规则表、链结构↓

4个规则表:

  • filter表:确定是否放行该数据包(过滤)
  • raw表:确定是否对该数据包进行状态跟踪
  • mangle表:为数据包设置标记
  • nat表:修改数据包中源、目标IP地址或端口

4个规则表中,mangle表和raw表的应用相对较少。

5种规则链:

  • INPUT链:处理入站数据包
  • OUTPUT链:处理出站数据包
  • FORWARD链:处理转发数据包
  • PREROUTING链:在进行路由选择前处理数据包
  • POSTROUTING链:在进行路由选择后处理数据包

iptables管理着四个默认表和五种链,各种防火墙规则依次存放在链中,那么当一个数据包到达防火墙之后,优先会怎么选择呢?

2.数据包过滤的匹配流程

一.规则表中的顺序

二.规则链之间的顺序

 当数据包经过每条规则链时,依次按第一条规则、第二条规则。。。。。的顺序进行匹配和处理。链内的过滤遵循“匹配即停止”的原则,一旦找到相匹配的规则,则不在检查本链内后续的其他规则,如果对比完整个链,找不到相匹配的规则,就按照规则链的默认策略进行处理。

语法构成:

  • iptables 【-t 表名】选项【链名】【条件】【-j控制类型】

注意:不指定表名时,默认指filter表

           不指定链名时,默认指表内的所有链

           除非设置链的默认策略,负责必须指定匹配条件

           选项、链名、控制类型使用大写,其余小写

数据包的常见控制类型:

  1. ACCEPT:允许通过
  2. DROP:直接丢弃
  3. REJECT:拒绝通过
  4. LOG:记录日志信息,然后传给下一条规则继续匹配

道阻且长,行则将至!加油! --不是冷漠
原文地址:https://www.cnblogs.com/bushilengmo/p/13442315.html