<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>apgceps</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/apgceps/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/apgceps/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:27:33 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>关于GARP以及ARP缓存在Windows Vista之后的一些改变</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/garparpwindows-vista</link>
      <pubDate>Mon, 13 Aug 2012 23:53:00 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/08/13/garparpwindows-vista/</guid>
      <description><![CDATA[&nbsp;
DAD &amp; GARP &amp; ARP Neighbor Cache
&nbsp;
在Windows系统中，如何通过已知的IP地址找到对方设备的物理地址(MAC...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3"></span>&nbsp;</p>
<h1><span style="color: #17365d;" color="#17365d"><span style="font-family: Calibri;" face="Calibri">DAD &amp; GARP &amp; ARP Neighbor Cache</span></span></h1>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">在<span style="font-family: Calibri;" face="Calibri">Windows</span>系统中，如何通过已知的<span style="font-family: Calibri;" face="Calibri">IP</span>地址找到对方设备的物理地址<span style="font-family: Calibri;" face="Calibri">(MAC Address)</span>呢？通常，<span style="font-family: Calibri;" face="Calibri">Windows</span>系统会通过<span style="font-family: Calibri;" face="Calibri">ARP</span>协议发送一个<span style="font-family: Calibri;" face="Calibri">ARP</span>请求，请求包含四个主要的属性：</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">1）</span> <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">SendersMacAddress</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">2）</span> <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">SendersIp4Address</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">3）</span> <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">TargetMacAddress</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">4）</span> <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">TargetIp4Address</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">SendersIp4Address</span>和<span style="font-family: Calibri;" face="Calibri">SendersMacAddress</span>分别填上自己的<span style="font-family: Calibri;" face="Calibri">IP</span>和<span style="font-family: Calibri;" face="Calibri">MAC</span>，<span style="font-family: Calibri;" face="Calibri">TargetIp4Adress</span>会填上想要解析的对方的<span style="font-family: Calibri;" face="Calibri">IP</span>地址，<span style="font-family: Calibri;" face="Calibri">TargetIPMACAddress</span>置为<span style="font-family: Calibri;" face="Calibri">00-00-00-00-00-00</span>；网络上<span style="font-family: Calibri;" face="Calibri">IP</span>为<span style="font-family: Calibri;" face="Calibri">TargetIp4Adress</span>的设备收到此请求后，将会作出响应，响应内容是告诉请求发自己的<span style="font-family: Calibri;" face="Calibri">MAC</span>地址。如，</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4:21:9 PM 7/30/2012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.15.33 192.168.15.2&nbsp; ARP&nbsp;&nbsp;&nbsp; ARP:Request, <span style="color: #ff0000;">192.168.15.33 asks for 192.168.15.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp; Frame: Number = 1, Captured Frame Length = 42, MediaType = ETHERNET</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">+ Ethernet: Etype = ARP,DestinationAddress:[FF-FF-FF-FF-FF-FF],SourceAddress:[00-15-5D-08-83-1E]</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">- Arp: Request, 192.168.15.33 asks for 192.168.15.2</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareType: Ethernet</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolType: Internet IP (IPv4)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareAddressLen: 6 (0x6)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolAddressLen: 4 (0x4)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; OpCode: Request, 1(0x1)</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersMacAddress: 00-15-5D-08-83-1E</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersIp4Address: 192.168.15.33</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetMacAddress: 00-00-00-00-00-00</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetIp4Address: 192.168.15.2</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4:21:09 PM 7/30/2012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.15.2&nbsp; 192.168.15.33 ARP&nbsp;&nbsp;&nbsp; ARP:Response, 192.168.15.2 at 00-15-5D-08-83-16</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp; Frame: Number = 2, Captured Frame Length = 42, MediaType = ETHERNET</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">+ Ethernet: Etype = ARP,DestinationAddress:[00-15-5D-08-83-20],SourceAddress:[00-15-5D-08-83-16]</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">- Arp: Response, 192.168.15.2 at 00-15-5D-08-83-16</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareType: Ethernet</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolType: Internet IP (IPv4)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareAddressLen: 6 (0x6)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolAddressLen: 4 (0x4)</span></p>
<p><span style="color: #000000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; OpCode: Response, 2(0x2)</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersMacAddress: 00-15-5D-08-83-16</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersIp4Address: 192.168.15.2</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetMacAddress: 00-15-5D-08-83-20</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetIp4Address: 192.168.15.8</span></p>
<p><span style="font-size: small;" size="3">原先的请求方收到这样的响应后，会将对方的<span style="font-family: Calibri;" face="Calibri">IP</span>和<span style="font-family: Calibri;" face="Calibri">MAC</span>作为动态的唯一的对应信息缓存在<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存中。可以通过<span style="font-family: Calibri;" face="Calibri">arp &ndash;a</span>命令进行查看。</span></p>
<p><span style="font-size: small;" size="3"><b>地址冲突监测</b><span style="font-family: Calibri;" face="Calibri">(Duplicate Address Detection)</span>机制也使用了<span style="font-family: Calibri;" face="Calibri">ARP</span>协议的这种请求：</span></p>
<p><span style="font-size: small;" size="3">当<span style="font-family: Calibri;" face="Calibri">TCPIP</span>协议栈接收到加载<span style="font-family: Calibri;" face="Calibri">IP</span>地址的事件<span style="font-family: Calibri;" face="Calibri">(</span>如重启机器，重启网卡，修改<span style="font-family: Calibri;" face="Calibri">TCPIP</span>属性<span style="font-family: Calibri;" face="Calibri">)</span>时，会通过<span style="font-family: Calibri;" face="Calibri">ARP</span>协议<b>广播</b>一种特殊的<span style="font-family: Calibri;" face="Calibri">ARP</span>请求，这种特殊<span style="font-family: Calibri;" face="Calibri">ARP</span>请求的<span style="font-family: Calibri;" face="Calibri">TargetIPAdress</span>会填上自己的<span style="font-family: Calibri;" face="Calibri">IP</span>地址，<span style="font-family: Calibri;" face="Calibri">TargetIPMACAddress</span>置为<span style="font-family: Calibri;" face="Calibri">00-00-00-00-00-00</span>；我们称之为<span style="font-family: Calibri;" face="Calibri">GARP(Gratuitous ARP)</span>。如，</span></p>
<p><span style="background-color: #c0c0c0;">52&nbsp;&nbsp;&nbsp;&nbsp; 6:40:00 PM 8/1/2012&nbsp; 40.3886896&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.15.2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.15.2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ARP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ARP:Request, <span style="color: #ff0000;">192.168.15.2 asks for 192.168.15.2</span></span></p>
<p><span style="background-color: #c0c0c0;">&nbsp; Frame: Number = 52, Captured Frame Length = 42, MediaType = ETHERNET</span></p>
<p><span style="background-color: #c0c0c0;">+ Ethernet: Etype = ARP,DestinationAddress:[FF-FF-FF-FF-FF-FF],SourceAddress:[00-15-5D-08-83-16]</span></p>
<p><span style="background-color: #c0c0c0;">- Arp: Request, 192.168.15.2 asks for 192.168.15.2</span></p>
<p><span style="background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareType: Ethernet</span></p>
<p><span style="background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolType: Internet IP (IPv4)</span></p>
<p><span style="background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; HardwareAddressLen: 6 (0x6)</span></p>
<p><span style="background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; ProtocolAddressLen: 4 (0x4)</span></p>
<p><span style="background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; OpCode: Request, 1(0x1)</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersMacAddress: 00-15-5D-08-83-16</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; SendersIp4Address: 192.168.15.2</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetMacAddress: 00-00-00-00-00-00</span></p>
<p><span style="color: #ff0000; background-color: #c0c0c0;">&nbsp;&nbsp;&nbsp; TargetIp4Address: 192.168.15.2</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">正常情况下，如果网络中没有<span style="font-family: Calibri;" face="Calibri">IP</span>地址冲突，是没有正对这种<span style="font-family: Calibri;" face="Calibri">ARP</span>请求的响应的；如果有响应，那么就说明，这个<span style="font-family: Calibri;" face="Calibri">IP</span>地址已有冲突，此时<span style="font-family: Calibri;" face="Calibri">Windows</span>也会弹出窗口提示有<span style="font-family: Calibri;" face="Calibri">IP</span>地址冲突发生。</span></p>
<p><span style="font-size: small;" size="3">另外，网络其他设备接收到这种广播的<span style="font-family: Calibri;" face="Calibri">GARP</span>以后，也会响应的更新他们的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存，创建一条<span style="font-family: Calibri;" face="Calibri">IP</span>地址和<span style="font-family: Calibri;" face="Calibri">MAC</span>地址的映射<span style="font-family: Calibri;" face="Calibri">(SendersMacAddress</span>和<span style="font-family: Calibri;" face="Calibri">SendersIp4Address)</span>。</span></p>
<h1><span style="color: #17365d;" color="#17365d"><span style="font-family: Calibri;" face="Calibri">Changes</span></span></h1>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">相信以上的行为对大家来说，都并不陌生。</span></p>
<p><span style="font-size: small;" size="3">但是，从<span style="font-family: Calibri;" face="Calibri">Windows Vista</span>以后，以上两种行为有了较大的改进：</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Windows Vista\2008</span>以后的操作系统在相同的情况下广播的<span style="font-family: Calibri;" face="Calibri">GARP</span>请求中，将不包含自己的<span style="font-family: Calibri;" face="Calibri">IP</span>地址，即<span style="font-family: Calibri;" face="Calibri">SendersMacAddress</span>置为<span style="font-family: Calibri;" face="Calibri">0.0.0.0</span>；如，</span></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0878.1.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0878.1.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0878.1.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0878.1.jpg" /></a></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Windows Vista\2008</span>以后的操作系统在接收到任何形式的<span style="font-family: Calibri;" face="Calibri">GARP</span>请求时，不再更新自己的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存而仅通过直接的<span style="font-family: Calibri;" face="Calibri">ARP</span>请求和响应来更新<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存；</span></p>
<p><span style="font-size: small;" size="3">有这两种改进的原因是：</span></p>
<p><span style="font-size: small;" size="3">在之前的系统版本中，所有能接收到<span style="font-family: Calibri;" face="Calibri">GARP</span>设备的系统都会将<span style="font-family: Calibri;" face="Calibri">GARP</span>内包含的<span style="font-family: Calibri;" face="Calibri">IP</span>和<span style="font-family: Calibri;" face="Calibri">MAC</span>信息作为映射存到<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存中，如果该<span style="font-family: Calibri;" face="Calibri">GARP</span>中包含的<span style="font-family: Calibri;" face="Calibri">IP</span>实际上是地址冲突的地址，当地址冲突监测发现后，就会更改<span style="font-family: Calibri;" face="Calibri">IP</span>。但是接收方已经更新了<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存，且短时间内不会删除，稍后便会造成错误的<span style="font-family: Calibri;" face="Calibri">IP</span>地址解析。</span></p>
<p><span style="font-size: small;" size="3">且这两处更改从代码上逻辑的更改，是不可调的。</span></p>
<h1><span style="color: #17365d;" color="#17365d"><span style="font-family: Calibri;" face="Calibri">Changes again</span></span></h1>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">这样的更改固然是减少了由于<span style="font-family: Calibri;" face="Calibri">IP</span>地址冲突造成的一系列问题，但是同样，也对某些依靠<span style="font-family: Calibri;" face="Calibri">GARP</span>更新客户端<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存的设备或架构收到影响，如，<span style="font-family: Calibri;" face="Calibri">Windows Cluster</span>和物理的容错机制。</span></p>
<p><span style="font-size: small;" size="3">当群集中发生<span style="font-family: Calibri;" face="Calibri">Failover</span>的时候，虚拟的<span style="font-family: Calibri;" face="Calibri">IP</span>地址迁移到新的节点（新的<span style="font-family: Calibri;" face="Calibri">MAC</span>地址），新的节点将会广播出<span style="font-family: Calibri;" face="Calibri">GARP</span>做<span style="font-family: Calibri;" face="Calibri">IP</span>地址冲突监测，同时，一些网路设备也<span style="text-decoration: underline;">完全</span>依靠这样的<span style="font-family: Calibri;" face="Calibri">GARP</span>来更新他们的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存，如，一些硬件防火墙，交换机或路由设备。设想，如果群集设备是<span style="font-family: Calibri;" face="Calibri">Windows 2008</span>系统，广播出的<span style="font-family: Calibri;" face="Calibri">GARP</span>并不包含完整的<span style="font-family: Calibri;" face="Calibri">IP</span>和<span style="font-family: Calibri;" face="Calibri">MAC</span>映射信息，网络设备将无法更新自己的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存。造成这些问题的主要原因是大部分的网络设置在<span style="font-family: Calibri;" face="Calibri">Windows 2000</span>和<span style="font-family: Calibri;" face="Calibri">2003</span>期间，设计逻辑过于依赖<span style="font-family: Calibri;" face="Calibri">GARP</span>。因而造成群集在<span style="font-family: Calibri;" face="Calibri">Failover</span>之后，客户端无法联系群集的虚拟<span style="font-family: Calibri;" face="Calibri">IP &ndash; </span>实际上是因为他们中间的路由设备无法通过<span style="font-family: Calibri;" face="Calibri">GARP</span>更新<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存，也无法主动通过发送<span style="font-family: Calibri;" face="Calibri">Unicast</span>的<span style="font-family: Calibri;" face="Calibri">ARP</span>请求以获得响应。这样的问题对于同一个网段的客户端是没有任何影响的，因为他们不依赖于路由设备。不过目前，<span style="font-family: Calibri;" face="Calibri">Windows</span>暂没有针对这种类型的情况作出更新。</span></p>
<p><span style="font-size: small;" size="3">另外一种情况，<span style="font-family: Calibri;" face="Calibri">Windows Vista/2008</span>作为<span style="font-family: Calibri;" face="Calibri">GARP</span>的接收方时不能根据<span style="font-family: Calibri;" face="Calibri">GARP</span>更新自己的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存的问题，<span style="font-family: Calibri;" face="Calibri">Windows</span>在<span style="font-family: Calibri;" face="Calibri">2008 R2</span>期间出了针对于<span style="font-family: Calibri;" face="Calibri">Windows Vista</span>以后所有版本的补丁</span><a href="https://support.microsoft.com/kb/2582281"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" color="#0000ff" size="3">https://support.microsoft.com/kb/2582281</span></a><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">. </span>该补丁<b>再一次更改</b>了其中一个行为，即&ldquo;操作系统在接收到任何形式的<span style="font-family: Calibri;" face="Calibri">GARP</span>请求时，不再更新自己的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存而仅通过直接的<span style="font-family: Calibri;" face="Calibri">ARP</span>请求和响应来更新<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存&rdquo;，更改后，&ldquo;操作系统在接收到由<span style="font-family: Calibri;" face="Calibri">Windows Vista</span>以前的操作系统（如，<span style="font-family: Calibri;" face="Calibri">Windows XP</span>或<span style="font-family: Calibri;" face="Calibri">2003</span>）发出的<span style="font-family: Calibri;" face="Calibri">GARP</span>时，<b>可</b>更新自己的<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存；<span style="font-family: Calibri;" face="Calibri"> </span>接收到<span style="font-family: Calibri;" face="Calibri">Windows Vista</span>以后的系统发出的<span style="font-family: Calibri;" face="Calibri">GARP</span>时，仍不更新<span style="font-family: Calibri;" face="Calibri">ARP</span>缓存&rdquo;。</span></p>]]></content:encoded>
    </item>
    <item>
      <title>[Offline Files] Account Migration might cause problem with Folder Redirection</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/offline-files-account-migration-might-cause-problem-with-folder-redirection</link>
      <pubDate>Fri, 20 Jul 2012 01:11:49 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/07/20/offline-files-account-migration-might-cause-problem-with-folder-redirection/</guid>
      <description><![CDATA[文件重定向
&nbsp;
文件重定向（Folder...]]></description>
      <content:encoded><![CDATA[<h1><span style="color: #17365d;" color="#17365d">文件重定向</span></h1>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">文件重定向（<span style="font-family: Calibri;" face="Calibri">Folder Redirection</span>）是指通过组策略的配置将用户的&ldquo;应用程序数据&rdquo;、&ldquo;桌面&rdquo;、&ldquo;我的文档&rdquo;、&ldquo;图片收藏&rdquo;和&ldquo;「开始」菜单&rdquo;文件夹存储在制定的网络路径上并删除本地文件。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">文件重定向的配置可以在组策略的如下位置：</span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">User Configuration\Policies\Windows Settings\Folder Redirection</span></span></p>
<p><span style="font-size: small;" size="3">右键点击其中一个文件夹（如，<span style="font-family: Calibri;" face="Calibri">Desktop</span>），在属性页中进行配置。一般来说，选用<span style="font-family: Calibri;" face="Calibri">Advanced</span>配置，即在制定的网络路径下创建单独的<span style="font-family: Calibri;" face="Calibri">User Folder</span>（以用户名命名）。</span></p>
<p><span style="font-size: small;" size="3">组策略执行成功后，用户的桌面信息就不再是存在本地的了，而且从网络共享目录下读取，写入。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<h1><span style="color: #17365d;" color="#17365d">文件重定向和<span style="font-family: Calibri;" face="Calibri">Offline Files</span></span></h1>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">虽然文件重定向实现了对用户数据的集中管理和备份，但是因此而造成的网络流量也是不容忽视的。因此，从<span style="font-family: Calibri;" face="Calibri">Windows Xp</span>开始，文件重定向指向的网络路径也同时默认被设置为<span style="font-family: Calibri;" face="Calibri">Offline Available</span>。这一行为可以通过组策略&ldquo;<span style="font-family: Calibri;" face="Calibri">Do not automatically make all redirected folders available offline</span>&rdquo;进行修改。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<h1><span style="color: #17365d;" color="#17365d">案例背景</span></h1>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">基于以上的背景信息，下面描述一个真实的案例：</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Domain1</span>的组策略设置<span style="font-family: Calibri;" face="Calibri">Domain Users User Group</span>用户的<span style="font-family: Calibri;" face="Calibri">My Documents</span>被重定向到<span style="font-family: Calibri;" face="Calibri">\\filesvr\sharefolder</span>路径。<span style="font-family: Calibri;" face="Calibri">sharefolder</span>的权限配置参照：</span><a href="https://technet.microsoft.com/en-us/library/cc736916(WS.10).aspx"><span style="font-family: Calibri; color: #0000ff; font-size: small;" size="3" face="Calibri" color="#0000ff">https://technet.microsoft.com/en-us/library/cc736916(WS.10).aspx</span></a></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;User1</span>属于<span style="font-family: Calibri;" face="Calibri">Domain Users</span>，于是，<span style="font-family: Calibri;" face="Calibri">User1</span>第一次登陆后能在<span style="font-family: Calibri;" face="Calibri">\\filesvr\sharefolder </span>下创建<span style="font-family: Calibri;" face="Calibri">User1</span>文件夹<span style="font-family: Calibri;" face="Calibri">\\filesvr\sharefolder\User1\My Documents</span>。并且，在<span style="font-family: Calibri;" face="Calibri">User1</span>登陆的客户端上<span style="font-family: Calibri;" face="Calibri">CSC</span>创建了对应的<span style="font-family: Calibri;" face="Calibri">Offline Cache</span>在<span style="font-family: Calibri;" face="Calibri">C:\Windows\CSC\v2.0.6\namespace\filesvr\sharefolder\User1\My Document</span>。</span></p>
<p><span style="font-size: small;" size="3">不久之后，客户的环境实施了一次<span style="font-family: Calibri;" face="Calibri">Domain Migration</span>。所有的用户账号也随之迁移到了新的域中，如从<span style="font-family: Calibri;" face="Calibri">Domain1\User1</span>到<span style="font-family: Calibri;" face="Calibri">Domain2\User1</span>。</span></p>
<p><span style="font-size: small;" size="3">因为<span style="font-family: Calibri;" face="Calibri">Filesvr</span>也同样做了<span style="font-family: Calibri;" face="Calibri">Domain</span>的迁移，客户将<span style="font-family: Calibri;" face="Calibri">sharefolder</span>的<span style="font-family: Calibri;" face="Calibri">permission</span>重新配置了一遍保证<span style="font-family: Calibri;" face="Calibri">Domain2</span>的用户有正确的权限（甚至于<span style="font-family: Calibri;" face="Calibri">Full Control</span>）。</span></p>
<p><span style="font-size: small;" size="3">然而，当<span style="font-family: Calibri;" face="Calibri">Domain2\User1</span>登陆时，他<span style="font-family: Calibri;" face="Calibri">\</span>她却始终无法看到<span style="font-family: Calibri;" face="Calibri">My Documents</span>里面的旧文件。他可以继续创建新的文件，并且通过<span style="font-family: Calibri;" face="Calibri">Ip</span>和<span style="font-family: Calibri;" face="Calibri">FQDN</span>访问<span style="font-family: Calibri;" face="Calibri">sharefolder\User1\My Document</span>目录时，他可以看到所有的文件，新的和旧的。</span></p>
<h1><span style="color: #17365d;" color="#17365d">案例分析</span></h1>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">这是为什么呢？</span></p>
<p><span style="font-size: small;" size="3">原来，此时用户的客户端本地已经生成了两份<span style="font-family: Calibri;" face="Calibri">Cache &ndash; </span>一份是之前用户在<span style="font-family: Calibri;" face="Calibri">Domain1</span>时生成的，一份是用户在<span style="font-family: Calibri;" face="Calibri">Domain2</span>时生成的。<span style="font-family: Calibri;" face="Calibri">Domain2\User1</span>对旧的那份<span style="font-family: Calibri;" face="Calibri">Cache</span>没有访问权限。</span></p>
<p><span style="font-size: small;" size="3">当用户账号在做<span style="font-family: Calibri;" face="Calibri">Domain Migration</span>的时候，即使保持用户名不变，用户的<span style="font-family: Calibri;" face="Calibri">primary Security Identifier (SID)</span>却已经不一样了。而，<span style="font-family: Calibri;" face="Calibri">Sid</span>正好是<span style="font-family: Calibri;" face="Calibri">CSC</span>储存的<span style="font-family: Calibri;" face="Calibri">Cache</span>的重要属性之一。</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">CSC</span>使用<span style="font-family: Calibri;" face="Calibri">Sid</span>来判断用户对<span style="font-family: Calibri;" face="Calibri">Cache</span>有无权限。那么，显然<span style="font-family: Calibri;" face="Calibri">Domain2\User1</span>是无法看到由<span style="font-family: Calibri;" face="Calibri">Domain1\User1</span>创建出来的<span style="font-family: Calibri;" face="Calibri">Cache</span>的。</span></p>
<p><span style="font-size: small;" size="3">同时，由于启用<span style="font-family: Calibri;" face="Calibri">CSC</span>的特殊性，即使是<span style="font-family: Calibri;" face="Calibri">Online</span>的情况下，访问网络路径前，都需要经过对本地<span style="font-family: Calibri;" face="Calibri">Cache</span>的判断。所以，如果<span style="font-family: Calibri;" face="Calibri">User1</span>对<span style="font-family: Calibri;" face="Calibri">Cache</span>没有权限，也无法看到</span><a href="file://filesvr/sharefolder/User1"><span style="font-family: Calibri; color: #0000ff; font-size: small;" size="3" face="Calibri" color="#0000ff">\\filesvr\sharefolder\User1</span></a><span style="font-size: small;" size="3">路径下的旧文件（账号迁移前）。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">也许您会问，为什么创建新的<span style="font-family: Calibri;" face="Calibri">Cache</span>的时候不能从服务器上把旧文件下载再下来？</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">CSC</span>在下载服务器文件的时候，<b>仅</b>对文件的路径进行比对，如果此路径的文件已经存在，那么下载无法进行（在这个案例里，特殊点在于，用户账号迁移前后用户名无变化，都是<span style="font-family: Calibri;" face="Calibri">User1</span>；如果用户名完全改变就不会存在任何问题了）。</span></p>
<h1><span style="color: #17365d;" color="#17365d">解决方案</span></h1>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">唯一的解决方案是：初始化客户端的<span style="font-family: Calibri;" face="Calibri">CSC Cache</span>。参照</span><a href="https://support.microsoft.com/kb/942974"><span style="font-family: Calibri; color: #0000ff; font-size: small;" size="3" face="Calibri" color="#0000ff">https://support.microsoft.com/kb/942974</span></a></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">考虑到数据丢失问题，建议使用<span style="font-family: Calibri;" face="Calibri">Script</span>对<span style="font-family: Calibri;" face="Calibri">C:\Windows\CSC</span>路径进行备份，须使用<span style="font-family: Calibri;" face="Calibri">System</span>账号。</span></p>]]></content:encoded>
    </item>
    <item>
      <title>[Offline Files] Configure Slow Link Mode 组策略的配置和Slow Link 检测行为</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/offline-files-configure-slow-link-mode-slow-link</link>
      <pubDate>Fri, 20 Jul 2012 01:10:31 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/07/20/offline-files-configure-slow-link-mode-slow-link/</guid>
      <description><![CDATA[CSC的Online和Offline模式是针对整个共享文件夹的，这一点我们在之前的文章中已有讨论。那么，到底它的具体影响和体现在哪里呢？举个例子：
CSC不能将\\filesvr.example.c...]]></description>
      <content:encoded><![CDATA[<p>CSC的Online和Offline模式是针对整个共享文件夹的，这一点我们在之前的文章中已有讨论。那么，到底它的具体影响和体现在哪里呢？举个例子：</p>
<p>CSC不能将<a href="file://filesvr.example.com/sharefolder/User1">\\filesvr.example.com\sharefolder\User1</a>设置为offline的同时将<a href="file://filesvr.example.com/sharefolder/User2">\\filesvr.example.com\sharefolder\User2</a>设置为online。它只能将<a href="file://filesvr.example.com/sharefolder/">\\filesvr.example.com\sharefolder\</a>设置为online或者offline。</p>
<p>所以，当CSC在监测网络的Latency或Throughput的时候，实际上是在监测连接<a href="file://filesvr.example.com/sharefolder">\\filesvr.example.com\sharefolder</a>的Latency和Throughput。因此，我们在配置Configure Slow Link Mode组策略的时候，所设置的UNC路径<b>必须</b>是共享文件根目录,如,\\filesvr.exampl.com\sharefolder。</p>
<p>注意: 虽然组策略的示例中包含双引号,但是实际配置时<b>不能使用双引号</b>.</p>
<p>&nbsp;如果,配置组策略时没有按照以上规则设置,组策略无法生效. 我们遇到过很多类似的问题,最终的解决方案是设置如下形式的组策略:</p>
<p>Value Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Value</p>
<p><a href="file://filesvr.example.com/sharefolder">\\filesvr.example.com\sharefolder</a>&nbsp;&nbsp;&nbsp;&nbsp; latency=30</p>
<p>另外, 在Windows 7系统中设置Slow Link Mode有两个阀值: Latency和Throughput. 注意,</p>
<p>1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两个参数可以只设置一个;</p>
<p>2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果两个同时设置, CSC会优先判断Latency,且两个参数是取并集,如,当前网络连接的Latency大于阀值,直接转换成Offline模式；如果当前网络连接的Latency小于阀值，CSC检查当前的Throughput，如果小于阀值，转换成Offline模式；</p>
<p>3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Slow Link模式的监测缺省情况下是每5分钟发生一次，当从Offline模式转换成Online模式时，仅监测Latency而不监测Throughput。</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server 2003服务器svchost.exe进程意外停止crash问题分析</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/windows-server-2003svchost-execrash</link>
      <pubDate>Fri, 20 Jul 2012 00:53:00 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/07/20/windows-server-2003svchost-execrash/</guid>
      <description><![CDATA[最近经常碰到一些基于svchost.exe的服务意外停止的案例。（例如：Computer Browser service、Server service、Windows Management...]]></description>
      <content:encoded><![CDATA[<p>最近经常碰到一些基于<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>的服务意外停止的案例。（例如：<span style="font-family: Calibri;" face="Calibri">Computer Browser service</span>、<span style="font-family: Calibri;" face="Calibri">Server <span style="font-size: small;" size="3">service</span></span><span style="font-size: small;" size="3">、<span style="font-family: Calibri;" face="Calibri">Windows Management Instrumentation service</span>等停止提供服务）。</span></p>
<p class="para">首先我们看一下什么是svchost.exe, 以及为什么这么多的服务都会受到svchost.exe的影响：</p>
<p class="para"><br />- Svchost.exe 是计算机上的一个进程，该进程包含Windows 用于执行各种功能的多个或单独服务。例如，Computer Browser service和Server service使用同一个 svchost.exe 进程宿主的服务。</p>
<p class="para"><span style="font-size: small;" size="3">- 可以有多个 svchost.exe 的实例在计算机上运行，其中每个实例都包含不同的服务。svchost.exe 的一个实例可能宿主程序的单个服务，而另一个实例则可能宿主与 Windows 相关的多个服务。可以</span>在CMD窗口下运行tasklist -svc命令<span style="font-size: small;" size="3">查看在 svchost.exe 的每个实例下正在运行的服务。</span>见下图：<span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"> </span></span></p>
<p class="para"><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0066.111.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0066.111.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0066.111.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0066.111.jpg" /></a></span></span></p>
<p>上图中如果<span style="font-family: Calibri;" face="Calibri">PID</span>为<span style="font-family: Calibri;" face="Calibri">884</span>的<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>意外终止，那么所有对应于该<span style="font-family: Calibri;" face="Calibri">PID</span>的服务都将停止服务。可见造成的影响非常巨大。</p>
<p>什么是<span style="font-family: Calibri;" face="Calibri"> svchost.exe</span>？<br /><a href="https://windows.microsoft.com/zh-cn/windows-vista/What-is-svchost-exe"><span style="font-family: Calibri; color: #0000ff;" face="Calibri" color="#0000ff">https://windows.microsoft.com/zh-cn/windows-vista/What-is-svchost-exe#</span></a><span style="font-family: Calibri;" face="Calibri"> </span></p>
<p>那么<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>意外终止后，如何解决呢？一般可以尝试下面的步骤：</p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">首先您可以手工启动受到影响的服务，或重启计算机以尽快从故障中恢复。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">其次可以检查计算机是否安装了以下补丁：</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">MS08-067 Security Bulletin - </span><a href="https://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx"><span style="font-family: Calibri; color: #0000ff; font-size: small;" size="3" face="Calibri" color="#0000ff">https://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx</span></a><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">KB932762 </span><a href="https://support.microsoft.com/kb/932762/EN-US"><span style="font-family: Calibri; color: #0000ff; font-size: small;" size="3" face="Calibri" color="#0000ff">https://support.microsoft.com/kb/932762/EN-US</span></a><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri"> &nbsp;</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">3.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">如果您使用了<span style="font-family: Calibri;" face="Calibri">System Center</span>产品，该产品针对网卡的一些<span style="font-family: Calibri;" face="Calibri">rules</span>和<span style="font-family: Calibri;" face="Calibri">monitors</span>会触发<span style="font-family: Calibri;" face="Calibri">Windows Server 2003</span>系统<span style="font-family: Calibri;" face="Calibri">netman</span>的一个<span style="font-family: Calibri;" face="Calibri">bug</span>。该<span style="font-family: Calibri;" face="Calibri">bug</span>将导致与<span style="font-family: Calibri;" face="Calibri">netman</span>相关的<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>异常终止。下面列出一些可能触发问题的<span style="font-family: Calibri;" face="Calibri">rules</span>和<span style="font-family: Calibri;" face="Calibri">monitors</span>：</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Rules:</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedReads.Collection (Percent Bandwidth Used Read) </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedWrites.Collection (Percent Bandwidth Used Write) </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedTotal.Collection (Percent Bandwidth Used Total) </span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Monitors:</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedReads (Percent Bandwidth Used Read) </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedWrites (Percent Bandwidth Used Write) </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">-</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">Microsoft.Windows.Server.2003.NetworkAdapter.PercentBandwidthUsedTotal (Percent Bandwidth Used Total)</span></span></p>
<p><span style="font-size: small;" size="3">在这种环境下我们需要根据以下<span style="font-family: Calibri;" face="Calibri">blog</span>中的步骤禁用这些<span style="font-family: Calibri;" face="Calibri">rules</span>和<span style="font-family: Calibri;" face="Calibri">monitors</span>：</span></p>
<p><a href="https://blogs.technet.com/b/kevinholman/archive/2011/12/12/opsmgr-network-utilization-scripts-in-baseos-mp-version-6-0-6958-0-may-cause-high-cpu-utilization.aspx"><span style="font-family: Calibri; color: #0000ff;" face="Calibri" color="#0000ff">https://blogs.technet.com/b/kevinholman/archive/2011/12/12/opsmgr-network-utilization-scripts-in-baseos-mp-version-6-0-6958-0-may-cause-high-cpu-utilization.aspx</span></a><span style="font-family: Calibri;" face="Calibri"> </span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">4.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">如果以上方法都无法解决问题，那么<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>可能由一些其他的原因导致。这种情况下我们可以做以下尝试：</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp; 4.1 </span>如果一个<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>实例包含了多个服务，那么某个服务出现异常会导致这个<span style="font-family: Calibri;" face="Calibri">svchos.exe</span>终止。这个实例中的其他程序都受到影响。为了减小受影响的范围，我们可以把这些服务独立出来，每个<span style="font-family: Calibri;" face="Calibri">svchost.exe</span>实例仅包含一个服务。例如把<span style="font-family: Calibri;" face="Calibri">netman</span>服务独立出来的命令如下：</span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">&nbsp;&nbsp;&nbsp;&nbsp; Sc config netman type= own</span></span></p>
<p><span style="font-size: small;" size="3">&nbsp;&nbsp;&nbsp; 注：执行这个步骤后建议重启计算机使设置生效。</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; 4.2 </span>联系微软技术支持中心，我们的工程师会协助您排查这个问题。为了提高排查效率，您可以先行收集<span style="font-family: Calibri;" face="Calibri">dump</span>（内存转储）文件。一般<span style="font-family: Calibri;" face="Calibri">dump</span>文件可以比较明确的发现原因。步骤如下：</span></p>
<p>-. 从以下链接下载 userdump tool 工具: (<a href="https://www.microsoft.com/downloads/details.aspx?FamilyID=e089ca41-6a87-40c8-bf69-28ac08570b7e&amp;DisplayLang=en"><span style="color: #0000ff;" color="#0000ff">https://www.microsoft.com/downloads/details.aspx?FamilyID=e089ca41-6a87-40c8-bf69-28ac08570b7e&amp;DisplayLang=en</span></a>).</p>
<p>-. 运行该工具后，该工具会解压到默认文件夹 c:\kktools\userdump8.1. 根据您系统架构在x86 或 x64下运行setup.exe.</p>
<p>-. 之后在Control Panel 中打开Process Dumper 进行配置.</p>
<p>-. 点击 New 输入 <span style="background-color: #ffff00;">svchost.exe</span> 作为 Application Name. 点击 OK保存设置.</p>
<p>-. 高亮svchost.exe ，点击 Rules。</p>
<p>a. 选择 user custom rules.</p>
<p>b. 选择一个 文件夹用来存放生成的dump文件.</p>
<p>c. 在Exception Codes中高亮 <span style="background-color: #ffff00;">Access Violation</span>。</p>
<p>d. 将 minidump type 设置为 Complete.</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/7317.222.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/7317.222.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/7317.222.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/7317.222.jpg" width="391" height="543" /></a></p>
<p></p>
<p>-. 点击OK保存设置.</p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>]]></content:encoded>
    </item>
    <item>
      <title>群集中某些打印机的驱动无法复制到特定节点上</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/19</link>
      <pubDate>Fri, 20 Jul 2012 00:51:00 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/07/20/19/</guid>
      <description><![CDATA[在将群集中的打印服务从一个节点转移到另一个节点上后，可能会发现某些队列在新节点上虽然可以显示，但是对应打印机的驱动却丢失了。重复在节点之间转移打印服务也不能将这些打印机的驱动复制到那个特定的节点上。...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: small;" size="3">在将群集中的打印服务从一个节点转移到另一个节点上后，可能会发现某些队列在新节点上虽然可以显示，但是对应打印机的驱动却丢失了。重复在节点之间转移打印服务也不能将这些打印机的驱动复制到那个特定的节点上。</span></p>
<p><span style="font-size: small;" size="3">本文将讨论此类问题发生的原因，并分析碰到此类问题时可以采取的一些基本排错步骤。</span></p>
<p><span style="font-size: small;" size="3"><b>注意：</b>在您将本文提到的步骤或方法应用到您的实际环境中之前，请先使用<span style="font-family: Calibri;" face="Calibri">Print Migrator Tool</span>备份当前的所有设置。</span></p>
<p><span style="font-size: small;" size="3">当我们建立群集并在群集节点上安装打印机驱动时，安装进程会将打印机驱动程序文件复制到共享文件夹<span style="font-family: Calibri;" face="Calibri">\\</span>虚拟服务器<span style="font-family: Calibri;" face="Calibri">\print$ </span>上，<span style="font-family: Calibri;" face="Calibri"> </span>打印机驱动程序同时会被复制到群集内<span style="font-family: Calibri;" face="Calibri"> </span>当前拥有此打印群集资源的节点上的本地文件夹：<span style="font-family: Calibri;" face="Calibri"> %SystemRoot%\System32\Spool\Drivers\&lt;</span>后台打印程序<span style="font-family: Calibri;" face="Calibri"> GUID&gt;\Drivers </span>。驱动程序还会被复制到共享磁盘的<span style="font-family: Calibri;" face="Calibri"> \PrinterDrivers </span>文件夹中。</span></p>
<p><span style="font-size: small;" size="3">群集中打印机驱动信息存放在注册表键<span style="font-family: Calibri;" face="Calibri">HKLM\CLUSTER\Resources\&lt;Cluster Resource GUID&gt;\Parameters\Environments\&lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt; </span>下，该打印驱动信息对应的是群集打印队列中关联打印机当前的最新打印驱动程序信息。同时在群集中各个节点本地，也维护着打印机驱动信息，对应打印驱动的文件，如上段提到，存放在文件夹<span style="font-family: Calibri;" face="Calibri">SystemRoot%\System32\Spool\Drivers\&lt;</span>后台打印程序<span style="font-family: Calibri;" face="Calibri"> GUID&gt;\Drivers</span>下，对应这些打印机驱动的信息，存放在节点注册表键<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>下。在将打印群集资源转移到其他节点的过程中，目标节点的<span style="font-family: Calibri;" face="Calibri">Spoolsv.exe</span>针对各个打印驱动，首先会检查上面提到的两个注册表键下的各个子健，其中包括键值<span style="font-family: Calibri;" face="Calibri">Timestamp</span>，如果<span style="font-family: Calibri;" face="Calibri">HKLM\CLUSTER\Resources\&lt;Cluster Resource GUID&gt;\Parameters\Environments\&lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt; </span>下的<span style="font-family: Calibri;" face="Calibri">Timestamp</span>比<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>下的要新，或者目标节点上根本不存在<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Print Driver Name&gt;</span>这个键值，则表明该打印机驱动是打印服务处于其他节点上时发生了更新，或者是新安装上去的，<span style="font-family: Calibri;" face="Calibri">spoolsv.exe</span>此时需要将打印机驱动文件从共享文件夹处拷贝到该节点的本地文件夹下。</span></p>
<p><span style="font-size: small;" size="3">根据上述有关打印驱动复制的信息，我们可以得出结论：存放在群集节点本地的打印驱动程序文件，和在键值<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>下的信息，需要保持严格一致。如果因为某种原因，群集中某个节点的打印驱动程序实际信息和该打印驱动对应的键值不一致，就可能导致驱动程序在打印群集资源转移时复制不正常。</span></p>
<p><span style="font-size: small;" size="3">所以，当您发现群集中某个节点的某些打印驱动程序无法正常复制，请首先检查如下信息：</span></p>
<ol>
<li><span style="font-size: small;" size="3">节点上的注册表键值<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span></span></li>
<li><span style="font-size: small;" size="3">同一节点，通过打印管理程序检查相应的打印机驱动程序是否存在，以及对应的版本信息。</span></li>
<li><span style="font-size: small;" size="3">检查本节点和群集节点上的注册表键值注册表键<span style="font-family: Calibri;" face="Calibri">HKLM\CLUSTER\Resources\&lt;Cluster Resource GUID&gt;\Parameters\Environments\&lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>。</span></li>
</ol>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">如果您在检查上述信息时，发现对应节点上，注册表键值中有关驱动程序的信息和该节点本地实际存在的驱动程序不符，或者本地注册表键值中有关该驱动程序子健下的键值<span style="font-family: Calibri;" face="Calibri">TimeStamp</span>比<span style="font-family: Calibri;" face="Calibri">HKLM\CLUSTER\Resources\&lt;Cluster Resource GUID&gt;\Parameters\Environments\&lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>下的<span style="font-family: Calibri;" face="Calibri">TimeStamp</span>要新，则表示该节点上，有关该驱动程序的相关注册表键值已经损坏或无效。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">解决此问题，可以首先备份<span style="font-family: Calibri;" face="Calibri">HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster Resource GUID&gt;\ &lt;Windows X86 or Windows X64&gt;\Drivers\Version-3\&lt;Printer driver name&gt;</span>键，之后将该键删除，并将群集打印资源再次转移到该节点上。</span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">如果上述信息依然无法帮助我们解决该问题，我们可以在复现问题时，收集如下信息：</span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Netmon(download link https://www.microsoft.com/en-us/download/details.aspx?id=4865)</span></span></li>
<li><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">Procmon(download link: https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)</span></span></li>
</ol>
<p><span style="font-size: small;" size="3">在其中您可以看到在打印资源转移过程中，目标节点的<span style="font-family: Calibri;" face="Calibri">Clussvc.exe </span>和<span style="font-family: Calibri;" face="Calibri">Spoolsv.exe</span>进程会访问相关的注册表键值，如下所示：</span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8554361 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clussvc.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2088&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegOpenKey&nbsp;&nbsp;&nbsp;&nbsp; HKLM\CLUSTER\Resources\&lt;Cluster GUID&gt;\Parameters\Environments\&lt;Platform type&gt;\Drivers\Version-3\&lt;Driver name&gt;\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8554772 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clussvc.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2088&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegQueryValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKLM\CLUSTER\Resources\&lt;Cluster GUID&gt;\Parameters\Environments\&lt;Platform type&gt;\Drivers\Version-3\&lt;Driver name&gt;\TimeStamp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type: REG_BINARY, Length: 16, Data: DC 07 04 00 04 00 13 00 0A 00 16 00 1C 00 D8 00</span></span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8555134 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clussvc.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2088&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKLM\CLUSTER\Resources\&lt;Cluster GUID&gt;\Parameters\Environments\&lt;Platform type&gt;\Drivers\Version-3\&lt;Driver name&gt;\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8556160 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; spoolsv.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1284&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegCreateKey&nbsp;&nbsp; HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster GUID&gt;\&lt;Platform type&gt;\Version-3\&lt;Driver Name&gt; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8556308 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; spoolsv.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1284&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegQueryValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster GUID&gt;\&lt;Platform type&gt;\Version-3\&lt;Driver Name&gt;\TimeStamp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type: REG_BINARY, Length: 16, Data: DC 07 04 00 04 00 13 00 09 00 1F 00 27 00 A7 03</span></span></p>
<p><span style="font-family: Calibri;" face="Calibri"><span style="font-size: small;" size="3">8:30:11.8556902 AM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; spoolsv.exe&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1284&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegCloseKey&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Cluster\&lt;Cluster GUID&gt;\&lt;Platform type&gt;\Version-3\&lt;Driver Name&gt; SUCCESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">如果复制问题是由于网络失败，而非节点的注册表信息不正确所引起，在<span style="font-family: Calibri;" face="Calibri">Netmon</span>中，可以看到节点尝试访问对应文件夹失败的网络包。</span></p>]]></content:encoded>
    </item>
    <item>
      <title>使用IPsec实现同一网段上不同group间的访问控制</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/ipsecgroup</link>
      <pubDate>Fri, 20 Jul 2012 00:43:36 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/?p=11</guid>
      <description><![CDATA[在某些企业环境中，需要以group为单位实现访问控制。例如，允许同一部门（一个部门对应一个group）内的计算机相互访问；同时阻止不同部门间的互访。对于小型企业，我们可以调整网络拓扑，将不同group...]]></description>
      <content:encoded><![CDATA[<p>在某些企业环境中，需要以group为单位实现访问控制。例如，允许同一部门（一个部门对应一个group）内的计算机相互访问；同时阻止不同部门间的互访。对于小型企业，我们可以调整网络拓扑，将不同group的计算机部署到不同网段，从而通过路由器的IP包过滤功能来实现网络隔离。而对于网络架构成熟的大型企业，重新部署网络拓扑工作量过大，可行性很差。此时，需要找到一种方法，实现同一网段中不同group间的访问控制。</p>
<p>&nbsp;</p>
<p>本文着重讨论实现这一需求的具体方法。</p>
<h2><span style="font-size: large;" size="3"><span style="font-family: 宋体;" face="宋体">实现条件<em><span style="color: #808080;" color="#808080">：</span></em></span></span></h2>
<ol>
<li>该策略要求所有计算机运行Windows Vista/2008/7或以上操作系统。</li>
<li>所有group均可访问的DC和其他公共服务器须与受控计算机位于不同IP地址范围内。</li>
<li>统计所有group所属IP地址范围。</li>
</ol>
<h2><span style="font-size: large;" size="3"><span style="font-family: 宋体;" face="宋体">实现思路：</span></span></h2>
<p>注：所有group均可访问的DC和其他公共服务器必须位于该地址范围之外。</p>
<ol>
<li>对该范围内所有计算机启用相同的IPsec策略。</li>
<li>配置Windows防火墙incoming策略，对属于每个group的计算机，只允许接受来自相同group的incoming流量（请保持outgoing策略不变）。</li>
</ol>
<h2><span style="font-size: large;" size="3"><span style="font-family: 宋体;" face="宋体">配置步骤：</span></span></h2>
<h3><span style="font-size: large;"><span style="font-family: 宋体;" size="3" face="宋体">1.</span>&nbsp; <span size="3"><span style="font-family: 宋体;" face="宋体">实验环境</span></span></span></h3>
<p>本文以一台DC和三台客户端为例进行阐述，其中4台计算机的情况如下图所示：</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0412.topological%20graph.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0412.topological-graph.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/0412.topological%20graph.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/0412.topological-graph.png" /></a></p>
<p><span style="font-size: small;" size="3">从上图可以看出，三台客户机位于同一网段<span style="font-family: Times New Roman;" face="Times New Roman">192.168.0.X</span>。其中，<span style="font-family: Times New Roman;" face="Times New Roman">Client1W7</span>属于<span style="font-family: Times New Roman;" face="Times New Roman">Group1</span>，<span style="font-family: Times New Roman;" face="Times New Roman">Client2W7</span>和<span style="font-family: Times New Roman;" face="Times New Roman">Client3W7</span>属于<span style="font-family: Times New Roman;" face="Times New Roman">Group2</span>。我们的目标是，使<span style="font-family: Times New Roman;" face="Times New Roman">Group1</span>和<span style="font-family: Times New Roman;" face="Times New Roman">Group2</span>中的计算机不能相互访问，同一<span style="font-family: Times New Roman;" face="Times New Roman">Group</span>中的计算机访问正常。如下表：</span></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="160">
<p>&nbsp;</p>
</td>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client1W7</span></span></p>
</td>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client2W7</span></span></p>
</td>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client3W7</span></span></p>
</td>
</tr>
<tr>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client1W7</span></span></p>
</td>
<td valign="top" width="160">
<p>N/A</p>
</td>
<td valign="top" width="160">
<p>不能访问</p>
</td>
<td valign="top" width="160">
<p>不能访问</p>
</td>
</tr>
<tr>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client2W7</span></span></p>
</td>
<td valign="top" width="160">
<p>不能访问</p>
</td>
<td valign="top" width="160">
<p>N/A</p>
</td>
<td valign="top" width="160">
<p>可以访问</p>
</td>
</tr>
<tr>
<td valign="top" width="160">
<p><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman">Client3W7</span></span></p>
</td>
<td valign="top" width="160">
<p>不能访问</p>
</td>
<td valign="top" width="160">
<p>可以访问</p>
</td>
<td valign="top" width="160">
<p>N/A</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3><span style="font-size: large;"><span style="font-family: 宋体;" size="3" face="宋体">2.</span>&nbsp; <span size="3"><span style="font-family: 宋体;" face="宋体">实验步骤</span></span></span></h3>
<h4><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">(1)在DC上建立一条启用IPsec的组策略。</span></span></h4>
<ol>
<li>运行gpmc.msc。打开组策略管理工具。</li>
<li>在Group Policy Management中，右击域名，点击&ldquo;Create a GPO in this domain, and link it here&hellip;&rdquo;<span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"> </span></span></li>
<li><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"></span></span>输入组策略名。</li>
<li>右击新建立的组策略，点击&rdquo;Edit&rdquo;，打开编辑界面。依次展开&rdquo;Computer Configuration&rdquo;-&gt;&rdquo;Policy&rdquo;-&gt;&rdquo;Windows Settings&rdquo;-&gt;&rdquo;Security Settings&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Connection Security Rules&rdquo;。在右侧空白处右击，点击&ldquo;New Rule&rdquo;新建一条规则。<span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"> </span></span></li>
<li><span style="font-size: small;" size="3"><span style="font-family: Times New Roman;" face="Times New Roman"></span></span>在&ldquo;Rule Type&rdquo;页面中选择&ldquo;Custom&rdquo;，点击&ldquo;Next&rdquo;。&nbsp;在&ldquo;Endpoints&rdquo;页面中，选择&ldquo;Which computers are in Endpoint 1&rdquo;下的&ldquo;These IP addresses&rdquo;。点击&ldquo;Add&rdquo;。在出现的对话框中输入需要访问控制的网段。此处为192.168.0.201~192.168.0.210，该网段包含了实验环境中需受控制的三台客户机的IP地址。点击&ldquo;OK&rdquo;。</li>
<li>选择&ldquo;Which computers are in Endpoint 2&rdquo;下的&ldquo;These IP addresses&rdquo;。点击&ldquo;Add&rdquo;。在出现的对话框中输入需要访问控制的网段。此处同为192.168.0.201~192.168.0.210，点击&ldquo;OK&rdquo;。</li>
<li>在&ldquo;Requirements&rdquo;页面中，选择&ldquo;Require authentication for inbound and outbound connections&rdquo;。点击&ldquo;Next&rdquo;。</li>
<li><span style="font-size: small;" size="3">点击&ldquo;Next&rdquo;。</span></li>
<li><span style="font-size: small;" size="3"></span>在&ldquo;Requirements&rdquo;页面中，选择&ldquo;Require authentication for inbound and outbound connections&rdquo;。点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Authentication Method&rdquo;页面中，选择&ldquo;Computer(Kerberos V5)&rdquo;。点击&ldquo;Next&rdquo;。</li>
<li>点击&ldquo;Next&rdquo;。点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Name&rdquo;页面中，输入规则名。点&ldquo;Finish&rdquo;。<span style="font-family: Times New Roman;" face="Times New Roman"><span style="font-size: small;" size="3"> </span></span></li>
</ol>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span><span style="font-family: 宋体;" face="宋体"><span style="font-size: small;" size="3">(2)在DC上建立针对group1的组策略，该策略阻止所有incoming连接，仅允许同组的计算机访问。</span></span></p>
<ol>
<li>在Group Policy Management中，右击域名，点击&ldquo;Create a GPO in this domain, and link it here&hellip;&rdquo;，建立一条新的组策略。</li>
<li>在新建立的组策略中，建立一条阻止所有incoming连接的防火墙规则。</li>
<ol>
<li>右击新建立的组策略，点击&rdquo;Edit&rdquo;，打开编辑界面。依次展开&rdquo;Computer Configuration&rdquo;-&gt;&rdquo;Policy&rdquo;-&gt;&rdquo;Windows Settings&rdquo;-&gt;&rdquo;Security Settings&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Inbound Rules&rdquo;。在右侧空白处右击，点击&ldquo;New Rule&rdquo;新建一条规则。</li>
<li>在&ldquo;Rule Type&rdquo;中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Program&rdquo;中，选择&ldquo;All programs&rdquo;,点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Action&rdquo;中，选择&ldquo;Block the connection&rdquo;，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Profile&rdquo;中，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Name&rdquo;页面中，输入策略名，如&ldquo;Block All&rdquo;。点击&ldquo;Finish&rdquo;。</li>
</ol>
<li>在同一组策略中，建立一条允许来自group1的incoming连接的防火墙规则。</li>
<ol>
<li>在同一组策略中，依次展开&rdquo;Computer Configuration&rdquo;-&gt;&rdquo;Policy&rdquo;-&gt;&rdquo;Windows Settings&rdquo;-&gt;&rdquo;Security Settings&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Windows Firewall with Advanced Security&rdquo;-&gt;&rdquo;Inbound Rules&rdquo;。在右侧窗格中（已存在一条名为&rdquo;Block All&rdquo;的防火墙规则），点击&ldquo;New Rule&rdquo;新建一条规则。</li>
<li>在&ldquo;Rule Type&rdquo;中，选择&ldquo;Custom&rdquo;，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Program&rdquo;中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Protocol and Ports&rdquo;中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Scope&rdquo;中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Action&rdquo;中，选择&ldquo;Allow the connection if it is secure&rdquo;。</li>
<li>点击&ldquo;Customize&hellip;&rdquo;，选择&rdquo;Allow the connection to use null encapsulation&rdquo;，选择&ldquo;Override block rules&rdquo;，点击&ldquo;OK&rdquo;。</li>
<li>在&ldquo;Users&rdquo; 中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Computers&rdquo; 中，选择&ldquo;Only allow connections from these computers&rdquo;。点击&ldquo;Add&rdquo;，输入&ldquo;group1&rdquo;。点击&ldquo;OK&rdquo;。点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Profile&rdquo;中，保持默认设置，点击&ldquo;Next&rdquo;。</li>
<li>在&ldquo;Name&rdquo;页面中，输入策略名。点击&ldquo;Finish&rdquo;。</li>
</ol>
<li>将新建策略部署到属于group1的计算机上。</li>
<ol>
<li>在组策略管理工具中，点击新建组策略，在右侧界面的&ldquo;Security Filtering&rdquo;中删除&ldquo;Authenticated Users&rdquo;。</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/6036.image023.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/6036.image023.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/6036.image023.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/6036.image023.png" /></a></li>
<li>点击&ldquo;Add&rdquo;，添加组&ldquo;Group1&rdquo;。</li>
<li><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/3443.image024.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/3443.image024.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/3443.image024.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/3443.image024.png" /></a></li>
</ol></ol>
<p>&nbsp;</p>
<h4><span style="font-family: 宋体;" face="宋体"><span style="font-size: small;" size="3">(3)在DC上建立针对group2的组策略，该策略阻止所有incoming连接，仅允许同组的计算机访问。建立方法参照步骤(2)。注意在&ldquo;Computers&rdquo;页面 中，添加&ldquo;group2&rdquo;。部署策略时，&ldquo;Security Filtering&rdquo;中添加&ldquo;group2&rdquo;。</span></span></h4>
<p><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">(4)等待在三台客户机得到组策略，或在cmd.exe中使用命令&ldquo;gpupdate /force&rdquo;立即使组策略生效。</span></span></p>
<h4><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">至此，配置过程结束。</span></span></h4>
<p>&nbsp;</p>
<h3><span style="font-size: large;"><span style="font-family: 宋体;" size="3" face="宋体">3.</span>&nbsp; <span size="3"><span style="font-family: 宋体;" face="宋体">实验结果</span></span></span></h3>
<h4><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">(1)在Client1W7上无法ping通Client2W7和Client3W7。以Client3W7为例，两端抓取netmon trace的结果如下图所示：</span></span></h4>
<p style="padding-left: 30px;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/8546.image025.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/8546.image025.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/8546.image025.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/8546.image025.png" /></a><br />从上图可以看出，在发出ICMP包之前，Client1W7先通过AuthIP协议与Client3W7建立IPsec安全链接。连接建立起来后，Client1W7才向Client3W7发送ICMP包。由于这两天计算机位于不同Group，防火墙规则阻挡了这一通信行为的发生。Client1W7与Client2W7间的行为与之类似。</p>
<h4><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">(2)在Client3W7上，可以ping通Client2W7。</span></span></h4>
<p style="padding-left: 30px;">两端抓取netmon trace的结果如下图所示：</p>
<p style="padding-left: 30px;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/4201.image026.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/4201.image026.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/4201.image026.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/4201.image026.png" /></a><br />从上图可以看出，在发出ICMP包之前，Client2W7先通过AuthIP协议与Client3W7建立IPsec安全链接。连接建立起来后，Client1W7才向Client3W7发送ICMP包。由于这两天计算机位于同一Group，防火墙规则允许了这一通信行为的发生。</p>
<h4><span style="font-size: small;" size="3"><span style="font-family: 宋体;" face="宋体">(3)在三台计算机上，可以ping通DC。</span></span></h4>
<p style="padding-left: 30px;">由于在建立连接安全规则时，指定使用IPsec的IP范围内不包括DC，因而三台计算机与DC的通信之间不使用IPsec。以Client1W7为例。</p>
<p style="padding-left: 30px;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/5751.image027.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/5751.image027.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/5751.image027.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/5751.image027.png" /></a><br />从上图可以看出，当Client1W7尝试ping DC是，Client1W7直接向DC发送ICMP包，之前没有建立IPsec链接的过程。</p>
<h2><span style="font-size: large;" size="3"><span style="font-family: 宋体;" face="宋体">参考资料：</span></span></h2>
<p>如果读者有兴趣，可以参考以下文章，了解AuthIP协议：</p>
<p>AuthIP in Windows Vista</p>
<p><a href="https://technet.microsoft.com/en-us/library/bb878097.aspx"><span style="color: #0000ff; font-size: small;" size="3" color="#0000ff">https://technet.microsoft.com/en-us/library/bb878097.aspx</span></a></p>
<p><span style="font-family: Calibri; font-size: small;" size="3" face="Calibri">&nbsp;</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server 2008 R2 DNS使用根提示对某些域名无法解析的问题</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/windows-server-2008-r2-dns</link>
      <pubDate>Mon, 28 May 2012 20:12:15 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/05/28/windows-server-2008-r2-dns/</guid>
      <description><![CDATA[当DNS Server从Server 2003升级到Server 2008...]]></description>
      <content:encoded><![CDATA[<p>当<span style="font-family: Calibri;" face="Calibri">DNS Server</span>从<span style="font-family: Calibri;" face="Calibri">Server 2003</span>升级到<span style="font-family: Calibri;" face="Calibri">Server 2008 R2</span>后，可能遇到这样的问题：使用根提示解析某些外部域名时，返回的<span style="font-family: Calibri;" face="Calibri">IP</span>地址为空。此时你可能会感觉非常奇怪，<span style="font-family: Calibri;" face="Calibri">03</span>解析这些域名没有问题，为什么升级到<span style="font-family: Calibri;" face="Calibri">08 R2</span>反而会有问题。</p>
<p>我们先来仔细看一下此问题的现象。用<span style="font-family: Calibri;" face="Calibri">nslookup</span>查时，看到返回的<span style="font-family: Calibri;" face="Calibri">IP</span>为空：</p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">E:\&gt;nslookup&nbsp; a.contoso.com</span></span></p>
<p><span style="font-size: small;" size="3">服务器<span style="font-family: Calibri;" face="Calibri">:&nbsp; localhost</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Address:&nbsp; 127.0.0.1</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">非权威应答<span style="font-family: Calibri;" face="Calibri">:</span></span></p>
<p><span style="font-size: small;" size="3">名称<span style="font-family: Calibri;" face="Calibri">:&nbsp;&nbsp;&nbsp; a.contoso.com</span></span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p>在<span style="font-family: Calibri;" face="Calibri">DNS</span>服务器上抓<span style="font-family: Calibri;" face="Calibri">netmon</span>，看到<span style="font-family: Calibri;" face="Calibri">DNS Server</span>（<span style="font-family: Calibri;" face="Calibri">192.168.1.107</span>）收到<span style="font-family: Calibri;" face="Calibri">DNS</span>客户端（<span style="font-family: Calibri;" face="Calibri">192.168.1.105</span>）请求后（第<span style="font-family: Calibri;" face="Calibri">48</span>帧），通过一系列根提示和<span style="font-family: Calibri;" face="Calibri">CNAME</span>替换（<span style="font-family: Calibri;" face="Calibri">49</span>～<span style="font-family: Calibri;" face="Calibri">94</span>）将<span style="font-family: Calibri;" face="Calibri">a.contoso.com</span>解析成<span style="font-family: Calibri;" face="Calibri">b.contoso.com</span>。第<span style="font-family: Calibri;" face="Calibri">95</span>～<span style="font-family: Calibri;" face="Calibri">99</span>帧，对<span style="font-family: Calibri;" face="Calibri">b.contoso.com</span>继续解析。但在没有解析出<span style="font-family: Calibri;" face="Calibri">IP</span>的情况下，第<span style="font-family: Calibri;" face="Calibri">100</span>帧直接回复客户端，<span style="font-family: Calibri;" face="Calibri">IP</span>为空。</p>
<p><span style="font-family: Calibri;" face="Calibri">48&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.0836047&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: Calibri;" face="Calibri">192.168.1.105&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-family: Calibri;" face="Calibri">192.168.1.107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS:QueryId = 0x3, QUERY (Standard query), Query&nbsp; for a.contoso.com of type Host Addr on class Internet</span></p>
<p><span style="font-family: Calibri;" face="Calibri">49&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.0941067&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; some.dns.server&nbsp; DNS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS:QueryId = 0xAE00, QUERY (Standard query), Query&nbsp; for a.contoso.com of type Host Addr on class Internet</span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p><span style="font-family: Calibri;" face="Calibri">&hellip;&hellip;</span>此处省略了根提示和<span style="font-family: Calibri;" face="Calibri">CNAME</span>替换的过程<span style="font-family: Calibri;" face="Calibri">&hellip;&hellip;&hellip;</span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p><span style="font-family: Calibri;" face="Calibri">95&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.2918082&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; some.dns.server&nbsp; DNS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS:QueryId = 0xC98D, QUERY (Standard query), Query&nbsp; for b.contoso.com of type Host Addr on class Internet</span></p>
<p><span style="font-family: Calibri;" face="Calibri">99&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3035002&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; some.dns.server&nbsp; 192.168.1.107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS:QueryId = 0xC98D, QUERY (Standard query), Response - Success, Array[192.168.2.189]</span></p>
<p><span style="font-family: Calibri;" face="Calibri">100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3048338&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.107&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 192.168.1.105&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DNS:QueryId = 0x3, QUERY (Standard query), Response - Success, ,&nbsp; </span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p>现在的关键是，到底第<span style="font-family: Calibri;" face="Calibri">99</span>帧收到了什么样的回复，致使<span style="font-family: Calibri;" face="Calibri">DNS Server</span>做出这样异常的行为。为此我们再看一下第<span style="font-family: Calibri;" face="Calibri">99</span>帧的细节：</p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">- Dns: QueryId = 0xC98D, QUERY (Standard query), Response - Success, Array[192.168.2.189] </span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; QueryIdentifier: 51597 (0xC98D)</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + Flags:&nbsp; Response, Opcode - QUERY (Standard query), AA, Rcode - Success</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; QuestionCount: 1 (0x1)</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; AnswerCount: 1 (0x1)</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; NameServerCount: 1 (0x1)</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp;&nbsp;&nbsp; AdditionalCount: 2 (0x2)</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + QRecord: b.contoso.com of type Host Addr on class Internet</span></span></p>
<p><b><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + ARecord: b.contoso.com of type CNAME on class Internet: c.contoso.com</span></span></b></p>
<p><b><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + AuthorityRecord: b.contoso.com of type NS on class Internet: some.dns.server</span></span></b></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + AdditionalRecord: some.dns.server of type Host Addr on class Internet: 192.168.2.189</span></span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">&nbsp; + AdditionalRecord: Type: OPT, Sender's largest UDP payload size: 4096</span></span></p>
<p><span style="font-family: Calibri;" face="Calibri">&nbsp;</span></p>
<p>我们看到，在第<span style="font-family: Calibri;" face="Calibri">99</span>帧中，首先将<span style="font-family: Calibri;" face="Calibri">b.contoso.com </span>通过<span style="font-family: Calibri;" face="Calibri">CNAME </span>解析成<span style="font-family: Calibri;" face="Calibri"> c.contoso.com</span>。然后是<span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">b.contoso.com</span>的<span style="font-family: Calibri;" face="Calibri">NS</span>记录和对应的<span style="font-family: Calibri;" face="Calibri">IP</span>地址。</span></p>
<p><span style="font-size: small;" size="3">这里的关键是：<span style="font-family: Calibri;" face="Calibri">b.contoso.com</span></span>既是<span style="font-family: Calibri;" face="Calibri">CNAME</span>，又是<span style="font-family: Calibri;" face="Calibri">NS</span>记录。因为某种原因，<span style="font-family: Calibri;" face="Calibri">08 R2</span>不允许这种情况存在。最终的结果是缓存中的<span style="font-family: Calibri;" face="Calibri">CNAME</span>被替换成<span style="font-family: Calibri;" face="Calibri">NS</span>记录，解析无法继续，直接向客户端返回。而<span style="font-family: Calibri;" face="Calibri">03</span>则允许两者并存，所以没有这样的问题。</p>
<p>目前对应这个问题，已经有<span style="font-family: Calibri;" face="Calibri">hotfix</span>可以解决，即<span style="font-family: Calibri;" face="Calibri"> KB2616776</span>。打上此<span style="font-family: Calibri;" face="Calibri">hotfix</span>之后，该问题得到了完美解决。</p>
<p>说明：为保护隐私，文中的<span style="font-family: Calibri;" face="Calibri">Netmon</span>数据做了修改和省略处理，与实际情况可能有一定出入。此<span style="font-family: Calibri;" face="Calibri">hotfix</span>的链接：<a href="https://support.microsoft.com/kb/2616776"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">https://support.microsoft.com/kb/2616776</span></a></p>
<p><span style="font-family: Calibri;" face="Calibri"></span>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Offline Files XP vs.Win7 笔记3</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/offline-files-xp-vs-win7-3</link>
      <pubDate>Fri, 25 May 2012 00:26:02 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/05/25/offline-files-xp-vs-win7-3/</guid>
      <description><![CDATA[&nbsp;

上期回顾
上一次我们主要介绍了Offline Files的几种主要的模式以及模式之间的切换等逻辑。
&nbsp;
简介
本文讲主要介绍XP和Windows...]]></description>
      <content:encoded><![CDATA[<div>
<p><span style="font-size: xx-large;" size="7"><span style="color: #17365d;" color="#17365d"><span style="font-family: Cambria;" face="Cambria"></span></span></span>&nbsp;</p>
</div>
<h1><span style="color: #365f91;" color="#365f91">上期回顾</span></h1>
<p><span style="font-size: small;" size="3">上一次我们主要介绍了<span style="font-family: Calibri;" face="Calibri">Offline Files</span>的几种主要的模式以及模式之间的切换等逻辑。</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<h1><span style="color: #365f91;" color="#365f91">简介</span></h1>
<p><span style="font-size: small;" size="3">本文讲主要介绍<span style="font-family: Calibri;" face="Calibri">XP</span>和<span style="font-family: Calibri;" face="Calibri">Windows 7</span>基本模式切换的细节以及针对冲突管理（<span style="font-family: Calibri;" face="Calibri">Conflict Management</span>）不同的机制和行为。</span></p>
<h1><span style="color: #365f91;" color="#365f91">概述</span></h1>
<h3><span style="font-size: small;" size="3"><span style="color: #4f81bd;" color="#4f81bd">从<span style="font-family: Cambria;" face="Cambria">Offline</span>到<span style="font-family: Cambria;" face="Cambria">Online</span></span></span></h3>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">举个例子，客户端将</span><a href="file://server/aShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare</span></a><span style="font-size: small;" size="3">和</span><a href="file://server/bShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\bShare</span></a><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri"> </span>配置为<span style="font-family: Calibri;" face="Calibri">Offline Available</span>。由于某种网络断开，两个共享目录都处于<span style="font-family: Calibri;" face="Calibri">Offline(Not Connected)</span>状态。</span></p>
<p><span style="font-size: small;" size="3">由于状态自动切换机制，<span style="font-family: Calibri;" face="Calibri">Offline Files</span>检测到网络恢复尝试将两个共享目录切换为<span style="font-family: Calibri;" face="Calibri">Online</span>模式。</span></p>
<p><span style="font-size: small;" size="3">这一过程中，<span style="font-family: Calibri;" face="Calibri"> Offline Files</span>检测<span style="font-family: Calibri;" face="Calibri">Sample.docx</span>文件在客户端有没有应用程序的<span style="font-family: Calibri;" face="Calibri">Open handle</span>（是否正在被使用），<span style="font-family: Calibri;" face="Calibri">Offline Files</span>将会做以下两种操作：</span></p>
<ol>
<li><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">1.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">如果客户端正在使用<span style="font-family: Calibri;" face="Calibri">Sample.docx</span>但并没有做修改，那么<span style="font-family: Calibri;" face="Calibri">Offline Files</span>会将应用程序的<span style="font-family: Calibri;" face="Calibri">open handle</span>转到服务器上对应的那个文件上。</span></li>
<li><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">2.</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">如果客户端正在使用<span style="font-family: Calibri;" face="Calibri">Sample.docx</span>且文件已被修改，那么<span style="font-family: Calibri;" face="Calibri">Offline Files</span>将不会对应用程序的<span style="font-family: Calibri;" face="Calibri">open handle</span>做任何修改且不会将该文件置为<span style="font-family: Calibri;" face="Calibri">online</span>。</span></li>
</ol>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">这种情况下针对状态切换（<span style="font-family: Calibri;" face="Calibri">Offline</span>&agrave;<span style="font-family: Calibri;" face="Calibri">Online</span>），<span style="font-family: Calibri;" face="Calibri">XP</span>和<span style="font-family: Calibri;" face="Calibri">Windows 7</span>有不同的行为：</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<ul>
<li><span style="font-size: small;" size="3">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">在<span style="font-family: Calibri;" face="Calibri">XP</span>中，一旦<span style="font-family: Calibri;" face="Calibri">Offline Files</span>检测到</span><a href="file://server/aShare/sample.docx"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare\sample.docx</span></a><span style="font-size: small;" size="3">在客户端正在被使用且已被修改并且导致切换失败后，</span><a href="file://server/aShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare</span></a><span style="font-size: small;" size="3">和</span><a href="file://server/bShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\bShare</span></a><span style="font-size: small;" size="3">均无法切换到<span style="font-family: Calibri;" face="Calibri">Online</span>状态。</span></li>
<li><span style="font-size: small;" size="3">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">在<span style="font-family: Calibri;" face="Calibri">Windows 7</span>中，一旦<span style="font-family: Calibri;" face="Calibri">Offline Files</span>检测到</span><a href="file://server/aShare/sample.docx"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare\sample.docx</span></a><span style="font-size: small;" size="3">正在被使用且已被修改并且导致切换失败后，仅</span><a href="file://server/aShare/sample.docx"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare\sample.docx</span></a><span style="font-size: small;" size="3">文件处于<b><span style="font-family: Calibri;" face="Calibri">Offline (Need to sync)</span></b>状态，</span><a href="file://server/aShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare</span></a><span style="font-size: small;" size="3">目录下的其余文件已经整个</span><a href="file://server/bShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\bShare</span></a><span style="font-size: small;" size="3">都能正常的切换到<span style="font-family: Calibri;" face="Calibri">Online</span>状态。</span></li>
</ul>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">这是因为在<span style="font-family: Calibri;" face="Calibri">XP</span>上<span style="font-family: Calibri;" face="Calibri">Offline Files</span>的影响范围是以共享服务器（或整个<span style="font-family: Calibri;" face="Calibri">Distributed File System (DFS) namespace</span>）为单位，而<span style="font-family: Calibri;" face="Calibri">Windows 7</span>上<span style="font-family: Calibri;" face="Calibri">Offline Files</span>的影响范围是以某个共享文件（或某个<span style="font-family: Calibri;" face="Calibri">DFS scope</span>）为单位的。</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<h3><span style="font-size: small;" size="3"><span style="color: #4f81bd;" color="#4f81bd">从<span style="font-family: Cambria;" face="Cambria">Online</span>到<span style="font-family: Cambria;" face="Cambria">Offline</span></span></span></h3>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">跟上面有一点不同的是，从<span style="font-family: Calibri;" face="Calibri">Online</span>切换到<span style="font-family: Calibri;" face="Calibri">Offline</span>的过程中，在<span style="font-family: Calibri;" face="Calibri">XP</span>中，如果某个文件由于网络问题无法访问，客户端上属于这台文件服务器的所有<span style="font-family: Calibri;" face="Calibri">Offline Files</span>全部会被置为<span style="font-family: Calibri;" face="Calibri">Offline(Not Connected)</span>状态。而在<span style="font-family: Calibri;" face="Calibri">Windows 7</span>中，如果某个文件由于网络问题无法访问，那么这个文件所在的共享文件目录会被置为<span style="font-family: Calibri;" face="Calibri">Offline(Not Connected)</span>状态，其余的共享目录不受影响。举个例子，</span></p>
<ul>
<li><span style="font-size: small;" size="3">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">在<span style="font-family: Calibri;" face="Calibri">XP</span>中，如果用户由于网络错误的原因无法访问</span><a href="file://server/aServer"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aServer</span></a><span style="font-size: small;" size="3">或者</span><a href="file://server/aShare/Sample.docx"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare\Sample.docx</span></a><span style="font-size: small;" size="3">，<span style="font-family: Calibri;" face="Calibri">\\Server\aShare</span>和</span><a href="file://server/bShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\bShare</span></a><span style="font-size: small;" size="3">都会被置为<span style="font-family: Calibri;" face="Calibri">Offline</span></span></li>
<li><span style="font-size: small;" size="3">&middot;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: small;" size="3">在<span style="font-family: Calibri;" face="Calibri">Windows 7</span>中，如果用户由于网络错误的原因无法访问</span><a href="file://server/aServer"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aServer</span></a><span style="font-size: small;" size="3">或者</span><a href="file://server/aShare/Sample.docx"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare\Sample.docx</span></a><span style="font-size: small;" size="3">，只有</span><a href="file://server/aShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\aShare</span></a><span style="font-size: small;" size="3">会被置为<span style="font-family: Calibri;" face="Calibri">Offline</span>，</span><a href="file://server/bShare"><span style="color: #0000ff; font-family: Calibri; font-size: small;" face="Calibri" size="3" color="#0000ff">\\Server\bShare</span></a><span style="font-size: small;" size="3">不受影响。</span></li>
</ul>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<h1><span style="color: #365f91;" color="#365f91"><span style="font-family: Cambria;" face="Cambria">Conflict</span></span></h1>
<p><span style="font-size: small;" size="3">如果文件或文件夹在处于<span style="font-family: Calibri;" face="Calibri">Offline</span>的状态并且在<span style="font-family: Calibri;" face="Calibri">Offline Files</span>无法进行自动更新<sup><span style="font-family: Calibri;" face="Calibri">[1]</span></sup>的情况下，用户对客户端和服务器端的同一个文件做了不同的修改。当状态恢复<sup><span style="font-family: Calibri;" face="Calibri">[2]</span></sup>为可进行自动更新的状态<sup><span style="font-family: Calibri;" face="Calibri">[3]</span></sup>时，自动更新过程中就会发生冲突，即<span style="font-family: Calibri;" face="Calibri">Conflict</span>。</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">注<span style="font-family: Calibri;" face="Calibri">[1]</span>：<span style="font-family: Calibri;" face="Calibri">Offline</span>且无法自动更新的状态，如，<span style="font-family: Calibri;" face="Calibri">Offline(not connected), Offline(Working offline)</span></span></p>
<p><span style="font-size: small;" size="3">注<span style="font-family: Calibri;" face="Calibri">[2]</span>：自动恢复或手动恢复</span></p>
<p><span style="font-size: small;" size="3">注<span style="font-family: Calibri;" face="Calibri">[3]</span>：可进行自动更新的状态，如<span style="font-family: Calibri;" face="Calibri">Online</span>，<span style="font-family: Calibri;" face="Calibri">Offline(Slow Link)</span></span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">针对<span style="font-family: Calibri;" face="Calibri">Conflict</span>的处理，<span style="font-family: Calibri;" face="Calibri">XP</span>会有弹出窗口提示你需要选择怎么处理有冲突的文件：保留客户端版本，保留服务器端版本。</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3"><span style="font-family: Calibri;" face="Calibri">Windows 7</span>上针对冲突管理更人性化。当用户从<span style="font-family: Calibri;" face="Calibri">Offline</span>切换到<span style="font-family: Calibri;" face="Calibri">Online</span>，<span style="font-family: Calibri;" face="Calibri">Background Sync</span>就会在后台立即被触发，当<span style="font-family: Calibri;" face="Calibri">Offline Files</span>服务检测到冲突时，并不会有立即弹出的对话框提示你操作，而是你可以通过访问控制面板的<span style="font-family: Calibri;" face="Calibri">Sync Center</span>查询更新结果再人工的管理冲突文件：保留客户端版本，保留服务器端版本或保留两个版本。</span></p>
<p><span style="font-family: Calibri; font-size: small;" face="Calibri" size="3">&nbsp;</span></p>
<p><span style="font-size: small;" size="3">经验上讲，冲突管理简单而且易管理很少出现问题。</span></p>]]></content:encoded>
    </item>
    <item>
      <title>如何配置基于MAC地址的802.1x认证（MAC Bypass）</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/mac802-1xmac-bypass</link>
      <pubDate>Thu, 24 May 2012 01:07:00 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/05/24/mac802-1xmac-bypass/</guid>
      <description><![CDATA[一般网络环境中我们会使用有线/无线802.1x验证。这种验证方式通常需要结合域账号进行客户端身份验证。验证通过后，根据NPS/IAS策略可以将客户端划分到指定的VLAN并实现记账等功能。
&nbsp...]]></description>
      <content:encoded><![CDATA[<p>一般网络环境中我们会使用有线/无线802.1x验证。这种验证方式通常需要结合域账号进行客户端身份验证。验证通过后，根据NPS/IAS策略可以将客户端划分到指定的VLAN并实现记账等功能。</p>
<p>&nbsp;</p>
<p>了解无线网络的 802.1X 身份验证</p>
<p>https://technet.microsoft.com/zh-cn/library/cc759077</p>
<p>&nbsp;</p>
<p>实际应用中我们经常会碰到一些无法加域的设备，比如打印机，PDA，非Windows计算机等。如何把这些设备放到802.1x的环境中? 一般可以考虑通过MAC Bypass的方式。这种方式中，客户端可以用自己的MAC地址作为用户名和密码进行802.1x验证。</p>
<p>&nbsp;</p>
<p>实现步骤如下：</p>
<p>1. 为相关设备创建账号：为了不影响AD中的账号和其他NPS policy，我们在NPS服务器本地创建MAC Bypass所需账号，将这些账号放到一个本地组MAC Bypass里。</p>
<p>NOTE： 帐户的密码设定要遵从接入设备的要求，比如Cisco就要求用户名和密码都是MAC地址。</p>
<p>例如：</p>
<p>Username: 001122334455</p>
<p>Password: 001122334455</p>
<p>&nbsp;</p>
<p>2. 在NPS服务器上设置一些注册表项。根据以下文章的要求，我们需要配置注册表项&ldquo;User Identity Attribute&rdquo;；这是让NPS服务器支持MAC Bypass；</p>
<p><a href="https://technet.microsoft.com/en-us/library/dd197535(v=ws.10).aspx">https://technet.microsoft.com/en-us/library/dd197535(v=ws.10).aspx</a></p>
<p>&nbsp;</p>
<p>注册表路径:<br />HKLM\SYSTEM\CurrentControlSet\Services\RemoteAccess\Policy</p>
<p>注册表项：User Identity Attribute</p>
<p>注册表值： 31 (dword:0000001f)</p>
<p>&nbsp;</p>
<p>3. 在NPS服务器上创建MAC bypass所需的Network Policies：</p>
<p>Policy Name：Mac Bypass</p>
<p>Conditions: User group 中添加步骤1中创建的本地组MAC Bypass。</p>
<p>Constrains: Authentication<br />Methods 仅需选中 Unencrypted authentication (PAP, SPAP)</p>
<p>Settings: 如果需要将通过MAC Bypass方式接入的客户端放到特定VLAN中，可以配置下图中的3个属性。根据下图，客户端会被划入VLAN 4.</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tunnel-Medium-Type:802</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tunnel-Pvt-Group-ID: 你希望使用的VLAN ID, 本例中为4</p>
<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tunnel-Type: Virtual LANs (VLAN)</p>
<p>注：如需更换VLAN ID，仅需更改Tunnel-Pvt-Group-ID对应的数值。</p>
<p>至此Network Policies的部分已经完成。但是测试时我们会发现一个问题，NPS服务器会自动在用户名（MAC address）前加上Domain 名称。（例如MAC 地址为001122334455的用户账户会被自动识别为 domain\001122334455进行验证）由于我们刚才添加的用户是NPS服务器的本地用户而非域用户，最终导致验证失败。</p>
<p>&nbsp;</p>
<p>4. 为了解决这个问题，我们需要特别配置Connection Request Policies；目的是当检测到用户名为MAC地址时，自动加上NPS服务器的计算机名（而非域名）。这样NPS会使用本地用户数据库进行验证。</p>
<p>- 首先我们可以复制或创建一条和默认Connection Request Policies相同的policy。</p>
<p>- 在新policy的属性中，在Settings tab下设置Attribute:User-Name;</p>
<p>Find: (^[0-9a-fA-F]{12}$)&nbsp; 注：这个正则表达式是匹配MAC地址的格式。大致意思是从用户账号的第一位开始匹配，检查每一位是否属于0-9, a-f, A-F的范围。成功匹配12次则认为是MAC地址的格式（MAC地址为12位所以需要匹配12次）。</p>
<p>Replace with: RadiusServerName\$1 &nbsp;注：这里需要将RadiusServerName替换成NPS服务器的计算机名</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/7183.2.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/7183.2.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/7183.2.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/7183.2.jpg" /></a></p>
<p>&nbsp;</p>
<p>对于正则表达式的使用，微软的文章如下：<a href="https://technet.microsoft.com/en-us/library/cc737419(WS.10).aspx">https://technet.microsoft.com/en-us/library/cc737419(WS.10).aspx</a>.</p>
<p>&nbsp;</p>
<p>5. 为了避免步骤4的Connection Request (MAC Address Bypass) 和默认Connection Request Policies冲突，我们可以给默认Connection Request Policies加上一些特殊Condition条件：</p>
<p>我的做法是添加User Name条件，限定user name中必须包含domain名。如果有多个domain名，可以用&rdquo;|&rdquo;符号隔开。</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/8308.111.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/8308.111.jpg"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/90/23/8308.111.jpg" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-90-23/8308.111.jpg" width="358" height="256" /></a></p>
<p>这样就真正实现了用户名为MAC地址格式的请求使用NPS本地账号验证。用户名包含domain的请求使用AD账号验证。</p>
<p>&nbsp;</p>
<p>以上是NPS服务器支持MAC Bypass的设置。实际上MAC Bypass还需要交换机/AP的支持。有些设备上这个功能叫mac bypass或者mac filtering. 这是因为这种认证发生在客户端无法提供用户名密码的情况下，接入设备通常不会再继续向后台的radius要求验证（因为没有用户名密码）。但是在启用了这个功能的情况下，接入设备如果支持mac authorization,则会继续用mac address作为验证的凭据。</p>
<p>比如 Cisco 的设备就支持这个功能</p>
<p><a href="https://www.cisco.com/en/US/tech/tk722/tk809/technologies_configuration_example09186a008084f13b.shtml#backinfo">https://www.cisco.com/en/US/tech/tk722/tk809/technologies_configuration_example09186a008084f13b.shtml#backinfo</a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>内存问题排错概览 –  第二部分</title>
      <link>https://docs.microsoft.com/archive/blogs/apgceps/31</link>
      <pubDate>Sun, 29 Apr 2012 19:36:00 GMT</pubDate>
      <dc:creator><![CDATA[微软亚太区Windows技术支持组 官方博客]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/apgceps/2012/04/29/31/</guid>
      <description><![CDATA[在我们前面的文章，我们看了看一些常见的内存问题和如何进行排错。今天我们将要过一下过多页面交换和内存瓶颈。
我们已经在多篇文章中谈过了页文件的问题 &ndash;...]]></description>
      <content:encoded><![CDATA[<p>在我们前面的文章，我们看了看一些常见的内存问题和如何进行排错。今天我们将要过一下过多页面交换和内存瓶颈。</p>
<p>我们已经在多篇文章中谈过了页文件的问题 &ndash; 还有些东西记在脑子里面就是尽管你想要有足够的内存来防止过多的页面交换，这个目标不应该是尝试去完全阻止页面交换活动。一些页面错误行为是不可避免的 &ndash; 举个例子 当一个进程第一次初始化的时候。内存中修改过的虚拟页面最后不得不要更新回磁盘，因此就会有一定量的Page Writes /sec。然而，当没有安装足够的内存，你可能会看到两个特定的问题 &ndash; 太多页面错误，和磁盘争夺。</p>
<p>让我们从页面错误开始。页面错误被划分成两种类型，Soft fault 和 hard fault。一个页面错误在一个进程在内存中请求一个页面并且系统不能够在请求的位置找到这个页面的时候发生。如果这个请求的页面事实上在内存的其他地方，那么这是一个Soft fault。然而，如果页面不得不从磁盘上面去读取，那么一个Hard fault就发生了。大多数的系统可以毫无问题的处理软页面错误。然后，如果有大量的hard fault错误你可能会感到延迟。这个额外的磁盘I/O是由于持续的页面写入磁盘与尝试访问页文件存储在相同磁盘上面的数据的应用程序产生冲突所导致的。尽管在一个系统上面高的页面错误是一个非常直接的问题，他要求一些性能监视器中的额外数据收集和分析。当对一个怀疑的页面错误问题进行排错的时候，下面是一些重要的计数器：</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="72">
<p><b>Counter</b></p>
</td>
<td valign="top" width="353">
<p><b>Description</b></p>
</td>
<td valign="top" width="162">
<p><b>Values<br /><br />&nbsp; to Consider</b></p>
</td>
</tr>
<tr>
<td valign="top" width="72">
<p>Memory \ Pages /sec</p>
</td>
<td valign="top" width="353">
<p>Pages/sec 是指为解决Hard Fault从磁盘读取或写入磁盘的速度。这个计数器是可以显示导致系统范围延缓类型错误的主要指示器。它是<br />&nbsp; Memory\\Pages Input/sec 和<br />&nbsp; Memory\\Pages Output/sec 的总和。是用页数计算的，以便在不用做转换的情况下就可以同其他页计数如:<br />&nbsp; Memory\\Page Faults/sec 做比较，这个值包括为满足错误而在文件系统缓存(通常由应用程序请求)的非缓存映射内存文件中检索的页。</p>
</td>
<td valign="top" width="162">
<p>如果 Pages/sec乘以4,000（4k的页面大小）超过了页文件放在一个一致的基础上面的所有逻辑磁盘Bytes /<br />&nbsp; sec的70%，，那么你应该要调查了。</p>
<p>转换：如果页面写入磁盘大于在一个一致基础上面你的所有磁盘活动的70%，那么就有可能是一个问题</p>
</td>
</tr>
<tr>
<td valign="top" width="72">
<p>Memory<br /><br />&nbsp; \ Page Reads /sec</p>
</td>
<td valign="top" width="353">
<p>Page Reads/sec 是取读磁盘以解析Hard Fault的速度。它显示读取操作的数量，它并不考虑每个操作的页面数量。当一个进程引用一个虚拟内存的页面，而此虚拟内存位于工作集以外或物理内存的其他位置，并且此页面必须从磁盘检索时，就会发生Hard Fault。此计数器是引起系统范围内延迟的主要指示器。它包含读取操作以满足文件系统缓存(通常由应用程序请求)和非缓存映射内存文件的错误。比较内存的值\\Pages<br />&nbsp; Reads/sec 与内存的值\\Pages<br /><br />&nbsp; Input/sec 来决定每个操作取读的平均页面数量。</p>
</td>
<td valign="top" width="162">
<p>查看持续的值。如果这个值一直超过所有逻辑磁盘针对页文件所在的磁盘进行的操作的50%，那么就有过度页面交换发生来解决Hard Fault。</p>
</td>
</tr>
<tr>
<td valign="top" width="72">
<p>Memory<br /><br />&nbsp; \ Available Bytes</p>
</td>
<td valign="top" width="353">
<p>Available Bytes 是指以字节表示的物理内存数量。此内存能立刻分配给一个进程或系统使用。它等于分配给待机(缓存的)、空闲和零分页列表内存的总和。要获得内存管理器的详细解释，请参阅 MSDN 和/或 Windows<br /><br />&nbsp; Server 2003 Resource Kit 里的系统性能和疑难解答指南章节。</p>
</td>
<td valign="top" width="162">
<p>如果这个值降到在一致基础上安装内存的5%以下，那么你应该调查了。如果这个值降到在一致基础上面安装内存的1%以下，这肯定是有问题的。</p>
</td>
</tr>
</tbody>
</table>
<p>记住自从操作系统不得不把修改过的页写回到磁盘，就将会有页写的操作的发生。然而，这个Page Reads /sec说明Hard Fault的数量是和内存不足的情况相当敏感的。随着有效内存值的减少，Hard Fault的数量将正常的增加。总的可以被系统支撑Pages /sec的数量是磁盘带宽的一个功能。这个意味着没有一个简单的数字来决定是否磁盘是饱和的。反而是你不得不去识别由于页面交换导致的整体磁盘流量有多少。</p>
<p>另外内存瓶颈的一个指示器是有效内存池耗尽了。当有效内存不足的时候，虚拟内存管理器对页面的整理被触发了。页面整理所做的是通过识别最近没有使用过的虚拟内存页来重新填装有效内存池。当页面整理是有效的，老的从进程工作集里面整理出来的页面立刻就不再需要了。整理过的页面被标记为转换并保留在内存中一段时间来减少页面写磁盘发生的次数。然而，如果有习惯性的内存不足，那么页面整理就不再那么有效果并且结果就是会有更多的页面写入磁盘。自从对于标记为转换的页面来说在内存里面只有很少的空间了，如果一个最近整理过的页面再次被引用的话它不得不从内存相反的磁盘里面来访问。瓶颈越来越严重，在同一块磁盘上面的应用程序直接I/O操作发生冲突的页文件被更新也越来越频繁。</p>
<p>在我们总结之前，让我们快速的讨论一下上面列出的在看Memory \ Available Bytes计数器的时候指导方针。通常如果有效内存一直超过安装内存的5%，那么你应该觉得还不错。然而，有一些应用程序可以管理自己的工作集 &ndash; IIS6、Exchange Server和 SQL Server。如果有足够的有效内存，这些应用程序和虚拟内存管理器交互来增加他们的工作集，并且当操作系统给出信号的时候整理他们的工作集。这些应用程序依赖于内存-所在的缓存缓冲区来减少到磁盘的I/O。因此作为结果就是内存将总是看起来是满的。</p>
<p>&nbsp;</p>
<p><span style="font-family: SimSun;" lang="zh-CN">本文转译自</span><span style="font-family: Verdana;" lang="en-US">AskPerf</span><span style="font-family: SimSun;" lang="zh-CN">的博客文章, 原文链接如下：</span></p>
<p><span style="font-family: SimSun;" lang="zh-CN"><a href="https://blogs.technet.com/b/askperf/archive/2008/01/29/an-overview-of-troubleshooting-memory-issues-part-two.aspx">https://blogs.technet.com/b/askperf/archive/2008/01/29/an-overview-of-troubleshooting-memory-issues-part-two.aspx</a></span></p>
<p><span style="font-family: SimSun;" lang="zh-CN"></span>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>