You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于WFP中AppContainerLoopback过滤器的全局禁用或添加高优先级全局允许规则的技术咨询

关于WFP中AppContainerLoopback过滤器的全局禁用或添加高优先级全局允许规则的技术咨询

嘿,我完全懂你现在的困扰——UWP AppContainer默认被Windows过滤平台(WFP)的AppContainerLoopback过滤器拦死,连不上本地Win32服务,官方文档还写得像天书一样难啃。既然你的机器是测试专用、完全不用考虑安全限制,那我给你两个直接落地的方案:

方案一:直接删除目标WFP阻止过滤器

你已经拿到了这个过滤器的ID(126355),直接用管理员权限的命令提示符执行以下命令就能删掉它:

netsh wfp delete filter id=126355

如果担心ID在你的系统上有变化,可以先执行这条命令确认过滤器信息:

netsh wfp show filters | findstr /i "AppContainerLoopback"

找到对应的ID后再执行删除命令即可。删掉之后,所有AppContainer应用就能正常访问localhost的服务了。

方案二:添加高优先级全局允许规则(替代删除)

如果你不想删掉原有规则,而是想加一条优先级更高的允许规则覆盖它,可以用管理员权限执行以下步骤:

  1. 先导出当前WFP规则到一个XML文件:
netsh wfp export policy filename="wfp-policy.xml"
  1. 打开这个XML文件,找到你提到的那个AppContainerLoopback阻止规则(ID为126355),在同一个<filters>节点下添加一条新的允许规则,确保它的weight值比原有规则小(因为WFP规则权重越小优先级越高,原有规则权重是18446744073709551614,你可以设为100),并且条件匹配Loopback流量且允许AppContainer应用访问:
<filter>
  <filterId>126356</filterId>
  <displayName>Global AppContainer Loopback Allow</displayName>
  <description>Allow all AppContainer apps to access loopback addresses</description>
  <providerKey>{b2b3f03d-0c98-4e3e-8d6c-1b2f4a0e4778}</providerKey>
  <providerData></providerData>
  <flags>0x0</flags>
  <layerKey>FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4</layerKey>
  <subLayerKey>MICROSOFT_DEFENDER_SUBLAYER_WSH</subLayerKey>
  <weight type="UINT64">100</weight>
  <condition>
    <conditionKey>FWPM_CONDITION_FLAGS</conditionKey>
    <matchType>FWP_MATCH_FLAGS_ALL_SET</matchType>
    <flags>FWP_CONDITION_FLAG_IS_LOOPBACK</flags>
  </condition>
  <condition>
    <conditionKey>FWPM_CONDITION_ALE_USER_ID</conditionKey>
    <matchType>FWP_MATCH_EQUAL</matchType>
    <sid>S-1-15-3</sid>
  </condition>
  <action>
    <type>FWP_ACTION_PERMIT</type>
    <filterConditionActionMask>0x0</filterConditionActionMask>
  </action>
  <reserved>0</reserved>
</filter>
  1. 保存修改后的XML,再导入回WFP:
netsh wfp import policy filename="wfp-policy.xml"

这个规则会优先于原有的阻止规则生效,让所有AppContainer应用都能访问localhost。

另外提一句,你之前试过的单个应用豁免(比如CheckNetIsolation命令)只针对特定UWP包,不适合全局场景,所以对你的需求没用很正常。

备注:内容来源于stack exchange,提问作者Digika

火山引擎 最新活动