You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2012 R2无法彻底关闭Squid代理连接的问题求助

Windows Server 2012 R2 完全绕过Squid代理排查方案

问题梳理

  • 运行环境:Windows Server 2012 R2,配置2块网卡,分别为物理LAN网卡、Microsoft Hyper-V虚拟网卡
  • 目标:阻断服务器所有到现有Squid代理的连接
  • 已执行无效操作:
    • 执行Netsh winhttp show proxy返回DirectAccess
    • 系统LAN设置中关闭所有自动检测、代理相关选项
    • 完成以下注册表调整:
      • 删除HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections路径下的DefaultConnectionSettings、SavedLegacySettings预定义代理配置项
      • 确认HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings路径下ProxySettingsPerUser值为1
      • 删除HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\Connections路径下相关代理键值
    • 调整HKLM\System\CurrentControlSet\Services\WinHttpAutoProxySvc服务启停状态无效果
    • 清除C:\Windows\ServiceProfiles\LocalService\winhttp路径下缓存文件
    • 删除HKEY_USERS\S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Wpad路径下子键
  • 异常表现:IE浏览器访问不走代理,但Squid日志存在服务器后台连接记录,显示物理LAN网卡IP通过Hyper-V虚拟网卡发起POST请求到代理8080端口的/gofrom/RPC2接口,返回503错误,日志样例:

xx.xxx.xxx.01 TCP_MISS/503 3677 POST http://xxx.xxx.xx.02:8080/gofrom/RPC2 - DIRECT/xxx.xxx.xx.02 text/html

排查解决步骤

注意:涉及虚拟交换机、网络栈重置的操作请在业务低峰期执行,避免临时网络中断

  • 排查Hyper-V虚拟交换机的代理绑定规则
    日志明确显示流量从Hyper-V虚拟网卡发起,优先检查虚拟交换机的WFP(Windows过滤平台)绑定,部分代理软件会注入vSwitch过滤规则实现全局流量转发:
    • 打开Hyper-V管理器,查看当前在用的虚拟交换机配置,取消不必要的第三方扩展绑定
    • 以管理员身份执行PowerShell命令查询并重置vSwitch绑定:
# 查询所有虚拟交换机及绑定的扩展
Get-VMSwitch | Get-VMSwitchExtension
# 对异常绑定的第三方代理/WFP重定向扩展执行禁用,替换尖括号内内容为实际值
Disable-VMSwitchExtension -VMSwitchName <你的虚拟交换机名称> -Name <异常代理扩展名称>
# 重置虚拟网卡的基础协议绑定
Enable-NetAdapterBinding -Name "vEthernet (<你的Hyper-V虚拟网卡名称>)" -ComponentID ms_tcpip,ms_server
  • 检查全系统服务账户的WinHTTP代理配置
    之前仅验证了当前交互用户的WinHTTP配置,Windows后台服务运行在System、NetworkService、LocalService三个独立账户上下文,各自维护独立的代理配置:
    • 用PsExec工具提权到对应账户上下文,逐一执行代理查询命令:
:: 进入System账户上下文
psexec -i -s cmd.exe
netsh winhttp show proxy
:: 进入NetworkService账户上下文
psexec -i -u "NT AUTHORITY\NETWORK SERVICE" cmd.exe
netsh winhttp show proxy
:: 进入LocalService账户上下文
psexec -i -u "NT AUTHORITY\LOCAL SERVICE" cmd.exe
netsh winhttp show proxy
  • 若任意账户下查询到代理配置,直接执行重置命令:
netsh winhttp reset proxy
netsh winhttp reset tracing
  • 全局禁用WPAD自动代理探测
    仅删除单个用户的WPAD注册表键无法阻止系统级服务的自动探测行为,执行以下命令全局关闭WPAD:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" /v DisableWpad /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WinHttpAutoProxySvc" /v Start /t REG_DWORD /d 4 /f
sc config WinHttpAutoProxySvc start= disabled
sc stop WinHttpAutoProxySvc
  • 排查静态路由与端口转发规则

    • 执行route print查看路由表,检查是否存在指向Squid代理IP段的静态路由,尤其是绑定在Hyper-V虚拟网卡上的异常路由,确认后执行route delete <目标网段>删除
    • 执行netsh interface portproxy show all检查是否存在端口转发规则将本地流量重定向到Squid代理,确认后执行对应删除命令清理
  • 定位发起连接的具体进程
    如果以上操作完成后仍有异常流量,直接抓包定位发起请求的进程PID:

:: 启动抓包,捕获所有到Squid代理IP的流量
netsh trace start capture=yes IPv4.Address=<Squid代理IP> tracefile=C:\net_trace.etl
:: 等待日志中出现新的连接记录后停止抓包
netsh trace stop
  • 解析生成的etl抓包文件,匹配目标端口8080的流量对应的进程PID,执行tasklist /fi "PID eq <PID值>"定位具体进程。日志中的/gofrom/RPC2路径常见于Hyper-V复制服务、Windows更新组件、系统管理代理的自动探测请求,定位到进程后直接在对应服务配置中关闭代理探测即可。

内容的提问来源于stack exchange,提问作者Matija92

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:48:11