我在 Debian 机器上运行着一个 OpenVPN 服务器。我想要做的是阻止连接到该 OpenVPN 服务器的客户端之间的所有通信。
服务器的本地 IP 为 10.10.10.1,客户端的 IP 介于 10.10.10.2-10.10.10.8 之间。
我尝试使用 iptables,但似乎客户端之间的流量从未离开 tun0,所以我无法阻止它。
我该怎么办?是否有一些 iptables 规则可以阻止接口内的流量?(tun0)
客户对客户是不是在 server.conf 中启用,但由于某种原因,用户仍然可以互相 ping 并相互通信。
答案1
似乎您在服务器 openvpn 配置中打开了“客户端到客户端”选项。您应该将其删除,因为 openvpn 默认不路由客户端到客户端的流量。
以下是来自 openvpn 手册页的文本:
客户对客户
由于 OpenVPN 服务器模式通过单个 tun 或 tap 接口处理多个客户端,因此它实际上是一个路由器。 --client-to-client 标志告诉 OpenVPN 在内部路由客户端到客户端的流量,而不是将所有客户端发起的流量推送到 TUN/TAP 接口。
使用此选项时,每个客户端将“看到”当前连接的其他客户端。否则,每个客户端将只看到服务器。如果您想使用自定义的每个客户端规则来防火墙隧道流量,请不要使用此选项。
答案2
在服务器上添加规则以阻止客户端之间的所有流量,例如:
sudo iptables -I FORWARD --src 10.8.0.0/24 --dst 10.8.0.0/24 -j DROP