我想知道是否有办法检查连接到客户端到站点 VPN 隧道(以 OpenVPN Linux 服务器为终点)的客户端的操作系统。出于安全考虑,我不希望 Windows 客户端连接到它。
我希望能够使用开源解决方案来实现这一点。
谢谢。
答案1
我对这个问题的逻辑提出质疑,因为即使你只允许 Linux 机器连接,也无法阻止这些 Linux 机器对 Windows 机器进行网络地址转换等等。我认为出于安全原因这样做一定是错误的,尤其是因为 OpenVPN 是开源的,因此可能会被黑客入侵,使其看起来像不是它的东西。
您尚未指定 OpenVPN 客户端的参数,因此这个问题有待进一步解释。例如,您可以允许客户端连接,然后强制连接(通过 SSH 或类似方式)回连到连接的机器,并运行一些测试以确保它是一台 Linux 机器。
或者,根据您需要的解决方案的强大程度,您也可以使用以下方法对操作系统进行“指纹扫描”扫描,例如,NMAP 操作系统检测。
另一个选项(取决于您的使用情况)是使用仅在 Linux 下实现的参数。您可能能够设置 P2P 隧道,一端为 192.168.1.1,另一端为 192.168.1.5 以上 - 我怀疑 Windows 无法正确处理此问题,而 Linux 可以。