CentOS 7防火墙服务FirewallD指南

作者:chszs,未经博主同意不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs

防火墙是一种位于内部网络与外部网络之间的网络安全系统。

一项信息安全的防护系统。按照特定的规则,同意或是限制传输的数据通过。防火墙通常工作在网络层。也即IPv4或IPv6的IP包上。

是否同意包通过防火墙,取决于防火墙配置的规则。这些规则既能够是内建的,也能够是用户自己定义的。

每一个包要进出防火墙,均须要满足防火墙配置的规则。

每一条规则均有一个目标动作,具有同样动作的规则能够分组在一起。对于Linux系统。最经常使用的防火墙有:FirewallD或iptables。Linux的发行版种类极多,可是公认的仍然是这两种。

1、什么是FirewallD

FirewallD即Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器。

FirewallD是一个服务。用于配置网络连接。从而哪些内外部网络的数据包能够同意穿过网络或阻止穿过网络。

FirewallD同意两种类型的配置:永久类型和执行时类型。

执行时类型的配置在防火墙被重新启动后会丢失对应的规则配置;而永久类型的配置即使遇到系统重新启动,也会保留生效。

对应于上面两种类型的配置,FirewallD对应的有两个文件夹:针对执行时类型配置的文件夹/usr/lib/firewall;以及针对永久类型配置的文件夹/etc/firewall.在RHEL/CentOS 7或Fedora 18的默认服务能够看到。

防火墙栈的总体图例如以下:

2、什么是iptables

iptables是还有一种服务,它能够决定是否同意、删除或返回IP数据包。iptables服务管理IPv4数据包,而ip6tables则管理IPv6数据包。此服务管理了一堆规则表,当中每一个表分别用于维护不同的目的,比方过滤表(filter table)为防火墙规则,NAT表供新连接查询使用,mangle表用于数据包的转换等。

更进一步,每一个表还具有规则链,规则链能够是内建的或是用户自己定义的,它表示适用于一个数据包的规则集合,从而决定数据包应该执行哪些目标动作。比方同意ALLOWED、堵塞BLOCKED或返回RETURNED。

iptables服务在RHEL/CentOS 6/5、Fedora、ArchLinux、Ubuntu等Linux发行版中是系统默认的服务。

3、FirewallD服务的基本操作

对于CentOS/RHEL 7或Fedora 18以上版本号的系统,要管理FirewallD服务。使用例如以下命令。

启动FirewallD服务

# systemctl firewalld start

停止FirewallD服务

# systemctl firewalld stop

检查FirewallD服务的状态

# systemctl status firewalld

检查FirewallD服务的状态

# firewall-cmd --state

可能会返回running。表示正在执行。

还能够禁用FirewallD服务。关闭那些规则。

禁用FirewallD服务

# systemctl disable firewalld

启用FirewallD服务

# systemctl enable firewalld

屏蔽FirewallD服务

# systemctl mask firewalld

还能够通过创建一个firewall.service到/dev/null的符号连接来屏蔽防火墙服务。

反屏蔽FirewallD服务

# systemctl unmask firewalld

这是反屏蔽FirewallD服务,它会移除屏蔽FirewallD服务时创建的符号链接。故能又一次启用服务。

检查是否已安装防火墙

# yum install firewalld firewall-config

4、iptables服务的基本操作

在RHEL/CentOS 6/5/4系统和Fedora 12-18系统中。iptables是默认的防火墙,假设服务不存在,能够这样安装:

# yum install iptables-services

然后就能够对iptables服务进行启动、停止、重新启动等操作了。

启动iptables服务

# systemctl start iptables

# service iptables start

停止iptables服务

# systemctl stop iptables

# service iptables stop

禁用iptables服务

# systemctl disable iptables

# service iptables save
# service iptables stop

启用iptables服务

# systemctl enable iptables

# service iptables start

检查iptables服务的状态

# systemctl status iptables

# service iptables status

