使用 Open VPN 可以实现双重替代身份验证(用户/密码或客户端证书)吗?

使用 Open VPN 可以实现双重替代身份验证(用户/密码或客户端证书)吗?

我正在使用 OpenVPN 为多个办公室设置 VPN 网络。这有两个目的:

  1. LAN 到 LAN VPN 允许流量在办公室之间无缝路由。
  2. 允许用户在外出时连接到网络。

这导致需要两种独立的身份验证机制:

  1. LAN 到 LAN 的客户端证书
  2. 单点登录用户/密码(无客户端证书)对于用户来说。

根据文档:

  • auth-user-pass-verify仅需要每个用户提供客户端证书和用户/密码
  • auth-user-pass-verify并且client-cert-not-required只需要用户名/密码

问题: 我该如何配置 Open VPN,让某些客户端仅使用客户端证书进行身份验证,而另一些客户端仅使用用户/密码进行身份验证?

答案1

抱歉,我回答了自己的问题。我越看越清楚,在同一台机器上运行两个单独的 OpenVPN 实例是正确的答案。对于 LAN 到 LAN,我计划使用 RIP2 处理路由。对于客户端,这并不合适。

因此,在许多方面,选项将会有所不同:

  • 显然,我必须为 RIP 设置防火墙,防止用户破坏网络。两个独立的 openvpn 实例将在两个独立的内部 (VPN) 子网上运行,这样更容易在它们之间设置防火墙。

  • 问题中提到的不同身份验证机制意味着auth-user-pass-verifyclient-cert-not-required用于用户,而不是用于 LAN 到 LAN

  • client-to-client对于用户来说是可以接受的。实际上没有理由阻止这种情况,因为它不允许任何当同一用户恰好在办公室时不可能发生的事情。但是,如果client-to-client使用 RIP2,会产生奇怪的结果。

  • push "redirect-gateway def1 bypass-dhcp"对用户来说是合适且必要的。因为他们不使用 RIP,所以他们需要通过 VPN 服务器发送所有内容并允许其正确路由。我无法想象在 LAN 到 LAN 中启用此功能会产生什么样的后果。

相关内容