在 Ubuntu 22.04|20.04|18.04 上安装和使用 Firewalld在 Ubuntu 22.04|20.04|18.04 上安装和使用 Firewalld在 Ubuntu 22.04|20.04|18.04 上安装和使用 Firewalld在 Ubuntu 22.04|20.04|18.04 上安装和使用 Firewalld
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

在 Ubuntu 22.04|20.04|18.04 上安装和使用 Firewalld

发表 admin at 2025年2月28日
类别
  • 未分类
标签

Firewalld 是 Linux 防火墙管理工具,支持 IPv4、IPv6、以太网桥和 IPSet 防火墙设置。它充当 Linux 内核的 netfilter 框架的前端。 Firewalld 是 RHEL 7 系列上默认的防火墙管理软件。

在本指南中,我将向您展示 Firewalld 在 Ubuntu 22.04|20.04|18.04 Linux 发行版上的基本用法。 Ubuntu 的默认防火墙系统是ufw,但如果您愿意,也可以安装和使用 Firewalld。 Firewalld 对我来说效果很好,因为我是 CentOS 7 的重度用户。

步骤 1 – 在 Ubuntu 22.04|20.04|18.04 上安装 Firewalld

在 Ubuntu 上安装 Firewalld

sudo apt update
sudo apt install firewalld

默认情况下,该服务应该启动,如果没有运行,启动并使其在启动时启动:

sudo systemctl enable firewalld
sudo systemctl start firewalld

确认服务正在运行:

$ sudo firewall-cmd --state
running

如果您启用了 ufw,请将其禁用以使 firewalld 成为您的默认防火墙

sudo ufw disable

步骤 2:在 Ubuntu 上使用 Firewalld <元字符集=utf-8>22.04|20.04|18.04

现在软件包已经安装并启动了firewalld服务,让我们看一些使用示例

有关firewalld的基本用法,请参阅下面的示例。

1. 列出所有已配置的防火墙规则

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

当您启动 Firewalld 服务时,默认情况下会启用 ssh 和 dhcpv6-client 服务。

2. 获取可使用名称启用的所有服务的列表

要查看所有活动服务,请运行以下命令:

sudo firewall-cmd --get-services

3. 启用 http 服务

在本例中我们启用 http 服务。

sudo firewall-cmd --add-service=http --permanent

--permanent 选项表示针对服务器重新启动保留规则。

4. 在一行上启用 http 和 https

以下是同时启用 http 和 https 服务的示例:

sudo firewall-cmd --permanent --add-service={http,https} --permanent

5. 启用 TCP 端口 7070

启用 TCP 端口 7070

sudo firewall-cmd --add-port=7070/tcp --permanent

6. 启用 UDP 端口 514

如何启用UDP端口514

sudo firewall-cmd --add-port=514/udp --permanent

7. 创建新区域

创建一个名为 myzone 的新区域

sudo firewall-cmd --new-zone=myzone --permanent

8. 在特定区域启用服务

让我们在创建的区域上启用服务:

sudo firewall-cmd --zone=myzone --add-port=4567/tcp --permanent

9. 设置默认区域

将创建的区域设置为默认区域

sudo firewall-cmd --set-default-zone=public --permanent

10. 向区域添加接口

将接口添加到区域:

sudo firewall-cmd --get-zone-of-interface=eth0 --permanent
sudo firewall-cmd --zone=<zone> --add-interface=eth0 --permanent

11. 允许从特定子网/IP 访问端口

如何允许指定子网访问服务或端口:

# Allow access to ssh from 192.168.0.12 sing IP address
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="192.168.0.12/32" accept' --permanent

# Allow access to ssh from 10.1.1.0/24 network
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="10.1.1.0/24" accept' --permanent

12. 列出丰富的规则

列出系统上丰富的规则

sudo firewall-cmd --list-rich-rules

13. 配置端口转发

启用端口转发:

# Enable masquerading
sudo firewall-cmd --add-masquerade --permanent

# Port forward to a different port within same server ( 22 > 2022)
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toport=2022 --permanent

# Port forward to same port on a different server (local:22 > 192.168.2.10:22)
sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10 --permanent

# Port forward to different port on a different server (local:7071 > 10.50.142.37:9071)
sudo firewall-cmd --add-forward-port=port=7071:proto=tcp:toport=9071:toaddr=10.50.142.37 --permanent

14. 删除端口/服务

将 --add 替换为 --remove

如需进一步阅读,请参阅官方 Firewalld 文档

©2015-2025 Norria support@norria.com