Centos7 防火墙iptables?
文章目录
1. 介绍
在centos7中,有几种防火墙共存:firewald , iptables . 默认情况下,CentOS是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables
2. firewalld 和 iptables区别
-
firewalld 可以动态修改单挑规则,而不像iptables那样,在修改了规则后必须全部刷新才可以生效。
-
firewalld在使用上比iptables人性化很多,即使不明白"五张表五条链"而且对TCP/IP协议也不理解也可以实现大部分功能。
-
firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认每个服务是允许,需要拒绝才去限制。
-
firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和iptables一样,他们的作用是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
3. 区域管理概念
区域管理
通过将网络划分成不同的区域,制定不同区域之间的访问控制策略来控制不同程序间传送的数据流。例如,互联网不是可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。
有如下几种不同的初始化区域:
阻塞区域(block):任何传入的网络数据包都将被阻止
工作区域(work):相信网络上的其他计算机,不会损害你的计算机
家庭区域(home):相信网络上的其他计算机,不会损害你的计算机
公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接
隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
信任区域(trusted):所有的网络连接都可以接受
丢弃区域(drop):任何传入的网络连接都被拒绝
内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接
外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接
注:Firewalld的默认区域是public
firewalld默认提供了九个zone配置文件:block.xml、dmz.xml、drop.xml、external.xml、 home.xml、internal.xml、public.xml、trusted.xml、work.xml,他们都保存在“/usr/lib /firewalld/zones/”目录下。
4.iptables的配置
1.简述
iptables防火墙由Netfilter项目(http://www.netfilter.org) 开发,自2001年1月在Linux2.4内核发布以来就是Linux的一部分了。
Netfilter是由Linux提供的所有包过滤和包修改设施的官方项目名称,但这个术语同时也指Linux内核的一个框架,他可以用于在不同的阶段将函数挂接(hook)进网络栈。另一方面,iptables使用Netfilter框架指在将对数据包进行操作(如过滤)的函数挂接进网络栈。
所以,你可以认为Netfilter提供了一个框架,而iptables在它之上建立了防火墙功能