Portal:VPN/YaST VPN Module
简介
YaST VPN 模块基于 IPSec 创建 VPN 网关和客户端。目前该模块支持设置以下网关场景
- 提供通过预共享密钥或证书进行身份验证的 Linux 客户端的网络访问。
- 提供通过证书和用户名/密码组合进行身份验证的 Windows 7、8、10 和 Blackberry 客户端的网络访问。
- 提供通过预共享密钥和用户名/密码组合进行身份验证的 Android、iOS 和 MacOS 客户端的网络访问。
对于 VPN 客户端,该模块支持以下场景
- 使用预共享密钥证明客户端身份以连接到 VPN 网关。
- 使用证书证明客户端身份以连接到 VPN 网关。
将在下面详细描述这些场景的设置。
场景
网关的常见设置
如果您的 VPN 场景涉及设置一个提供 VPN 子网之外访问的 VPN 网关(例如提供 Internet 访问的网关),请记住访问 YaST 网络设置模块,并为相关网络适配器设置“启用 IPv4 转发”和/或“启用 IPv6 转发”。
安全的站点到站点通信
站点到站点 VPN 适用于连接两个或多个 Linux 计算机到一个虚拟专用网络。您可以选择使用预共享密钥(又名密码)或 PEM 编码的证书来保护连接。请注意,证书比预共享密钥提供更强大的加密。
截图说明了设置过程
为 Windows 和 Blackberry 客户端提供网络访问
IPSec VPN 支持各种配置,但内置于 Blackberry 和 Windows(7、8、10)中的常见场景是
- 客户端期望来自 VPN 网关的证书
- VPN 网关响应一个标识网关的证书
- 客户端(Blackberry 或 Windows)根据本地受信任的证书存储验证证书
- 客户端向 VPN 网关提供用户名/密码组合
- VPN 网关验证用户名/密码组合
网关设置
客户端设置
在 Windows 上,系统必须通过将证书置于“受信任的根证书颁发机构”中来信任 VPN 网关提供的证书。过程如下:- 以管理员身份启动 Microsoft 管理控制台 (mmc) - 添加“证书”管理单元,用于“计算机帐户”(选择其他帐户类型将不起作用)- 将 VPN 网关证书(PEM 文件)导入到“受信任的根证书颁发机构”。
更详细的步骤可在以下网址找到(wiki.strongswan.org 上的外部链接):Storing a Windows 7 Machine Certificate
请注意,如果您的 VPN 网关或 Windows 客户端位于 NAT 设备(例如无线/有线路由器)之后,则必须更改 Windows 注册表设置,否则 Windows 将拒绝连接到 VPN 网关。过程如下:- 以管理员身份启动注册表编辑器 (regedit) - 找到子键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent - 创建一个 32 位 DWORD 值,名为“AssumeUDPEncapsulationContextOnSendRule”,并将该值设置为 2
更详细的步骤可在以下网址找到(support.microsoft.com 上的外部链接):How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008
尽管该文章讨论的是 L2TP+IPSec 组合,但它仍然适用于我们的 VPN 网关。
请注意,如果您的 VPN 网关证书不包含扩展密钥用法信息,则还必须更改 Windows 注册表设置,否则 Windows 将拒绝连接到 VPN 网关。过程如下:- 以管理员身份启动注册表编辑器 (regedit) - 找到子键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters - 创建一个 32 位 DWORD 值,名为“DisableIKENameEkuCheck”,并将该值设置为 1
更详细的步骤可在以下网址找到(support.microsoft.com 上的外部链接):How to configure verification of additional fields in peer certificates during IKE negotiation for L2TP/IPsec tunnel connections in Windows Vista
Windows 用户现在应该能够创建指向 VPN 网关的 VPN 连接,使用任何定义的用户名/密码组合。
Blackberry 用户应将 VPN 网关证书添加到设备的证书存储中。与 Windows 不同,Blackberry 在 NAT 位于 Blackberry 和 VPN 网关之间的情况下,不需要额外的解决方法。但是,我没有关于 Blackberry 是否强制执行扩展密钥用法信息验证的信息。
为 Android 和 Apple 客户端提供网络访问
内置于 Android、iOS 和 MacOS 客户端中的常见场景是
- VPN 网关期望来自客户端的预共享密钥
- 客户端向 VPN 网关提供正确的预共享密钥
- 客户端向 VPN 网关提供用户名/密码组合
- VPN 网关验证用户名/密码组合
网关设置
客户端设置
Android、iOS 和 MacOS 都支持 VPN 网关,无需任何第三方软件的帮助。
在 Android 上,连接类型称为“IPSec Xauth PSK”。创建连接时,请确保将“IPSec 标识符”字段保留为空,否则您的连接将无法工作。
在 iOS 和 MacOS 上,连接类型称为“IPSec”。
手动自定义 /etc/ipsec.conf 和 /etc/ipsec.secrets
YaST 模块将处理所有网关和客户端场景的 /etc/ipsec.conf 和 /etc/ipsec.secrets。但是,IPSec 有大量的可能性,YaST VPN 模块并不理解所有这些可能性,因此,请避免手动更改 /etc/ipsec.conf 和 /etc/ipsec.secrets,否则您的自定义设置可能会在您下次使用 YaST VPN 模块时被删除。
YaST VPN 模块在检测到未经识别的手动更改配置时会显示警告。



