!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>如何在CentOS 8上配置和管理防火墙

如何在CentOS 8上配置和管理防火墙

防火墙是一种监测和过滤传入和传出网络流量的方法。它通过定义一套安全规则来确定是否允许或阻止特定的流量。一个正确配置的防火墙是整个系统安全的最重要方面之一。

CentOS 8提供了一个名为firewalld的防火墙守护程序。它是一个完整的解决方案,有一个D-Bus接口,允许你动态地管理系统的防火墙。

在本教程中,我们将讨论如何配置和管理CentOS 8的防火墙。我们还将解释FirewallD的基本概念。

前提条件

要配置防火墙服务,你必须以root或具有sudo权限的用户登录。

Firewalld的基本概念

firewalld使用区域和服务的概念。根据你要配置的区域和服务,你可以控制允许或阻止哪些流量进入或流出系统。

Firewalld可以通过firewall-cmd命令行工具进行配置和管理。

在CentOS 8中,iptables被nftables取代,成为Firewalld守护进程的默认防火墙后端。

Firewalld区域

区域是预定义的规则集,指定你的计算机所连接的网络的信任程度。你可以将网络接口和来源分配给一个区域。

下面是FirewallD提供的区,根据区的信任级别从不信任到信任排列。

  • DROP:所有传入的连接都被丢弃,没有任何通知。只允许出站连接。
  • BLOCK:所有进入的连接都会被拒绝,对于IPv4来说是icmp-host-prohibited消息,对于IPv6n来说是icmp6-adm-prohibited。只允许出站连接。
  • PUBLIC:用于不受信任的公共区域。你不信任网络上的其他计算机,但你可以允许选定的传入连接。
  • EXTERNAL:用于外部网络,当你的系统作为一个网关或路由器时,启用NAT伪装。只允许选定的传入连接。
  • INTERNAL:用于内部网络,当你的系统作为一个网关或路由器时。网络上的其他系统通常是被信任的。只允许选定的传入连接。
  • DMZ: 用于位于非军事区的计算机,这些计算机对网络其他部分的访问受到限制。只允许选定的传入连接。
  • WORK:用于工作机。网络上的其他计算机通常是被信任的。只允许选定的传入连接。
  • HOMG:用于家用机。网络上的其他计算机通常是被信任的。只允许选定的传入连接。
  • TRUST:所有网络连接都被接受。信任网络中的所有计算机。

防火墙服务

防火墙服务是预定义的规则,适用于一个区域内,并定义必要的设置,以允许特定服务的传入流量。服务允许你在一个步骤中轻松执行几个任务。

例如,服务可以包含关于开放端口、转发流量等的定义。

Firewalld运行时和永久设置

Firewalld使用两个分离的配置集,运行时和永久配置。

运行时配置是实际运行的配置,在重启时不会持续存在。当Firewalld守护进程启动时,它会加载永久配置,成为运行时配置。

默认情况下,当使用firewall-cmd工具对Firewalld配置进行修改时,这些修改被应用到运行时配置中。要使更改永久化,请在命令中添加 --permanent 选项。

要在两个配置集中应用这些变化,你可以使用以下两种方法之一。

更改运行时配置并使其永久化。

$ sudo firewall-cmd $ sudo firewall-cmd --runtime-to-permanent

改变永久配置并重新加载firewalld守护进程。

$sudo firewall-cmd --permanent $ sudo firewall-cmd --reload

启用FirewallD

在CentOS 8上,Firewalld已经安装并默认启用。如果由于某些原因,它没有安装在你的系统上,你可以通过输入以下内容来安装和启动该守护程序。

$ sudo dnf install firewalld$ sudo systemctl enable firewalld --now

你可以用以下方法检查防火墙服务的状态。

$ sudo firewall-cmd --state

如果防火墙被启用,该命令应该打印正在运行。否则,你将看到未运行。

Firewalld分区

如果你没有改变它,默认区域被设置为公共区域,所有网络接口都被分配到这个区域。

默认区域是用于所有没有明确分配给其他区域的东西。

你可以通过输入以下内容查看默认区。

$ sudo firewall-cmd --get-default-zone
public

要获得所有可用区域的列表,请键入。

$ sudo firewall-cmd --get-zones
block dmz drop external home internal public trusted work

要查看活动区和分配给它们的网络接口。

$ sudo firewall-cmd --get-active-zones

下面的输出显示,接口eth0和eth1被分配到公共区。

public   interfaces: eth0 eth1

你可以用以下方法打印区域配置设置。

$ sudo firewall-cmd --zone=public --list-all
public (active)   target: default   icmp-block-inversion: no   interfaces: eth0 eth1   sources:   services: ssh dhcpv6-client   ports:   protocols:   masquerade: no   forward-ports:   source-ports:   icmp-blocks:   rich rules:

从上面的输出中,我们可以看到公共区域是激活的,并且使用默认的目标,即REJECT。输出还显示,该区域被eth0和eth1接口使用,并允许DHCP客户端和SSH流量。

如果你想检查所有可用区域的配置,请输入。

<pre style=\"box-sizing: border-box;font-family: \'Roboto Mono\', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \'Liberation Mono\', \'Courier New\', monospace;font-size: 0.75rem;direction: ltr;unicode-bidi: bidi-override;margin-top: 1rem;margin-bottom: 1rem;overflow: auto;border: 0px solid rgb(229, 231, 235);--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-inve

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

如何在Debian 10 Linux上安装和使用Curl

2021-4-17 19:14:13

服务器教程

如何在Ubuntu 20.04上安装和配置Squid Proxy

2021-4-17 19:14:15

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase