客户端连接到 OpenVPN 网络。我在 OpenVPN 服务器上,可以访问客户端的公钥/证书文件(例如客户端5.crt)。
(如何)我才能根据此信息找出 OpenVPN 网络中分配给客户端的 IP?
答案1
- 似乎应该能够以某种方式提取“通用名称”来自公钥/证书(TODO:如何?)。
然后,可以在 OpenVPN 服务器中启用“管理控制台”(
management /var/run/openvpn.mgmt unix
openvpn 配置中的行),并且查询它匹配“通用名称”使用 IP:$ echo 'status 2' | socat stdio /var/run/openvpn.mgmt | grep '^ROUTING_TABLE' | cut -d, -f2-3 10.91.0.1,foobar 10.91.0.6,other-name ...
基于此的某些方法可能会有效,只要每个客户端都有一个唯一的“通用名称”。