加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_郴州站长网 (http://www.0735zz.com/)- 云通信、区块链、物联设备、云计算、站长网!
当前位置: 首页 > 云计算 > 正文

怎么在 CentOS 8 上使用 FirewallD 设置防火墙?

发布时间:2022-07-16 12:03:25 所属栏目:云计算 来源:互联网
导读:我是一个 CentOS Enterprise Linux 8 系统管理员。如何在 CentOS8 上使用 FirwallD 设置防火墙? 简介 一个 Linux 防火墙可用于保护您的工作站或服务器免受不需要的流量干扰。您可以设置规则来阻止或允许流量通过。CentOS 8 带有一个动态的、可定制的基于主
  我是一个 CentOS Enterprise Linux 8 系统管理员。如何在 CentOS8 上使用 FirwallD 设置防火墙?
 
  简介
  一个 Linux 防火墙可用于保护您的工作站或服务器免受不需要的流量干扰。您可以设置规则来阻止或允许流量通过。CentOS 8 带有一个动态的、可定制的基于主机的防火墙和一个 D-Bus 接口。您可以添加、删除或更新防火墙的规则,而无需重新启动防火墙守护程序或服务。firewall-cmd 充当着 nftables 的前端。在 CentOS 8 中,nftables 取代了 iptables 作为默认的 Linux 网络包过滤框架。本页展示了如何为您的 CentOS 8 设置防火墙,和如何在 firewall-cmd 工具的帮助下进行管理。
 
  FirewallD 的基本概念
  firewalld 简化了网络流量管理的概念。当谈到 CentOS 8 上的 firewalld 时,我们有以下两个主要的概念。
 
  1. 区域
  Firewalld 区域(Zone)只不过是预定义的规则集。您可以通过运行以下 ls 命令查看所有区域:
 
 
  使用 cat 命令查看 public 区域:
 
 
 
  了解预定义区域
 
  block:所有传入的网络连接都被拒绝。只可以从系统内部发起网络连接。
  dmz:经典的非军事区 (DMZ) 区域,提供对 LAN 的有限访问,并且只允许指定的传入端口。
  drop:丢弃所有传入的网络连接,只允许传出的网络连接。
  external:对于路由器类型的连接很有用。您还需要 LAN 和 WAN 接口才能使伪装 NAT 正常工作。
  home:适用于您信任其他计算机的 LAN 中的家用计算机,例如笔记本电脑和台式机。仅允许指定的 TCP/IP 端口。
  internal:用于内部网络,当您非常信任 LAN 上的其他服务器或计算机时适用。
  public:您不信任网络上的任何其他计算机和服务器。您只允许所需的端口和服务。对于托管在您所在地的云服务器或服务器,请始终使用公共区域。
  trusted:接受所有网络连接。我不建议将此区域用于连接到 WAN 的专用服务器或虚拟机。
  work:用于您比较信任的同事和其他服务器的工作场所。
  运行以下命令以查看 CentOS 8 上的所有区域:
 
 
  如何找出您的默认区域
 
  可以将网络接口和源分配给区域。这些区域中的一员可被设置为默认区域。以下命令可以让您的默认区域运行:
 
 
  要查看您的网络接口名称,请运行 ip 命令或 nmcli 命令:
 
 
  当向 NetworkManager 添加新的接口连接(例如 eth0 或 ens3)时,它们将被附加到默认区域。通过运行以下命令进行验证:
 
 
 
  服务
  服务不过是本地端口、协议、源端口、目标端口和防火墙帮助模块的列表。举些例子:
 
  端口:443、25 或 110
  服务:SSH、HTTP
  协议:ICMP
  如何查看与公共(public)区域相关的防火墙规则或服务
 
  运行
 
 
  或者
 
 
 
  上面的命令表明我的默认区域是 public,并且我允许传入 SSH 连接(端口 22)、dhcpv6-client 和 CentOS 8/RHEL 8 上的 cockpit 服务端口。所有其他流量默认被丢弃。如果我在 CentOS 8 上配置 Apache 或 Nginx,则我需要使用 firewall-cmd 打开 80/443 端口。假设您不想要 cockpit 或 dhcpv6-client 等不必要的服务,您可以通过修改规则来删除它们。例如,删除服务 dhcpv6-client 和 cockpit:
 
 
 
  如何查看当前区域允许的服务
 
 
  或者
 
 
  或使用 bash 的 for 循环,如下所示:
 
 
 
  如何在 CentOS 8 上启动、停止、重启 firewalld 服务
  到目前为止,您已经了解了 firewalld 区域、服务以及如何查看默认值。是时候在 CentOS 8 Linux 机器上激活和配置我们的防火墙了。
 
  启动并启用 firewalld
 
 
  停止并禁用 firewalld
 
 
  检查 firewalld 状态
 
 
  更改规则时重新加载 firewalld 配置的命令
 
 
  获取 firewalld 服务的状态
 
 
 
  了解运行时和永久性防火墙规则集
  运行时更改 firewalld 的配置是临时的。当您重新启动 CetnOS 8 服务器时,这些配置就消失了。例如,以下命令将临时为 Nginx/Apache Web 服务器打开 80/443(https)TCP 端口  :
 
 
  当您重新启动 Linux 机器或重新启动防火墙服务本身时,上述规则不会保留。

(编辑:开发网_郴州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读