![如何使用 UFW 制定客户端到客户端的路由规则?](https://linux22.com/image/764436/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20UFW%20%E5%88%B6%E5%AE%9A%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%88%B0%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99%EF%BC%9F.png)
我想使用 UFW 来控制 wireguard 网络的客户端到客户端访问规则。我想在中央集线器服务器上执行此操作。但我不太明白。现在它可以工作,但每个人都可以访问所有内容。
UFW 似乎非常擅长控制对主机的访问。但它如何控制路由呢?我是否必须求助于 iptables?
我的问题是否是由于流量通过同一个 wg0 接口进入和离开?
例如,我想实现类似这样的功能。中心服务器是 10.0.0.1,所有客户端使用 10.0.0.0/24,等等。
ufw allow 10.0.0.2 to 10.0.0.3 on port 80
ufw allow 10.0.0.4 to 10.0.0.5 on port 3389
ufw deny all to 10.0.0.0/24
答案1
您可以使用 ufw 关键字来执行此操作route
。以下内容等同于您在问题中提到的规则:
ufw route allow to 10.0.0.3 port 80 proto tcp from 10.0.0.2
ufw route allow to 10.0.0.5 port 3389 proto tcp from 10.0.0.4
ufw route deny to 10.0.0.0/24
但请注意,您已添加的任何 iptables 规则都可能覆盖您的 ufw 规则。运行sudo iptables-save
以查看现有 itables 规则列表 - ufw 添加到 iptables 的每条规则(数量会很多)都将包含ufw
在规则中的某个位置。首先列出的规则优先,因此如果您在 ufw 规则之前列出了一些非 ufw 规则(即您有一行以 开头-A
但不包含ufw
),它们可能会覆盖您已配置 ufw 执行的操作。