我有多个 OpenVPN 服务器,这些服务器有从属 1 和从属 2 等客户端,它们只能访问 OpenVPN 服务器本身。我有一个专用的 CA 服务器,用于为系统创建新用户。我想实现对主控 1 和主控 2 等可以访问从属客户端的用户的支持。
我读到,如果我在 OpenVPN 上启用客户端到客户端,我就不能使用防火墙,因为客户端到客户端的网络将在 OpenVPN 内部完成,而无需到达主机层。
我读到我可以使用 client-config-dir 和证书通用名对 server.conf 创建客户端特定的修改,但我找不到使用“master-*”等前缀进行修改的方法。
为了开始解决这个问题,我尝试通过在 OpenVPN 服务器上运行以下命令来允许所有客户端之间的所有网络连接,而无需在 OpenVPN 上启用客户端到客户端的连接:
echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -I FORWARD --src 10.8.0.0/24 --dst 10.8.0.0/24 -j ACCEPT
OpenVPN 客户端上的这些命令:
sudo ip route del 10.8.0.1/32 via 10.8.0.53
sudo ip route add 10.8.0.0/24 via 10.8.0.53 dev tun0
此后OpenVPN客户端仍然无法连接到其他客户端。
答案1
这是iroute
通过“CCD”机制(每个客户端配置位)设置适当的指令来完成的。
看这了解更多信息。