首页 > 其他分享 >FirewallD 基本知识(FirewallD入门教程)

FirewallD 基本知识(FirewallD入门教程)

时间:2022-12-27 14:55:42浏览次数:54  
标签:入门教程 区域 -- 基本知识 FirewallD 防火墙 firewall cmd

centos 7中防火墙FirewallD是一个非常的强大的功能了, FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。 以前的 system-config-firewall/lokkit 防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙模块的卸载和新配置所需模块的装载等。而模块的卸载将会破坏状态防火墙和确立的连接。

 

相反,firewall daemon 动态管理防火墙,不需要重启整个防火墙便可应用更改。因而也就没有必要重载所有内核防火墙模块了。不过,要使用 firewall daemon 就要求防火墙的所有变更都要通过该守护进程来实现,以确保守护进程中的状态和内核里的防火墙是一致的。另外,firewall daemon 无法解析由 ip*tables 和 ebtables 命令行工具添加的防火墙规则。FirewallD

 

下面我们一起来详细的看看关于centos 7中FirewallD 防火墙使用方法:

 

一、 开启 FirewallD服务

 

启动FirewallD服务:

systemctl enable firewalld #设置开机启动
systemctl start firewalld #开启服务

 

查看防火墙状态:

systemctl status firewalld

 

二、FirewallD 区域管理

 

1、网络区域简介

通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装,初次启动和首次建立网络连接时选择初始化。该模型描述了主机所连接的整个网络环境的可信级别,并定义了新连接的处理方式。

 

有如下几种不同的初始化区域:

  • 阻塞区域(block):任何传入的网络数据包都将被阻止。
  • 工作区域(work):相信网络上的其他计算机,不会损害你的计算机。
  • 家庭区域(home):相信网络上的其他计算机,不会损害你的计算机。
  • 公共区域(public):不相信网络上的任何计算机,只有选择接受传入的网络连接。
  • 隔离区域(DMZ):隔离区域也称为非军事区域,内外网络之间增加的一层网络,起到缓冲作用。对于隔离区域,只有选择接受传入的网络连接。
  • 信任区域(trusted):所有的网络连接都可以接受。
  • 丢弃区域(drop):任何传入的网络连接都被拒绝。
  • 内部区域(internal):信任网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。
  • 外部区域(external):不相信网络上的其他计算机,不会损害你的计算机。只有选择接受传入的网络连接。

 

注:FirewallD的默认区域是public。

 

2、显示支持的区域列表

firewall-cmd --get-zones

 

3、 设置为家庭区域

firewall-cmd --set-default-zone=home

 

4、查看当前区域

firewall-cmd --get-active-zones

 

5、设置当前区域的接口

firewall-cmd --get-zone-of-interface=enp03s

 

6、显示所有公共区域(public)

firewall-cmd --zone=public --list-all

 

7、 临时修改网络接口(enp0s3)为内部区域(internal)

firewall-cmd --zone=internal --change-interface=enp03s

 

8、 永久修改网络接口enp03s为内部区域(internal)

firewall-cmd --permanent --zone=internal --change-interface=enp03s

 

三、FirewallD 服务管理

 

1、显示服务列表

Amanda, FTP, Samba和TFTP等最重要的服务已经被FirewallD提供相应的服务,可以使用如下命令查看:

firewall-cmd --get-services

 

2、允许SSH服务通过

firewall-cmd --enable service=ssh

 

3、禁止SSH服务通过

firewall-cmd --disable service=ssh

 

4、打开TCP的8080端口

firewall-cmd --enable ports=8080/tcp

 

5、临时允许Samba服务通过600秒

firewall-cmd --enable service=samba --timeout=600

 

6、显示当前服务

firewall-cmd --list-services

 

7、添加HTTP服务到内部区域(internal)

firewall-cmd --permanent --zone=internal --add-service=http

 

firewall-cmd --reload #在不改变状态的条件下重新加载防火墙

 

四、FirewallD 端口管理

 

1、打开端口

 

#打开443/TCP端口

firewall-cmd --add-port=443/tcp

 

#永久打开3690/TCP端口

firewall-cmd --permanent --add-port=3690/tcp

 

#永久打开一个端口段

firewall-cmd --permanent --add-port=1000-2000/tcp

 

#永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了

#其它服务也可能是这样的,这个没有测试

firewall-cmd --reload

 

#查看防火墙,添加的端口也可以看到

firewall-cmd --list-all

 

2、删除服务或端口

firewall-cmd --permanent --zone=public --remove-service=https
firewall-cmd --permanent --zone=public --remove-port=8080-8081/tcp
firewall-cmd --reload

 

五、 直接模式

FirewallD包括一种直接模式,使用它可以完成一些工作,例如打开TCP协议的9999端口:

firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload

 

六、关闭 FirewallD服务

你也可以关闭目前还不熟悉的FirewallD防火墙,而使用iptables,命令如下:

systemctl stop firewalld
systemctl disable firewalld

yum install iptables-services
systemctl start iptables
systemctl enable iptables



转自:https://www.fujieace.com/linux/firewalld-tutorial.html

标签:入门教程,区域,--,基本知识,FirewallD,防火墙,firewall,cmd
From: https://www.cnblogs.com/hanfanfan/p/17008067.html

相关文章

  • Android基础入门教程
    一、Android介绍Android是一种基于Linux的自由及开放源代码的操作系统,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。Andr......
  • ECMAScript 6 入门教程—Symbol
    作者|阮一峰1、概述ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与......
  • ECMAScript 6 入门教程—Set 和 Map 数据结构
    作者|阮一峰1、Set基本用法ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。consts=new......
  • ECMAScript 6 入门教程—Module 的语法
    作者|阮一峰概述历史上,JavaScript一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如Ruby的require、P......
  • ECMAScript 6 入门教程—对象的扩展
    作者|阮一峰对象(object)是JavaScript最重要的数据结构。ES6对它进行了重大升级,本章介绍数据结构本身的改变,下一章介绍​​Object​​对象的新增方法。1、属性的简洁表示......
  • ECMAScript 6 入门教程—数组的扩展
    作者|阮一峰1、扩展运算符含义扩展运算符(spread)是三个点(​​...​​)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1,2,3])//123......
  • ECMAScript 6 入门教程—Class 的基本语法
    作者|阮一峰1、简介类的由来JavaScript语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。functionPoint(x,y){this.x=x;this.y=y;}Point.protot......
  • 红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础数据类型(data types)EP02
    Ruby是强类型动态语言,即Ruby中一旦某一个对象被定义类型,如果不通过强制转换操作,那么它永远就是该数据类型,并且只有在Ruby解释器运行时才会检测对象数据类型,它的一切皆为对......
  • firewalld -- Centos7防火墙
    启停#启动firewalld防火墙,并加入开机自启动服务systemctlstartfirewalld.servicesystemctlenablefirewalld.service#关闭systemctlstopfirewalldsystemctl......
  • 红袖添香,绝代妖娆,Ruby语言基础入门教程之Ruby3基础语法,第一次亲密接触EP01
    书接上回,前一篇我们在全平台构建好了Ruby3的开发环境,现在,可以和Ruby3第一次亲密接触了。Ruby是一门在面向对象层面无所不用其极的解释型编程语言。我们可以把编写Ruby代......