firewalld是centos7默认的防火墙,相比于iptables重要的优势:

1 支持动态更新;

2 不用重启服务;

同时增加了防火墙的“zone”概念,具体差异没做过多了解,这篇文章只记录firewalld简单学习历程

centos7默认安装的就是firewalld,默认的public中开启dhcpv6-client ssh这两个服务,这也就是当装完centos7后启动nginx 80端口拒绝连接,我们却找不到iptables命令的原因。

启动、关闭、重启firewalld服务命令:

$ systemctl start firewalld
$ systemctl stop firewalld
$ systemctl restart firewalld
$ firewall-cmd --state # 查看firewalld运行情况

其他可查阅systemctl命令。

规则管理命令

$ firewall-cmd --panic-on           # 丢弃
$ firewall-cmd --panic-off # 取消丢弃
$ firewall-cmd --query-panic # 查看丢弃状态
$ firewall-cmd --reload # 更新规则,不重启服务
$ firewall-cmd --complete-reload # 更新规则,重启服务

firewalld zone区域是新引入的概念,Firewall 能将不同的网络连接归类到不同的信任级别,Zone 提供了以下几个级别

  • drop: 丢弃所有进入的包,而不给出任何响应
  • block: 拒绝所有外部发起的连接,允许内部发起的连接
  • public: 允许指定的进入连接
  • external: 同上,对伪装的进入连接,一般用于路由转发
  • dmz: 允许受限制的进入连接
  • work: 允许受信任的计算机被限制的进入连接,类似 workgroup
  • home: 同上,类似 homegroup
  • internal: 同上,范围针对所有互联网用户
  • trusted: 信任所有连接

firewalld-cmd 支持动态更新,修改更新操作默认为立刻生效,--permanent参数配合重新加载实现永久生效

对应zone常用的命令:

$ firewall-cmd --list-all-zone #获取全部zone
$ firewall-cmd --get-active-zone  #获取活跃的zone
$ firewall-cmd --get-default-zone  #获取默认的zone
$ firewall-cmd --set-default-zone=work  #修改默认的zone
$ firewall-cmd --zone=work --change-interface=eno16777736  #修改网卡关联的zone
$ firewall-cmd --zone=public --list-all  #查询zone=public配置信息

服务管理

$ firewall-cmd --zone=work --add-service=smtp
$ firewall-cmd --zone=work --remove-service=smtp
$ firewall-cmd --get-service

端口号管理

$ firewall-cmd --zome=dmz --list-ports
$ firewall-cmd --zone=dmz --add-port=8080/tcp
$ firewall-cmd --zome=public --add-port=8080-8090/udp

firewalld 有一个被称为 “direct interface”(直接接口),它可以直接通过 iptablesip6tablesebtables 的规则。它适用于应用程序,而不是用户。如果您不太熟悉 iptables,那么使用直接接口是很危险的,因为您可能无意中导致防火墙被入侵。firewalld 保持对所增加项目的追踪,所以它还能质询 firewalld 和发现由使用直接端口模式的程序造成的更改。直接端口由增加 --direct 选项到 firewall-cmd 命令来使用。

linux 防火墙--firewalld学习的更多相关文章

  1. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

  2. Linux防火墙iptables学习

    http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...

  3. Linux防火墙firewalld安全设置

    背景描述 防火墙是具有很好的保护作用.入侵者必须首先穿越防火墙的安全防线,才能接触目标计算机.在公司里数据安全是最重要的,要求安全部门进行全公司进行服务器防火墙安全搭建,在原有的基础上进行安全的防火墙 ...

  4. Linux 防火墙firewalld

    1.列出所有支持的 zone 和查看当前的默认 zone:[root@lxjtest ~]# systemctl start firewalld[root@lxjtest ~]# firewall-c ...

  5. Linux防火墙--iptables学习

    iptables是Linux系统提供的一个强大的防火墙工具,可以实现包过滤.包重定向.NAT转换等功能.iptables是免费的,iptables是一个工具,实际的功能是通过netfilter模块来实 ...

  6. Linux防火墙配置学习记录

    一.iptables基本原理 1.iptables是一个管理内核包过滤的工具,包含4个表,5个链 表和链被称为Netfilter模块的两个维度, 表提供特定的功能内置四个表: filter表:用于对数 ...

  7. linux防火墙学习

    iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置.语法: iptables(选项)(参数)1,命令选项-t<表 ...

  8. 【Redhat系列linux防火墙工具】firewalld与iptables防火墙工具的激烈碰撞

    前言 iptables与firewalld防火墙管理工具在linux发行版Redhat7系列使用较为广泛. UFW则是在linux发行版Ubuntu下进行管理防火墙的一款管理工具. 在选用防火墙工具的 ...

  9. Linux防火墙(iptables/firewalld)

    Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...

随机推荐

  1. 配置Session变量的生命周期

    在Web.config文件中配置Session变量的生命周期是在<sessionState></sessionState>节中完成的,在配置Session的生命周期时,可以设置 ...

  2. Qt自定义事件的实现(军队真正干活,但要增加监军,大平台通知事件,事件内容自定义)

    初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event ...

  3. 【HDOJ】1243 反恐训练营

    LCS. /* 1243 */ #include <cstdio> #include <cstring> #include <cstdlib> #define MA ...

  4. (转载)apc_fetch

    (转载)http://php.net/manual/zh/function.apc-fetch.php apc_fetch (PECL apc >= 3.0.0) apc_fetch — 从缓存 ...

  5. 一个简单的TestNG例子

    关于TestNG好的资源: 官网文档:http://testng.org/doc/documentation-main.html 一 下载并安装:1. JDK 1.7 $ java -version ...

  6. iOS进阶读物

    不知不觉作为 iOS 开发也有两年多的时间了,记得当初看到 OC 的语法时,愣是被吓了回去,隔了好久才重新耐下心去啃一啃.啃了一阵,觉得大概有了点概念,看到 Cocoa 那么多的 Class,又懵了, ...

  7. maven项目中找不到Maven Dependencies解决办法

    用eclipse创建maven项目后,在Deployment Assembly中通过Add...->Java Build Path Entries导入Maven Dependencies时,发现 ...

  8. Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50096, now running 50173.

    IDEA链接mysql提示 Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50096, ...

  9. 注释PHP和html混合代码

    <?php if(false){ ?> any code <?php } ?>

  10. js:jquery multiSelect 多选下拉框实例

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...