openvpn 服务器的多个客户端如何找到彼此?

Ala*_*ect 16 openvpn

我正在启动一个支持多个客户端到私有子网的 openvpn 服务器。因此,在私有子网上,连接的客户端将获得 IP 地址,例如 10.8.0.10、10.8.0.11 等。

我需要的设施之一是让客户能够找到彼此。客户端是否有任何简单且普遍接受的方法来查看分配给所有客户端的 IP 地址列表?

我不需要 DNS 名称或类似的东西。

Eri*_*ikE 25

在 OpenVPN 服务器配置文件中,先决条件是以下指令:

# Uncomment this directive to allow different
# clients to be able to "see" each other.
# By default, clients will only see the server.
# To force clients to only see the server, you
# will also need to appropriately firewall the
# server's TUN/TAP interface.
client-to-client
Run Code Online (Sandbox Code Playgroud)

为了方便客户轻松找到彼此,我建议将动态 DNS 作为(几乎)始终存在的企业解决方案。要显示活动客户列表,您可以:

  • 找到一种向客户端分发或提供 openvpn-status.log 的方法?
  • 分发 ping 脚本或类似的客户端,也许对每个实时主机进行反向 dns 查找?
  • 让客户端在连接时在自定义数据库或文件中注册/注销自己,并具有某种清理机制。这种替代方案似乎完全是在重新发明轮子,但毫无疑问,这将是一种有趣的花一个小时的方式,对整个 IT 世界没有任何好处。


mav*_*_2k 5

以下是支持 OpenVPN 2.x 客户端到客户端功能的原始链接:

https://openvpn.net/index.php/open-source/documentation/howto.html#scope

取消注释该指令以允许不同的客户端能够彼此“看到”。默认情况下,客户端只能看到服务器。要强制客户端只能看到服务器,您还需要对服务器的 TUN/TAP 接口进行适当的防火墙设置。

;client-to-client
Run Code Online (Sandbox Code Playgroud)

如果您希望连接客户端能够通过 VPN 相互访问,请取消注释上述客户端到客户端指令。默认情况下,客户端只能访问服务器。

接下来,询问自己是否允许 client2 的子网 (192.168.4.0/24) 和 OpenVPN 服务器的其他客户端之间的网络流量。如果是这样,请将以下内容添加到服务器配置文件中。

client-to-client
push "route 192.168.4.0 255.255.255.0"
Run Code Online (Sandbox Code Playgroud)

这将导致 OpenVPN 服务器将 client2 的子网通告给其他连接的客户端。