原文地址:http://www.excelib.com/article/288/show

Firewalld防火墙中所使用到的命令可以分为三大类:安装卸载、维护和策略操作。

安装

在Centos7中默认已经安装了firewalld,如果需要自行安装,可以直接使用yum安装

[root@excelib.com ~]# yum install firewalld

如果需要使用图形化配置工具还需要安装firewall-config

[root@excelib.com ~]# yum install firewall-config

这样firewalld就安装完成了,不过要注意firewalld跟iptables不能同时使用,所以在使用firewalld之前首先需要将iptables停用。

维护命令

firewalld的维护相对来说是非常简单的,其命令主要分为三大类:启动停止和查询状态、设置开机自动启动以及更新规则。

启动停止和查询状态

在Centos7中默认将原来的服务管理工具service升级为了systemctl,其实原来的service只是一个脚本执行工具,而systemctl的功能非常强大,关于systemctl的详细用法大家可以阅读linux中国的一篇文章,地址是:https://linux.cn/article-5926-1.html,这篇文章写的非常详细,所以学生就不再给大家做补充了,下面来说一说怎么用它来操作firewalld。

启动

[root@excelib.com ~]# systemctl start firewalld

停止

[root@excelib.com ~]# systemctl stop firewalld

重启

[root@excelib.com ~]# systemctl restart firewalld

查询状态

[root@excelib.com ~]$ systemctl status firewalld

另外,对于firewalld来说还可以使用自身的firewall-cmd工具来查询运行状态

[root@excelib.com ~]$ firewall-cmd --state

设置开机自动启动

设置开机自动启动也是使用systemctl来操作的,命令如下

启用开机自动启动

[root@excelib.com ~]$ systemctl enable firewalld

禁用开机自动启动

[root@excelib.com ~]$ systemctl disable firewalld

查看自动启动状态

[root@excelib.com ~]$ systemctl is-enabled firewalld

当然,systemctl的这些命令不只适用于firewalld,也适用于其他服务,使用时只要将firewalld换成相应服务的名称就可以了。

更新规则

直接使用firewall-cmd修改的规则是不需要更新就可以直接生效的,但是如果加了--permanent参数,或者直接编辑xml文件之后就需要我们手动reload了,firewall-cmd提供了两个更新规则的参数:--reload和--complete-reload,前者只是更新需要更新规则,而且更新的过程中不会影响现有的连接,而后者在更新时会将所有的规则清除掉然后重建,而且为了安全考虑,在更新之前首先会将策略设置为DROP,等更新完成之后再恢复为ACCEPT,这样就会对现有连接造成影响,所以如果没有特殊需求我们应该尽量使用前者。具体命令如下

[root@excelib.com ~]# firewall-cmd --reload [root@excelib.com ~]# firewall-cmd --complete-reload

策略操作

对于firewalld来说最重要的就是策略操作了,策略操作主要有三种方法:使用firewall-config操作、使用firewall-cmd操作和直接编辑xml文件,学生在上节已经给大家介绍过了,firewall-config是图形化工具,firewall-cmd是命令行工具,我们这里主要以命令行工具为主来给大家介绍。

firewall-cmd中关于规则的命令非常多,如果在这里全部列出来再给大家解释一遍应该效果也不会太好,所以学生在后面讲到具体相关内容时再给大家讲相应的命令,比如讲到zone的时候给大家介绍跟zone相关的命令,这样大家更容易理解和记忆。

firewall-cmd中的命令虽然非常多,但是有四大类使用频率非常高的命令:--add-xxx、--remove-xxx、--query-xxx、--get-xxx以及--list-xxx,这里前两个非常容易理解,一个是添加一个是删除,而后三个从名字上就不太容易区分了,下面学生给大家解释一下。

--query-xxx主要用于布尔值的查询,比如

[root@excelib.com ~]$ firewall-cmd --zone=public --query-service=ssh

这个命令用于查询在public这个zone中是否包含ssh这个服务。

--get-xxx主要用于获取特定的内容,比如

[root@excelib.com ~]$ firewall-cmd --get-zones

这样就可以获取到预设的zones,默认情况下返回结果为

block dmz drop external home internal public trusted work

--list-xxx主要用于按一定条件进行查询(不过有的list命名也不需要条件),比如

[root@excelib.com ~]$ firewall-cmd --zone=public --list-services

这个命令可以返回public这个zone中所包含的services。