在Ubuntu及其它Linux发行版中。ufw是用于管理iptables防火墙服务的工具。

ufw提供了一个简易的界面让用户能够非常方便的处理iptables防火墙服务。

启用ufw iptables防火墙服务

$ sudo ufw enable

禁用ufw iptables防火墙服务

$ sudo ufw disable

检查ufw iptables防火墙服务的状态

$ sudo ufw status

可是。假设想列出iptables包括的全部规则链列表,应使用例如以下命令:

$ iptables -L -n -v

5、理解网络区

在CentOS/RHEL 7系统中。基于用户对网络中设备和通信所给与的信任程度,防火墙可用于将网络划分成不同的区域,区域类型例如以下:

  • drop(丢弃)

    不论什么接收的网络数据包都被丢弃,没有不论什么回复。仅能有发送出去的网络连接。
  • block(限制)

    不论什么接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。

  • public(公共)

    在公共区域内使用,不能相信网络内的其它计算机不会对您的计算机造成危害,只能接收经过选取的连接。
  • external(外部)

    特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其它计算机,不能相信它们不会对您的计算机造成危害。只能接收经过选择的连接。

  • dmz(非军事区)

    用于您的非军事区内的电脑,此区域内可公开訪问,能够有限地进入您的内部网络,只接收经过选择的连接。
  • work(工作)

    用于工作区。

    您能够基本相信网络内的其它电脑不会危害您的电脑。只接收经过选择的连接。

  • home(家庭)

    用于家庭网络。

    您能够基本信任网络内的其它计算机不会危害您的计算机。

    只接收经过选择的连接。

  • internal(内部)

    用于内部网络。您能够基本上信任网络内的其它计算机不会威胁您的计算机。只接受经过选择的连接。

  • trusted(信任)

    可接受全部的网络连接。

对于区域的改动。可使用网络管理器NetworkManager搞定。

5、理解直接接口

FirewallD包括了一个名为直接接口(direct interface)的概念,意思是能够直接通过iptables、ip6tables和ebtables的规则。直接接口适用于应用程序,不适用于用户。

假设不熟悉iptables,那么使用直接接口是非常危急的。由于可能会导致防火墙被入侵。

FirewallD保持对所添加规则项的追踪,所以能质询FirewallD。发现由使用直接port模式的程序造成的更改。要使用直接port。添加–direct选项到firewall-cmd命令来使用。

6、改用iptables服务

在CentOS/RHEL 7系统中,要用iptables和ip6tables服务取代FirewallD服务,须要以root身份执行下面命令,先禁用FirewallD:

# systemctl disable firewalld
# systemctl stop firewalld

然后安装iptables-services程序包,以root身份输入下面命令:

# yum install iptables-services

iptables-services程序包包括了iptables和ip6tables服务。然后。以root身份执行iptables和ip6tables命令:

# systemctl start iptables
# systemctl start ip6tables
# systemctl enable iptables
# systemctl enable ip6tables

7、启动图形化防火墙设置工具

用命令行启动图形化防火墙配置工具。则以root用户身份输入下面命令:

# firewall-config

能够看到例如以下界面:

