Loading

firewall-cmd --permanent --zone=public --add-port=443/tcp 为什么这样添加对虚拟机不生效

使用 firewall-cmd --permanent --zone=public --add-port=443/tcp 命令向宿主机的 firewalld 中添加端口规则时,可能会出现对虚拟机不生效的情况。这通常是由于以下原因:

 

1. 虚拟机的网络接口不在正确的防火墙区域中

firewalld 是基于区域(zones)来管理网络流量的。默认情况下,虚拟机的网络接口(如 virbr0)可能不属于 public 区域,而是属于 trusted 或 internal 区域,这样添加到 public 区域的规则不会影响虚拟机的流量。

解决方法:

检查虚拟机的网络接口所在的区域,确保虚拟机的网络接口被包含在允许访问端口 443 的区域中。

你可以通过以下命令查看所有区域的接口配置:

sudo firewall-cmd --list-all

该命令会列出当前区域下的所有接口、规则等。确保虚拟机的网络接口(如 virbr0 或其他虚拟接口)已经添加到正确的区域中。

如果虚拟机使用的是 virbr0 网络接口(默认的虚拟网络桥接接口),可以将其添加到 public 区域:

sudo firewall-cmd --zone=public --add-interface=virbr0 --permanent
sudo firewall-cmd --reload

然后重新加载防火墙配置:

sudo firewall-cmd --reload

 

posted @ 2025-01-21 09:38  Ellisonzhang  阅读(169)  评论(0)    收藏  举报