query还是比较容易理解的,但是get和list从字面上并不容易区分,刚开始学生以为get命令用于获取单个结果,list用于获取多个结果,但后来发现并不是这样。当然,我们在使用的时候按照文档中的说明来使用就可以了。

另外,在firewall-cmd中有一个比较特殊的参数:--permanent,他表示是否将修改后的规则保存下来,如果不加这个参数,那么所做的修改当时会立即生效,但是在firewalld重启之后就会丢失,而加上这个参数后所做的修改就会永久保存下来,不过这时的修改不会立即生效而是需要reload后才可以生效。其实这个也非常容易理解,当不加--permanent修改规则时firewalld会实际修改运行时的规则,而如果加了这个参数firewalld其实是去修改的xml配置文件,和我们直接编辑xml文件一样,所以就需要reload才可以生效。

参考文献

1、https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

Firewalld常用命令的更多相关文章

  1. CentOS7 firewalld防火墙 启动 关闭 禁用 添加删除规则等 常用命令

    CentOS7 firewalld防火墙 常用命令1.firewalld的基本使用启动: systemctl start firewalld关闭: systemctl stop firewalld查看 ...

  2. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  3. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  4. 【Linux】常用命令,持续更新

    Linux 一.linux的组成 内核,shell,文件系统,应用程序 二.linux目录结构 bin,sbin,home,root,boot,dev,etc,lib, 三.文件目录操作 ls,cd, ...

  5. Linux 典型应用之常用命令

    软件操作相关命令 软件包管理 (yum) 安装软件 yum install xxx(软件的名字) 如 yum install vim 卸载软件 yum remove xxx(软件的名字) 如 yum ...

  6. linux常用命令说明

    1. 基础快捷键使用 ctrl + c:停止进程 ctrl + l:清屏 ctrl + r:搜索历史命令 ctrl + q:退出 2.常用目录或文件夹命令 说明:安装linux时,创建一个itcast ...

  7. Docker for Windows(三)Docker镜像与容器的区别&常用命令

    Docker镜像(Image)是一堆只读文件(read-only layer),容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是 ...

  8. 宝塔Linux常用命令

    https://www.bt.cn/bbs/thread-1186-1-1.html 2017年3月8日发布全新架构的宝塔Linux 面板3.1Beta版,到现在的5.2.0正式版,历经100多天打磨 ...

  9. Linux(3)- 用户管理、文件与目录权限、常用命令、Linux软件包管理

    一.用户管理 现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源. 普通用户 ...

随机推荐

  1. jQuery中hover和blur使用代理delegate无效的解决方法

    今天就遇到了这样的小问题: $(document).ready(function(){ $('.status_on').hover(function(){ $(this).html('点击禁用'); ...

  2. canvas画的北斗七星和大熊座

    用canvas画的北斗七星和大熊座,主要用到的知识点是:canvas.定时器. html代码: <body> <canvas id="canvas" width= ...

  3. 解决socket负载均衡集群方案和代码实现

    有一段时间,在考虑下socket 之间集群 可以在Nginx 下可以 但是不同服务器之间怎么通讯呢 后来自己也想可不可以用什么东西或者中间件来通讯 ,后来在百度之下 发现果然就是按照我所想的 ,在网上 ...

  4. uva-11020-平衡树

    题目链接https://vjudge.net/problem/UVA-11020 白书例题,依次给出n个点的坐标,定义一个点为优势点当且仅当这个点的左下方区域不包含任何点(但可以与之完全重合):求每加 ...

  5. nyoj-5-kmp裸题

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=5 kmp统计匹配串出现次数,贼尴尬好久没做字符串题目,一开始求得是文本串的next ...

  6. Go语言实现FastDFS分布式存储系统WebAPI网关

    前言 工作需要,第一次使用 Go 来实战项目. 需求:采用 golang 实现一个 webapi 的中转网关,将一些资源文件通过 http 协议上传至 FastDFS 分布式文件存储系统. 一.Fas ...

  7. webpack相关文章

    0.https://doc.webpack-china.org/concepts/ (webpack中文文档) 1.https://segmentfault.com/a/119000000617877 ...

  8. Linux CentOS服务启动

    Linux CentOS下如何确认MySQL服务已经启动   Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconf ...

  9. jQUery 样式操作

    一.css样式操作的方法: 1..css("样式"):获得样式值,比如$("input").css("color")  获得input中字体 ...

  10. Prism5.0新内容 What's New in Prism Library 5.0 for WPF(英汉对照版)

    Prism 5.0 includes guidance in several new areas, resulting in new code in the Prism Library for WPF ...