OpenVPN Access Server 配置文件下载:匹配正确账户
配置文件下载只对生成它的那个账户有效。从客户端门户到文件共五步检查,之后还要保证它可被吊销。
用户锁定型 Access Server 配置文件只为一个账户生成,拒绝其他所有账户,因此在任何客户端设置起作用之前,下载这一步就已经决定了文件归属。下面这个顺序是我给每个来要“VPN 文件”的人的标准流程:以将要使用它的本人身份登录,找到与你服务器版本对应的控件,读懂文件锁定的对象,确认策略允许该类型,然后以仍可吊销的方式交付。遇到第一个失败的步骤就停下;后面的每一步都假定前一步成立。
检查 1:以账户本人身份登录,而不是以管理员身份登录
客户端门户是普通用户界面,通常在 https://vpn.example:943/,而管理界面在 https://vpn.example:943/admin。这些是默认示例;主机名、端口和反向代理会改变它们,所以请用运维给你的地址。先登录管理路径是最常见的错误,因为管理员会话可以创建和管理账户,但它并不是承载隧道的那个账户。
如果此人还不能登录,就在这里停下,先解决这个问题:密码重置、缺少组分配,或者只以导入的认证条目形式存在的账户,无论换哪个浏览器都会挡住下载。从管理员自己的会话下载,得到的是管理员的配置文件,而那正是绝不能出现在别人笔记本上的文件。
检查 2:找到与你版本对应的下载控件
登录之后,门户会在页面上方附近显示连接配置文件控件。对于 Access Server 2.14 及更新版本,教程把它描述为“在下面下载你的配置文件”之下的“连接配置文件”区域。如果门户还提供预配置的 OpenVPN Connect 安装程序,那是两种不同的交付:一种把配置文件随客户端一起安装,另一种给你一个文件,导入到你已有的客户端里。
这里版本很重要。较旧的门户可能给同一个按钮起不同的名字,而高度定制的门户可能把它挪到某条通知下方。如果该区域完全不存在,不要开始猜 URL:去走策略检查,而不是拿路径做试验,因为缺少控件几乎总是服务器端的决定。
检查 3:读懂文件锁定的对象
用户锁定型配置文件内嵌了为单个用户签发的客户端证书和密钥,服务器会把该身份映射到那个账户。改文件名、改显示名,或者在提示符下输入别的凭据,都不会改变这层映射,所以复制来的配置文件在第二个人那里报的是认证或证书错误,而不是路由问题。需要确认手里是什么,就看文件内部:
grep -c "BEGIN CERTIFICATE" office-user.ovpn
grep -n "^remote " office-user.ovpn
证书数量说明其中嵌入了身份;remote 行只写了服务器。因此指向同一台服务器的两个文件可能属于不同的人,而一个指向两台服务器的文件仍然绑定它的原始所有者。服务器锁定型配置文件和自动登录型配置文件又有各自允许的使用模型:服务器锁定型在连接时期望提供凭据,自动登录型按设计跳过密码提示。无论哪种,改文件都不会让它变成另一种类型。
检查 4:确认策略允许该类型
存在哪些配置文件类型是管理员的设置,而不是客户端的偏好。如果门户只提供用户锁定型下载,服务器可能不允许其他类型,也可能允许了账户所属组拿不到的类型。要求管理员启用另一种类型、好让缺失的按钮出现,这是有真实后果的策略变更;为了进到下载页面而关掉多因素认证,则是拿认证控制换方便。
视版本而定,管理 Web UI 也提供针对单个用户的配置文件管理,管理员无需以该用户身份登录就能签发或吊销配置文件。不具备该能力的地方,就由用户自己下载。无论哪种情况,正确的来源都是目标账户,绝不是被当作模板使用的管理员配置文件副本。
检查 5:交付之后保持可吊销
把下载物当作凭据材料,而不是配置文件。用户锁定型配置文件含有私钥,所以它应当走你会用来传密码的渠道,而不是共享网盘目录或聊天群。记录哪个用户、哪台设备收到了哪个文件,因为吊销是按账户进行的:笔记本更换或丢失时,管理员吊销该用户的访问并签发新配置文件,旧文件在下一次连接尝试时就会失效。
按这个顺序用四项检查收尾:门户登录用的是目标用户,文件里是身份而不只是服务器地址,从目标客户端发起的一次测试连接成功,用另一个账户发起的第二次连接失败。如果第四项成功,说明你分发错了文件,下一步是吊销而不是改配置。Access Server 下载教程 展示了当前门户布局,以及配置文件与预配置安装程序之间的区别。