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
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;
当你的能力还驾驭不了你的目标时,就应该沉下心来历练。

浙公网安备 33010602011771号