如何阻止某些 Wireguard 客户端的互联网访问?

如何阻止某些 Wireguard 客户端的互联网访问?

我有一个有效的 Wireguard 设置,并且多个设备连接到它。我还设置了它,以便所有客户端都通过“0.0.0.0/0, ::/0”将其网络/互联网活动路由到 Wireguard 服务器

我将在此设置中添加几个新设备,但我希望这些新设备能够访问局域网但不能访问互联网。我希望能够通过 WG 服务器路由所有流量,但让服务器拒绝非局域网连接,使这些设备无法建立任何有意义的互联网连接。

我可以设置一个 DNS 服务器来拒绝域查找,但这实际上不足以阻止实际的数据包。

我的 WG 服务器在 Debian 上运行,我的客户端设备是 Android 和 Windows 机器。

编辑:我使用了推荐的计算器,但得到的只是一个空的允许IP列表

在此处输入图片描述

谢谢

答案1

允许IP

Pro Custodibus 有一个Wireguard AllowedIPs 计算器您可以使用它来定制您的 WireGuard 配置。

此外,该页面上还有一些关于替代方法(例如路由)的说明。

答案2

数据包过滤是使用防火墙. Debian 有两个 –iptables(使用各种包装器,例如 Ferm)和nftables(又名 nft)。这两种方法都允许您真正阻止发送到非本地地址的数据包;例如:

chain forward {
    iifname "wg0" jump {
        ip daddr 192.168.1.0/24 accept
        ip6 daddr fd1b:2c4d:7f8e::/48 accept
        reject
    }
}

相关内容