DNS封锁——在域名解析阶段拦截
在把域名转换为IP地址的DNS查询阶段,故意返回错误结果或者干脆不响应的方式。运营商或管理员在指定的DNS服务器上设置,当查询到特定域名时,返回一个提示页面的地址而非真实IP,或者干脆不作任何响应。这种方式实现起来相对简单,但用户只需换用其他公共DNS服务器(如1.1.1.1、8.8.8.8),或使用DNS over HTTPS(DoH),就能轻易绕过。
IP封锁——直接拦截目标地址本身
防火墙或路由器直接拦截发往特定IP地址的所有数据包,与域名无关。与DNS封锁不同,IP封锁只根据目标IP判断是否丢弃数据包。它的优点是无法靠更换DNS绕过,但缺点是当多个网站共用同一个IP(比如同一CDN或云服务商)时,很容易发生"过度封锁"——把无关的其他网站也一并封锁掉。
URL与关键词过滤
针对未加密的HTTP请求的地址或内容,一旦发现包含特定字符串就予以拦截的方式。代理服务器或防火墙会检查HTTP请求中的URL路径或页面内容,一旦命中屏蔽词列表,就切断连接或跳转到提示页面。由于这种方式原则上无法直接应用于加密的HTTPS请求,面对如今占据网络流量绝大多数的HTTPS流量,局限性十分明显。
SNI封锁——截获加密前暴露的域名信息
通过窥探HTTPS连接初期TLS握手阶段以明文传输的SNI(服务器名称指示)字段来实施拦截的方式。HTTPS虽然会加密实际数据,但连接初期的ClientHello消息中包含的SNI(Server Name Indication)字段,为了确认要连接哪台服务器,会以未加密的明文形式传输。SNI封锁正是在通信路径中截获这段明文域名,一旦命中黑名单就强制断开连接,这种做法在多个国家都曾引发争议。随着TLS 1.3加密客户端问候(ECH)逐渐普及,SNI封锁预计会变得越来越难以实施。
深度包检测(DPI)——深入分析数据包内容的精细手段
深度包检测(Deep Packet Inspection)不仅查看地址和端口,还会分析数据包内部的实际内容,判断具体是哪种应用、协议,是否包含特定文件格式或流量模式。它既被用于国家层面的互联网审查,也被企业用于流量管理(QoS)。实施成本和处理负担都较高,但却是最精细的流量识别手段。
各种封锁方式的绕过难度比较
一般来说,DNS封锁通过更换DNS服务器或使用加密DNS(DoH、DoT)就能较容易地绕过。SNI封锁可以通过加密客户端问候(ECH)或VPN绕过。相比之下,直接拦截目标IP的IP封锁,以及分析流量内容的DPI则相对更难突破,除非借助VPN彻底改变流量的出口路径。实际中,国家或机构级别的封锁系统往往会把这几种方式叠加组合使用。