Firewalld/iptables 规则未按预期工作

Firewalld/iptables 规则未按预期工作

我有以下设置:

-CentOS 盒,安装有 KVM(libvirt),作为网关/VM 主机。接口 eno2 作为上行链路。

- 在接口 virbr1 上配置公共路由网络(virbr1 模式路由,转发到所有物理端口),并将物理接口 eno4 桥接从属于 virbr1,以用于本地网络、本地服务器和 VM 客户机。

-在接口 eno4 上我有一个 Catalyst 交换机,其中连接了本地网络和本地服务器。

xx.xx.xxx.128/27 - 网络

xx.xx.xxx.129 - 分配给 virbr1,整个网络的网关

xx.xx.xxx.130-本地服务器

xx.xx.xxx.157-客户虚拟机

xx.xx.xxx.158-催化剂

我的问题是我需要本地网络来访问本地服务器,但其他人不需要。我尝试在防火墙中添加直接规则,如下所示:

[root@master ~]# firewall-cmd --direct --get-all-rules

ipv4 filter INPUT 0 -s xx.xx.xxx.128/27 -d xx.xx.xxx.130/32 -j ACCEPT

ipv4 filter INPUT 1 -d xx.xx.xxx.130/32 -j DROP

ipv4 filter FORWARD 0 -s xx.xx.xxx.128/27 -d xx.xx.xxx.130/32 -j ACCEPT

ipv4 filter FORWARD 1 -d xx.xx.xxx.130/32 -j DROP

从我的家用工作站 ping 到 xx.xx.xxx.130 仍然可以使用上述规则。我甚至尝试通过 iptables 添加相同的规则,但仍然没有成功。

相同的规则在以前的设置(iptables)中运行良好,Debian 盒有两个接口,一个连接到互联网,一个连接到 Catalyst。

我遗漏了什么?这是实现目标的错误方法吗?我对防火墙还很陌生,到目前为止,我一直使用 iptables。

相关内容