使用 UFW 在两个子网之间进行过滤?

使用 UFW 在两个子网之间进行过滤?

在我的服务器上,我设置了 2 个网络(eth1:172.16.1.0/24 和 eth2:172.16.2.0/24),它们都应该与互联网(接口 eth0)通信。因此,服务器使用 ufw 进行伪装。/etc/ufw/before.rule 因此包含以下规则:

-A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 172.16.2.0/24 -o eth0 -j MASQUERADE

一切正常,我可以从两个子网毫无问题地访问互联网。

现在我希望限制两个子网之间的通信。例如,我尝试过:

ufw deny from 172.16.2.0/24 to 172.16.1.0/24

或者

ufw deny from 172.16.2.0/24

所有这些都没有效果。它不会阻止 172.16.2.0/24 中的机器访问 172.16.1.0/24 中的计算机。那么我该如何过滤两个网络之间的流量呢?

答案1

您正在设置对作为路由器的机器的过滤,但没有设置它应该或不应该如何通过路由器转发流量。为此,您需要在防火墙中设置转发规则。我相信 ufw 现在支持这一点,使用 forward 关键字。请阅读 ufw 的文档,如手册页、/usr/share/docs/ufw 中的文档或程序网页以获取更多信息。我目前无法使用计算机,所以我无法为您提供一些示例。

简而言之,防火墙中有三条不同的路径需要处理。进入路由器的数据包/流量。从路由器发出的数据包/流量。通过路由器的数据包/流量,由路由器转发。它们彼此独立过滤。

您的示例全部是关于过滤进入路由器的流量。

相关内容