CentOS 7防火墙服务FirewallD指南的更多相关文章

  1. Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...

  2. Centos 的防火墙(firewalld,iptables)

    Centos系统防火墙介绍 概述: 1.Filewalld(动态防火墙)作为redhat7系统中变更对于netfilter内核模块的管理工具: 2.iptables service 管理防火墙规则的模 ...

  3. CentOS 7 打开关闭FirewallD防火墙端口命令

    CentOS 7 使用firewalld代替了原来的iptables,使用方法如下: >>>关闭防火墙 systemctl stop firewalld.service        ...

  4. 关于centOS 7的服务启动,端口查询,防火墙管理

    端口的查询与开启 CentOS 7 默认没有使用iptables,所以通过编辑iptables的配置文件来开启80端口是不可以的CentOS 7 采用了 firewalld 防火墙 如要查询是否开启8 ...

  5. 腾讯云服务器CentOS 7防火墙firewalld管理

    在腾讯云上买了个服务器(centOS7),部署了Tomcat(8080),Apache(80),MySQL(3306)等,一开始按照百度教程配置是把防火墙关闭了的.最近一段时间服务器总是莫名的被人修改 ...

  6. 在 CentOS 8 上使用 FirewallD 设置防火墙

    简介 一个 Linux 防火墙可用于保护您的工作站或服务器免受不需要的流量干扰.您可以设置规则来阻止或允许流量通过.CentOS 8 带有一个动态的.可定制的基于主机的防火墙和一个 D-Bus 接口. ...

  7. CentOS 7.0关闭服务器的防火墙服务命令

    1.直接关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall ...

  8. CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙

    CentOS 7.0 关闭firewalld防火墙指令 及更换Iptables防火墙 时间:2014-10-13 19:03:48  作者:哎丫丫  来源:哎丫丫数码网  查看:11761  评论:2 ...

  9. 5招详解linux之openEuler /centos7防火墙基本使用指南

    防火墙是一种防火墙管理解决方案,可用于许多 Linux 发行版,它充当 Linux 内核提供的 iptables 数据包筛选系统的前端.在本指南中,将介绍如何为服务器设置防火墙,并向你展示使用管理工具 ...

随机推荐

  1. Vue 路由知识二(工程模式下路由的配置)

    vue-router是一个插件包,所以我们还是需要用npm/cnpm来进行安装的:npm/cnpm install vue-router --save-dev. 在路由的核心文件:src/router ...

  2. (转) 淘淘商城系列——使用FastDFS-Client客户端进行上传图片的测试

    http://blog.csdn.net/yerenyuan_pku/article/details/72804018 不久之前,我们实现了商品的类目选择这个功能,但这只是万里长征的第一步,我们还有很 ...

  3. VC++检测硬件设备状态

    首先捕捉WM_DEVICECHANGE消息,该消息在usb插拔时均有触发. MFC下 添加消息处理函数afx_msg BOOL OnDeviceChange( UINT nEventType, DWO ...

  4. 01CSS使用方法

    CSS使用方法 内联定义 内联定义即是在对象的标记内使用对象的style属性定义适用其的样式表属性. 内部样式表 <style type="text/css"></style> ...

  5. B3. Cocurrent 线程的状态

    [概述] 1). java.lang.Thread 类中定义了一个枚举 State, 定义了线程的六种状态:NEW.RUNNABLE.BLOCKED.WAITING.TIMED_WAITING.TER ...

  6. PLSQL连接Oracle 报错ORA-12154:TNS:无法解析指定的连接标识符

    原因是图中第三行数据库应该填ip地址,我填了数据库名! 之前不懂原理,现来填坑,并不是应该填ip,而是填tnsname.ora中配置的名字(红框部分) ​

  7. 笔试算法题(17):奇偶数分置数组前后段 & 反序访问链表

    出题:输入一个数组,要求通过交换操作将奇数索引的元素调整到数组前半部分,偶数索引的元素调整到数组后半部分: 分析: 当然如果没有额外要求的话很容易实现,最好使用In-Place的实现策略:考虑插入排序 ...

  8. 笔试算法题(01):字符串倒置 & 八皇后问题

    出题:将字符串“ABCD1234efgh”进行前后对调: 分析: 常见的考查指针使用的案例,知道字符串长度之后,依次交换位置i以及位置(length-1-i)上的内容,直到重叠: 注意不能直接修改指针 ...

  9. Python学习-列表的修改,删除操作

    列表的修改操作 列表中的许多操作和字符串中有许多的相同点,因为列表是一个有顺序可变的元素集合,所以在列表中可以进行增加,删除,修改,查找的操作. 列表的修改操作: 如果你想单个修改列表中的某一个元素, ...

  10. Linux 下 Jenkins安装

    Jenkins介绍 Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 安装环境 操作系统:lin ...