Linux——firewalld防火墙(一)

一、Linux防火墙基础

        Linux 的防火墙体系主要工作在网络层.针对TCP/P数据包实时过滤和限制.属于典型的包过滤防火墙(或称为网络层防火墙)。Linux系统的防火墙体系基于内核编码实现.具有非常稳定的性能和高效率,也因此获得广泛的应用.在CentOS 7系统中几种防火墙共存:firewalld、iptables、ebtables 默认使用firewalld来管理netfilter子系统。

        netfilter:指的是Linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在.属于“内核态”(Kernel Space,又称为内核空间)的防火墙功能体系。
        firewalld;指用于管理Linux防火墙的命令程序,属于“用户态”(User Space,又称为用户空间)的防火墙管理体系。

二、 firewalld概述

1、firewalld简介

        firewalld的作用是为包过滤机制提供匹配规则(或称为策略),通过各种不同的规则,告诉netfilter对来自指定源,前往指定目的或具有某些协议特征的数据包采取何种处理方式。为了更加方便地组织和管理防火墙. firewalld 提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥.并且拥有两种配置模式:运行时配置与永久配置。它还支持服务或应用程序直接添加防火墙规则接口。

2、firewalld网络区域

        firewalld 将所有的网络数据流量划分为多个区域.从而简化防护墙管理.根据数据包的源Р地址或传入网络接口等条件.将数据流量转入相应区域的防火墙规则。对于进入系统的数据包,首先检查的就是其源地址。

若源地址关联到特定的区域,则执行该区域所制定的规则。
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所制定的规则。

若网络接口未关联到特定的区域,则使用默认区域并执行该区域所制定的规则。

 三、firewalld防火墙的配置方法

在CentOS 7系统中,可以使用三种方式配置firewalld 防火墙

firewall-config图形工具。
firewall-cmd命令行工具。

/etc/firewalld/中的配置文件。

 1、firewalld-cmd命令

1)启动firewalld服务,并设置为开机自启状态

[root@checker ~]# systemctl start firewalld
[root@checker ~]# systemctl enable firewalld.service 

 2)查看firewalld服务运行状态

[root@checker ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2024-01-09 17:06:11 CST; 2min 31s ago
     Docs: man:firewalld(1)
 Main PID: 6672 (firewalld)
    Tasks: 2
   CGroup: /system.slice/firewalld.service
           └─6672 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

1月 09 17:06:11 checker systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 09 17:06:11 checker systemd[1]: Started firewalld - dynamic firewall daemon.

或

[root@checker ~]# firewall-cmd --state
running

 3)想禁用firewalld,并设置开机不启动

[root@checker ~]# systemctl stop firewalld
[root@checker ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 2、获取定义信息

        firewall-cmd预定义信息主要包括三种:可用的区域、可用的服务以及可用的ICMP阻塞类型.具体的查看命令如下所示。

[root@checker ~]# firewall-cmd --get-zones    //显示防火墙区域
block dmz drop external home internal public trusted work   
[root@checker ~]# firewall-cmd --get-services //显示防火墙服务
[root@checker ~]# firewall-cmd --get-icmptypes  //显示预定义的ICMP类型
address-unreachable bad-header communication-prohibited destination-unreachable echo-reply echo-request fragmentation-needed host-precedence-violation host-prohibited host-redirect host-unknown host-unreachable ip-header-bad neighbour-advertisement neighbour-solicitation network-prohibited network-redirect network-unknown network-unreachable no-route packet-too-big parameter-problem port-unreachable precedence-cutoff protocol-unreachable redirect required-option-missing router-advertisement router-solicitation source-quench source-route-failed time-exceeded timestamp-reply timestamp-request tos-host-redirect tos-host-unreachable tos-network-redirect tos-network-unreachable ttl-zero-during-reassembly ttl-zero-during-transit unknown-header-type unknown-option

firewall-cmd.---get-icmptypes命令的执行结果中各种阻塞类型的含义分别如下所示。

destination—unreachable:目的地址不可达。echo-reply:应答回应〈pong).
parameter--problem:参数问题。redirect:重新定向,
router—advertisement:路由器通告。router—solicitation:路由器征寻。

source--quench:源端抑制。time一exceeded:超时。
tirnestamp-reply:时间戳应答回应。timestamp-request:时间戳请求。

1、 区域管理

使用firewall--cmd命令可以实现获取和管理区域.为指定区域绑定网络接口等功能。

(1)显示当前系统中的默认区域 

[root@checker ~]# firewall-cmd --get-default-zone 
public

(2) 显示默认区域的所有规则

