1、firewalld简介
firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念

firewalld有图形界面和工具界面,由于我在服务器上使用,图形界面请参照官方文档,本文以字符界面做介绍

firewalld的字符界面管理工具是 firewall-cmd

firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

zone概念:
硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域(根据文档自己理解,如果有误请指正):
drop:默认丢弃所有包
block:拒绝所有外部连接,允许内部发起的连接
public:指定外部连接可以进入
external:这个不太明白,功能上和上面相同,允许指定的外部连接
dmz:和硬件防火墙一样,受限制的公共连接可以进入
work:工作区,概念和workgoup一样,也是指定的外部连接允许
home:类似家庭组
internal:信任所有连接
对防火墙不算太熟悉,还没想明白public、external、dmz、work、home从功能上都需要自定义允许连接,具体使用上的区别还需高人指点

2、安装firewalld
root执行 # yum install firewalld firewall-config

3、运行、停止、禁用firewalld
启动: # systemctl start firewalld
查看状态: # systemctl status firewalld 或者 firewall-cmd --state
停止: # systemctl disable firewalld
禁用: # systemctl stop firewalld

4、配置firewalld
查看版本: $ firewall-cmd --version
查看帮助: $ firewall-cmd --help
查看设置:
显示状态: $ firewall-cmd --state
查看区域信息: $ firewall-cmd --get-active-zones
查看指定接口所属区域: $ firewall-cmd --get-zone-of-interface=eth0
拒绝所有包: # firewall-cmd --panic-on
取消拒绝状态: # firewall-cmd --panic-off
查看是否拒绝: $ firewall-cmd --query-panic

更新防火墙规则: # firewall-cmd --reload
# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务

将接口添加到区域,默认接口都在public

# firewall-cmd --zone=public --add-interface=eth0

永久生效再加上 --permanent 然后reload防火墙

设置默认接口区域

# firewall-cmd --set-default-zone=public

立即生效无需重启

打开端口(貌似这个才最常用)
查看所有打开的端口:

# firewall-cmd --zone=dmz --list-ports

加入一个端口到区域:

# firewall-cmd --zone=dmz --add-port=8080/tcp

若要永久生效方法同上

打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹

# firewall-cmd --zone=work --add-service=smtp

移除服务

# firewall-cmd --zone=work --remove-service=smtp

示例代码:

