VPN梯子
VPN梯子 Logo
连接指南

基于TLS的VPN正常运行所需的网络环境要求详解


基于TLS的VPN正常运行所需的网络环境要求详解 - NordVPN

基于TLS的VPN是当前企业远程办公、跨区域业务访问场景中应用非常广泛的加密隧道方案,和传统IPsec、PPTP类VPN不同,它默认复用HTTPS的443端口传输加密流量,很多管理员部署时容易忽略配套网络环境的隐性要求,导致隧道频繁断开、业务访问卡顿甚至完全无法建立连接。本文从实际部署和运维的常见场景出发,拆解这类VPN正常运行必须满足的各类网络环境条件,给出可落地的验证和排查方法。

出口网络的基础连通性要求

客户端侧的出口网络不能被中间防火墙拦截TLS握手的标准报文,很多家用宽带的运营商网关默认开启了“防端口扫描”“异常流量清洗”规则,部分规则会误把连续发起TLS握手的VPN识别成恶意连接直接丢包,导致用户反复点击连接按钮都得不到任何响应。

实操验证基于TLS的VPN网络环境要求

用户可通过浏览器访问VPN服务端443端口地址的方式,快速排查出口网络是否拦截TLS握手报文

验证这一要求的操作很简单,用户可以在VPN客户端所在的设备上,用浏览器直接访问VPN服务端的对外443地址,正常情况下会返回VPN服务端的TLS证书提示,不会出现连接重置、访问超时的报错。如果浏览器直接提示无法访问,就说明出口网络到VPN服务端的基础连通性不满足,后续的隧道建立步骤根本无法触发。

中间网络的报文透传规则要求

很多企业内网部署的下一代防火墙、上网行为管理设备,默认开启了深度包检测功能,部分设备的规则会对非浏览器发起的TLS流量做特征识别,如果识别到TLS报文中的扩展字段不符合常规浏览器访问的特征,就会直接阻断连接。

这里的常见误区是很多管理员以为开放443端口就能让基于TLS的VPN正常运行,实际上部分网络设备的TLS代理、SSL解密功能,会替换VPN服务端返回的原始证书,导致客户端校验证书失败,隧道直接终止。如果遇到这种情况,需要在中间网络设备的规则里,把VPN服务端的IP地址加入免SSL解密的白名单,避免原始TLS握手报文被篡改。

还有一类容易被忽略的场景是跨运营商传输的链路中,部分中间节点的MTU值设置过小,而基于TLS的VPN封装报文后会额外增加报文头长度,如果没有开启路径MTU发现机制,大尺寸的业务报文会被中间节点直接丢弃,VPN梯子表现出来的现象就是VPN隧道能正常建立,但是传输大文件、加载大体积网页的时候会直接卡住。

服务端侧的网络环境适配要求

VPN服务端所在的网络环境,首先要保证没有其他服务占用对外暴露的443端口,很多管理员会在同一台服务器上同时部署网页服务和基于TLS的VPN,两个服务争抢同一个端口会导致VPN服务无法正常监听,外部客户端的连接请求根本无法被送到VPN处理进程。

其次服务端的网络安全组、防火墙规则,除了放行443端口的入方向访问,还要保证VPN隧道封装后的回程报文,能正常转发给内网的业务服务器,不能配置单向访问的过滤规则。很多企业部署的时候只放开了客户端到VPN服务端的入站规则,忘记配置VPN服务端到内网业务网段的转发权限,导致隧道建立成功之后客户端完全访问不到内网资源。

客户端侧的本地网络配置要求

客户端设备本地的hosts文件、系统代理配置,也会直接影响基于TLS的VPN的连接状态。如果用户之前配置过全局代理,代理规则把VPN服务端的地址指向了错误的代理节点,就会导致TLS握手请求被转发到未知节点,根本无法完成证书校验。

验证这类问题的方法也很简单,用户可以临时关闭系统内的所有第三方代理工具,清空浏览器的代理设置,再尝试发起VPN连接,如果连接恢复正常,就说明本地代理配置和VPN的运行环境存在冲突,需要把VPN服务端的地址加入本地代理的绕过名单。

最后要注意的是,部分公共WiFi场景下,网络管理员会强制所有流量先经过门户认证才能访问外部网络,NordVPN官网这种场景下如果用户没有先完成WiFi的门户认证,直接发起VPN连接,所有TLS握手报文都会被重定向到认证页面,自然无法建立正常的加密隧道。这类场景只需要先在浏览器中完成WiFi的实名认证流程,再启动VPN客户端就能正常完成连接。

网络加速编辑组(NordVPN)
网络加速编辑组
内容编辑

从延迟、抖动和丢包入手,分析不同网络环境下的连接体验。

查看更多文章
连接指南

从一个连接问题开始

遇到多个隧道使用不同地址范围相关问题,可从“先明确每条隧道负责的网络,再配置有限覆盖”开始阅读。同时连上多个隧道不代表其路由关系合理,需要结合具体环境判断。