admin管理员组

文章数量:1638754

Linux防火墙之iptables和firewalld

一、firewalld概述

firewalld防火墙是Gentos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter网络过滤子系统(属于内核态)来实现包过滤防火墙功能。

firewalld提供了支持网络区域所定义的网络连接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥 (在某些高级服务可能会用到,比如云计算),并且拥有两种配置模式∶ 运行时配置与永久配置。

二、firewalld 与 iptables 的区别∶

1.iptables主要是基于接口,来设置规则,从而判断网络的安全性。

firewalld是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。

2.iptables 在 /etc/sysconfig/iptables 中储存配置,

firewalld 将配置储存在 /etc/firewalld/(优先加载)和 /usr/lib/firewalld/(默认的配置文件)中的各种 XML 文件里。

3.使用 iptables 每一个单独更改意味着清除所有旧日有的规则和从/etc/sysconfig/iptables 里读取所有新的规则。

使用 firewalld 却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此firewalld可以在运行时间内,改变设置而不丢失现行连接。

4、iptables防火墙类型为静态防火墙

firewalld防火墙类型为动态防火墙

**三、firewalld **

1、区域的概念∶

firewalld防火墙为了简化管理,将所有网络流量分为多个区域 (zone)。然后根据数据包的源工P地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自 己打开或者关闭的端口和服务列表。

firewalld防火墙预定义了9个区域∶

  • 1、trusted(信任区域)∶ 允许所有的传入流量。
  • 2、public (公共区域)∶ 允许与ssh或dhcpv6-client预定 义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
  • 3、external (外部区域)∶ 允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
  • 默认将通过此区域转发的IPv4传出流量将进行地址伪装, 可用于为路由器启用了伪装功能的外部网络。
  • 4、home (家庭区域)∶ 允许与ssh、ipp-client、mdns、samba-client或dhcpv6-client预定义服务JC配的传入流量,其余均拒绝。
  • 5、internal(内部区域) 默认值时与home区域相同。
  • 6、work (工作区域)∶允许与 ssh、ipp-client、dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
  • 7、dmz (隔离区域也称为非军事区域)∶ 允许与 ssh 预定义服务匹配的传入流量,其余均拒绝。
  • 8、block(限制区域)∶拒绝所有传入流量。
  • 9、drop(丢弃区域)∶丢弃所有传入流量,并且不产生包含 ICMP的错误响应。

最终一个区域的安全程度是取决于管理员在此区域中设置的规则。

区域如同进入主机的安全门, 每个区域都具有不同限制程度的规则, 只会允许符合规则的流量传入。

可以根据网络规模,使用一个或多个区域, 但是任何一个 活跃区域 至少需要关联 源地址或接 口。

默认情况下,public区域是默认区域,包含所有接口 (网卡)

2、firewalld数据处理流程

firewalld对于进入系统的数据包,会根据数据包的源IP地址或传入的网络接口等条件,将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

firewalld检查数据包的源地址的规则∶

  • 1.若源地址关联到特定的区域(即源地址或接口绑定的区域有冲突),则执行该区域所制定的规则。
  • 2.若源地址未关联到特定的区域(即源地址或接口绑定的区域没有冲突),则使用传入网络接口的区域并执行该区域所制定的规则。
  • 3.若网络接口也未关联到特定的区域(即源地址或接口都没有绑定特定的某个区域),则使用默认区域并执行该区域所制定的规则。

3、Firewalld防火墙的配置方法

运行时配置

●实时生效,并持续至Firewalld重新启动或重新加载配置

●不中断现有连接●不能修改服务配置

■永久配置

●不立即生效,除非Firewalld重新启动或重新加载配置

●中断现有连接

●可以修改服务配置

  • 1、使用firewall-cmd 命令行工具。
  • 2、使用firewall-config 图形工具。
  • 3、编写/etc/firewalld/中的配置文件。 systemctl start firewalld.service

四、iptables

iptables概述

  • netfilter./iptables:IP信息包过滤系统,它实际上由两个组件netfilter和iptables组成。
    主要工作在网络层,针对IP数据包,体现在对包内的IP地址、端口等信息的处理。
  • netfilter/iptables关系:
    netfilter:属于"内核态"又称内核空间(kernel space)的防火墙功能体系。
    linux好多东西都是内核态用户态,那我们运维人员关注的是用户态,
    内核我们关注不是很多,内核基本是我们开发人员关心的事情,
    是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。
  • iptables:属于"用户态"(User Space,又称为用户空间)的防火墙管理体系。
    是一种用来管理Linux防火墙的命令程序,它使插入、修改和删除数据包过滤表中的规则变得容易,通常位于/sbin/iptables目录下。
  • netfilter./iptables,后期简称为iptables。iptables:是基于内核的防火墙,其中内置了raw、mangle、nat和filter
    四个规则表。表中所有规则配置后,立即生效,不需要重启服务。

1、iptables表链结构

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

iptables会对请求的数据包的包头数据进行分析,根据我们预先设定的规则进行匹配来决定是否可以进入主机。其中,每个规则表相当于内核空间的一a个容器,

本文标签: 防火墙Linuxiptablesfirewalld