你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Red Hat 中配置防火墙
处理室 VM 会将 Red Hat Enterprise Linux 作为操作系统运行。 默认情况下,防火墙将配置为拒绝除托管服务以外的所有入站连接。 要允许进行入站通信,必须将规则添加到防火墙,以允许传递流量。 同样,如果不再需要某个规则,则应将其移除。
本文将介绍最常见的防火墙配置命令。 有关完整文档或更复杂的方案,请参阅第 40 章.使用和配置 firewalld
Red Hat Enterprise Linux 8 文档。
此处引用的所有操作都需要 sudo
特权,因此需要具有处理器管理员角色。
重要
VM 只能与同一处理室中的其他 VM 通信。 永远不允许在处理室之间传递流量,并且修改防火墙规则也不会支持在处理室之间传递流量。
先决条件
- 具有处理器管理员角色的用户帐户。
列出所有打开的端口
列出所有当前打开的端口和关联的协议。
$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client ssh
ports: 6817-6819/tcp 60001-63000/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
打开流量的端口
可以为网络流量打开单个端口或连续的端口范围。 对 firewall-d
进行的更改是临时的,如果服务重启或重新加载,将不会保留这些更改(除非已经提交)。
打开单个端口
使用 --add-port=portnumber/porttype
选项通过给定协议的 firewalld
打开单个端口。 此示例将打开端口 5510/TCP。
$ sudo firewall-cmd --add-port=33500/tcp
success
将规则提交到永久集:
$ sudo firewall-cmd --runtime-to-permanent
success
打开一系列端口
使用 --add-port=startport-endport/porttype
选项通过指定协议的 firewalld
打开一系列端口。 此命令适用于分布式计算方案,其中工作线程会调度到大量节点,并且多个工作线程可能位于同一物理节点上。 此示例使用 UDP 协议打开从端口 5000 开始的连续 100 个端口。
$ sudo firewall-cmd --add-port=5000-5099/udp
success
将规则提交到永久集:
$ sudo firewall-cmd --runtime-to-permanent
success
移除端口规则
如果不再需要规则,则可以使用与添加和使用 --remove-port=portnumber/porttype
相同的表示法移除它们。 此示例移除了单个端口:
$ sudo firewall-cmd --remove-port=33500/tcp
success
将规则提交到永久集:
$ sudo firewall-cmd --runtime-to-permanent
success