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


14

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

我需要的设施之一是使客户之间能够彼此找到对方。客户端是否可以通过任何简单且普遍接受的方式查看已分配给所有客户端的IP地址列表?

我不需要DNS名称或类似名称。


4
您到底想完成什么?
MDMarra 2014年

@MDMarra我希望用户站点中的某个现场人员能够发起传出连接,以便我们公司内部的技术支持人员可以连接到该系统。
AlanObject 2014年

Answers:


22

在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

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

  • 找到向客户端分发或提供openvpn-status.log的方法?
  • 分发ping脚本或类似客户端程序,也许为每个活动主机进行反向DNS查找?
  • 让客户端在连接时在自定义数据库或文件中注册/注销自己,并具有某种清除机制。这种选择似乎完全是在彻底改变方向,但是毫无疑问,这将是一种花费一个小时的有趣方式,而这并没有给整个IT领域带来任何好处。

好吧,默认的后备方法是让外部系统的用户仅向其他系统调用或发短信到其IP地址。让我研究您的建议,看看人们最喜欢什么。
AlanObject 2014年

4

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

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

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

;client-to-client

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

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

client-to-client
push "route 192.168.4.0 255.255.255.0"

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.