# 查看public区域的所有开放的端口信息
[root@centos77 ~]# firewall-cmd --zone=public --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp# 查看dmz区域的所有开放的端口信息
[root@centos77 ~]# firewall-cmd --zone=dmz --list-ports
# 查看home区域的所有开放的端口信息
[root@centos77 ~]# firewall-cmd --zone=home --list-ports[root@centos77 ~]# firewall-cmd --zone=public --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp[root@centos77 ~]# firewall-cmd --zone=public --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp
#默认端口信息查询以及添加都是添加到激活的区域中,默认的是public区域
[root@centos77 ~]# firewall-cmd --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp[root@centos77 ~]# firewall-cmd --add-port=7777/tcp
success
[root@centos77 ~]# firewall-cmd --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp 7777/tcp# 删除默认激活的区域端口 或者添加zone指定区域事项。
[root@centos77 ~]# firewall-cmd --remove-port=7777/tcp
success
# 查询默认区域的端口事项
[root@centos77 ~]# firewall-cmd --list-ports
20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcp
[root@centos77 ~]#设置默认接口区域
# firewall-cmd --set-default-zone=public--get-default-zone #查询当前默认区域。[root@centos77 ~]# firewall-cmd --list-all# 显示默认区域的所有信息
[root@centos77 ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources:services: dhcpv6-client ssh telnetports: 20/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 9999/tcpprotocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:

表格内容信息:

firewall-cmd常用命令:

简明firewalld不断的更新中....相关推荐

  1. 图像处理-机器学习一些科普材料汇集 - 持续更新中_拔剑-浆糊的传说_新浪博客...

    图像处理-机器学习-SLAM基础知识汇集(更新中) --by zxg519 at sina.com 1.适用于机器学习的矩阵求导推导技巧 1.矩阵求导术(上)-- 非常好 https://zhuanl ...

  2. 个人知识库(持续更新中)

    打造一个属于自己的知识库 为什么会有这个知识库 四大件 数据结构与算法 计算机网络 操作系统 计算机组成原理 基础知识 JavaSE 数据库 Java Web SSM框架 微服务开发 Linux运维 ...

  3. linux vim 命令无效,【工匠大道】一些Vim(Linux)不常见但很逼格的命令(不断更新中)...

    分享提纲: 普通的vim的移动,编辑等命令就不再赘述.这里主要是记录一些不常见但是很逼格的命令,使你瞬间感到精神为之一振的命令 1. :Tlist 1)该命令是列出当前文件中的类名,变量名和函数名,移 ...

  4. linux运维常用命令一句话(持续更新中)

    整理收集一些Linux运维管理.系统管理的常用命令,太多了记不住,只能记录下来方便日后查看.也可以和大家分享.如果你有好的一句话命令也贴出来吧.本文持续更新中. 1.linux启动过程 开启电源 -- ...

  5. 深入理解JS的面向对象(更新中)

    面向对象是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理结构.CAD技术.人工智能等领域.面向对象是一种对现实世 ...

  6. .NET Core微服务之路:不断更新中的目录 (v0.42)

    原文:.NET Core微服务之路:不断更新中的目录 (v0.42) 微服务架构,对于从事JAVA架构的童鞋来说,早已不是什么新鲜的事儿,他们有鼎鼎大名的Spring Cloud这样的全家桶框架支撑, ...

  7. 初学Oracle的笔记(2)——基础内容(实时更新中..)

    续 初学Oracle的笔记(1)--基础内容(实时更新中..) 1.oracle中创建一张表,写法与sql server中的一样. SQL> create table Course 2 ( cn ...

  8. db2dual_DB2常用SQL的写法(持续更新中...)

    DB2常用SQL的写法(持续更新中...) -- Author: lavasoft -- Date  :  2006-12-14 -- 创建一个自定义单值类型 create  distinct typ ...

  9. linux的网络命令整理 更新中

    linux的网络命令整理 更新中 1.安装包: net-tools 主要命令: netstat , ifconfig , route , iptunnel iproute 主要命令: ss , ip ...

  10. 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22)

    [STM32-V7]STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2020-07-22) 参考文章: (1)[STM32-V7]STM32H743XIH6开 ...

最新文章

  1. Celery 框架学习笔记
  2. Linux根文件系统介绍
  3. 27.13. flock - manage locks from shell scripts
  4. C# 连接SQL数据库以及操作数据库
  5. 一个没法商用,但是好玩有趣的 Python 手绘图形库!
  6. (原+译)使用numpy.savez保存字典后读取的问题
  7. 如何轻松记忆Linux文件系统层次结构
  8. autojs 云控_autojs websocket 核心示例代码,云控技术
  9. spark环境搭建java_Spark MLlib 环境搭建超详细教程
  10. 腾讯广告的多媒体AI技术实战
  11. python爬取网页文本_手把手教你如何用Python爬取网站文本信息
  12. 企业可视化大屏如何搭建
  13. Win7 启用 Telnet 功能
  14. Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能
  15. TinyWeb--C++构建高性能Web服务器
  16. 学习笔记之——基于深度学习的分类网络
  17. 主仆渡河问题 ----python
  18. EndNote仅修改一处引文格式为作者(年代)即Author(Date)的方法
  19. Android TextView自动调整字体大小(官方)
  20. [词根词缀]fact/fug/fuse/词源知识F的内容

热门文章

  1. Oracle数据库性能优化的艺术pdf
  2. 构建根文件系统之启动第一个程序(韦大仙)
  3. 自编基于jQuery实现分页插件
  4. mysql存储过程中的异常处理
  5. MedianBlur(中值滤波/百分比滤波器)
  6. 组合模式与职责链模式编程实现
  7. 智能优化算法:头脑风暴优化算法-附代码
  8. MFC字符串CString分割函数 简洁 C++
  9. 第三章——空间域处理方法
  10. 二、CGS2000坐标系