[root@checker ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

(3)显示网络接口ens33对应的区域

[root@checker ~]# firewall-cmd --get-zone-of-interface=ens33
public

 (4)将网络接口ens33对应区域更改为internal区域

[root@checker ~]# firewall-cmd --zone=internal --change-interface=ens33
The interface is under control of NetworkManager, setting zone to 'internal'.
success
[root@checker ~]# firewall-cmd --zone=internal --list-interfaces 
ens33
[root@checker ~]# firewall-cmd --get-zone-of-interface=ens33
internal

(5)显示所有激活区域 

[root@checker ~]# firewall-cmd --get-active-zones 
internal
  interfaces: ens33

2、服务管理

(1) 为默认区域设置允许访问的服务

[root@checker ~]# firewall-cmd --add-service=http   //设置默认区域允许访问http服务
success
[root@checker ~]# firewall-cmd --add-service=https  //设置默认区域允许访问https服务
success
[root@checker ~]# firewall-cmd --list-services     //显示默认区域内允许访问的所有服务
ssh dhcpv6-client http https

(2)为internal区域设置允许访问的服务

//设置internal区域允许访问mysql服务
[root@checker ~]# firewall-cmd --zone=internal --add-service=mysql 
success
//设置internal区域不允许访问samba-client服务
[root@checker ~]# firewall-cmd --zone=internal --remove-service=samba-client 
success
//显示internal区域内允许访问的所有服务
[root@checker ~]# firewall-cmd --zone=internal --list-services 
ssh mdns dhcpv6-client mysql

(3)端口管理,在internal区域打开443/tcp端口

[root@checker ~]# firewall-cmd --zone=internal --add-port=443/tcp
success

禁止访问443/tcp端口号

[root@checker ~]# firewall-cmd --zone=internal --remove-port=443/tcp

        前面提到firewall-cmd命令工具有两种配置模式:运行时模式(Runtime mode)表示当前内存中运行的防火墙配置,在系统或firewalld服务重启.停止时配置将失效,永久模式(Permanent mode)表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置文件中的。

firewall-cmd命令工具与配置模式相关的选项有三个。

——reload:重新加载防火墙规则并保持状态信息.即将永久配置应用为运行时配置。
——permanent:带有此选项的命令用于设置永久性规则.这些规则只有在重新启动firewalld或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则.
——runtime-10--permanent:将当前的运行时配置写入规则配置文件中.使之成为永久性配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/307805.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

D42D43D44|买卖股票的最佳时机

121.买卖股票的最佳时机 初始思路&#xff1a; 暴力解法&#xff0c;两个for循环。 class Solution {public int maxProfit(int[] prices) {int res Integer.MIN_VALUE;for(int i 0;i<prices.length;i){for(int j i1;j<prices.length;j){res Math.max(res,prices[…

Python画国旗

前言 今天&#xff0c;我们来用turtle库来绘制国旗 一、美国国旗 国旗的形状是长方形;国旗的长宽之比为19:10&#xff0c;美国国旗由红、白、蓝三色组成;画面格局由两部分组成&#xff0c;旗的左上方蓝底上排列着50颗白色的星&#xff0c;6颗一排与5颗一排相间排列&#xff…

Python 与 PySpark数据分析实战指南:解锁数据洞见

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 数据分析是当今信息时代中至关重要的技能之一。…

C++:多态究竟是什么?为何能成为面向对象的重要手段之一?

C&#xff1a;多态究竟是什么&#xff1f;为何能成为面向对象的重要手段之一&#xff1f; 前言一、多态的概念二、多态的定义及实现2.1 多态的构成条件2. 2 虚函数2.3 虚函数的重写2.3.1 虚函数重写的例外1&#xff1a;协变(基类与派生类虚函数返回值类型不同)2.3.2 虚函数重写…

在Linux中使用HTTP客户端库进行网络编程

在Linux环境中进行网络编程时&#xff0c;使用HTTP客户端库可以大大简化开发过程。这些库提供了丰富的功能和工具&#xff0c;使开发者能够轻松地发送和接收HTTP请求。以下是使用HTTP客户端库进行网络编程的一些关键步骤和要点。 选择合适的HTTP客户端库 在Linux上有多个流行…

深度学习 Day26——J5DenseNet+SE-Net实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DenseNet算法2.1 前期准备2.1.1 引入库2.1.2 设…

番茄助手Visual Assist X安装VS2022

番茄助手Visual Assist X安装VS2022 电脑配置安装步骤0.写在前面1.确保旧版番茄助手插件完全卸载。2.安装VA_X_Setup2440_0.exe&#xff0c;Win10以上系统需要【右键-属性】兼容Win7运行3.使用Everything&#xff08;或其它工具&#xff09;找到C盘对应的“VA_X64.dll”路径&am…

Xmind - win10安装破解Xmind2023

Xmind - win10安装破解Xmind2023 1、下载 Xmind下载 提取码:we6i 2、安装 Step 1:双击运行 exe文件 Step 2:忽略最新版本 最近更新选择继续升级至Pro选择取消Step 4:直接选择同意授权

机器学习 -- 余弦相似度

场景 我有一个 页面如下&#xff08;随便找的&#xff09;&#xff1a; 我的需求是拿到所有回答的链接&#xff0c; 再或者我在找房子网上&#xff0c;爬到所有的房产信息&#xff0c;我们并不想做过多的处理&#xff0c;我只要告诉程序&#xff0c;请帮我爬一个类似 xxx 相似…

千寻位置北斗高精度定位方案获40多家车企品牌订单

千寻位置北斗高精度定位方案获40多家车企品牌订单&#xff0c;在30多款车型上批量交付 千寻位置北斗高精度定位方案在30多款车型上批量交付&#xff0c;包括长城汽车、上汽、一汽红旗、吉利、广汽埃安、小鹏、理想、高合、智己、零跑等汽车厂商的多个智能汽车车型。 进入高速公…

棱镜七彩入选中国数字安全能力图谱(精选版)“SCA”领域

近日&#xff0c;数世咨询正式发布2023年度中国数字安全能力图谱&#xff08;精选版&#xff09;&#xff0c;棱镜七彩凭借在软件供应链安全领域领先的研发实力与创新能力&#xff0c;入选本次图谱应用场景板块SCA领域。 中国数字安全能力图谱”旨在反映中国数字安全产业市场规…

抖店关了一段时间,重新做还能做起来吗?相关抖店运营问题解答!

我是王路飞。 之前有很多新手脑子一热&#xff0c;跟风开通了抖店&#xff0c;保证金什么的也都交了。 后来发现自己做不起来&#xff0c;而且中间可能又忙着别的项目了&#xff0c;就把店铺给关闭了一段时间&#xff0c; 现在店铺又重开了&#xff0c;所以私信我&#xff0…

vue实现-年、月、日、时、分、秒、星期?

一、文章引导 #mermaid-svg-nP4oT3Y4d6oaxUsg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-nP4oT3Y4d6oaxUsg .error-icon{fill:#552222;}#mermaid-svg-nP4oT3Y4d6oaxUsg .error-text{fill:#552222;stroke:#55222…

现代软件测试中的自动化测试工具

自动化测试的重要性和优势 引言&#xff1a;随着软件开发的不断发展&#xff0c;自动化测试工具在现代软件测试中扮演着重要角色。提高效率&#xff1a;自动化测试可以加快测试流程&#xff0c;减少人工测试所需的时间和资源。提升准确性&#xff1a;自动化测试工具可以减少人…

恭喜Zhilong LI同学通过Oracle 19c OCP考试

Oracle 19c OCP两门科目考试成绩、证书展示&#xff1a; Oracle 19c OCP 1z0-082考试详情 Oracle 19c OCP 1z0-083考试详情

PHP 常见设计模式及示例

1.单例模式 单例模式顾名思义&#xff0c;就是只有一个实例。作为对象的创建模式&#xff0c; 单例模式确保某一个类只有一个实例&#xff0c;而且自行实例化并向整个系统提供这个实例。 单例模式的要点有三个&#xff1a; 一是某个类只能有一个实例&#xff1b;二是它必须自…

浏览器不支持 css 中 :not 表达式的解决方法

问题 使用 :not 表达式的样式在不同浏览器中存在不生效的问题。 原因 不生效是因为浏览器版本较低所导致的。&#xff08;更多详细信息请看&#xff1a;MDN&#xff09; 解决方法 初始写法&#xff1a; .input-group:not(.user-name, .user-passwork){width: auto; }改成…

P1067 [NOIP2009 普及组] 多项式输出————C++

目录 [NOIP2009 普及组] 多项式输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示 解题思路Code运行结果 [NOIP2009 普及组] 多项式输出 题目描述 一元 n n n 次多项式可用如下的表达式表示&#xff1a; f ( x ) a n x n a …

2024年软考网络工程师如何备考?考什么?

先看一下这知识点总结图&#xff0c;在备考复习前大致简单了解一遍&#xff01; 网工考试时间安排&#xff1a; 网工每年考两次&#xff0c;5月考试一次&#xff0c;11月考试一次 第一步&#xff1a; 通读教程&#xff08;《网络工程师》&#xff09;&#xff0c;首先对教程中…

怎么修改照片尺寸?来分享3款实用的工具!

在当今的自媒体时代&#xff0c;照片是吸引读者眼球的重要元素之一。有时候&#xff0c;我们需要在不同的平台上传照片&#xff0c;但不同的平台对照片的尺寸要求却不尽相同。为了满足这些要求&#xff0c;我们经常需要修改照片的尺寸。那么&#xff0c;如何快速、准确地修改照…