|
|
概要
您可以在隧道模式中使用“IP 安全”(IPSec) 来封装 Internet 协议 (IP) 数据包,而且可以选择将它们加密。在 Microsoft Windows 2000 中使用 IPSec 隧道模式(有时称为“纯 IPSec 隧道”)的主要原因是:为了能够与那些不支持第 2 层隧道协议 (L2TP)/IPSec 或 PPTP 虚拟专用网络 (VPN) 隧道技术的第三方路由器或网关进行互操作。
更多信息
Windows 2000 在隧道的两个终结点都有静态 IP 地址的情况下支持 IPSec 隧道。这一点主要在网关到网关的实现中有用,但也可用于网关/路由器和服务器之间的专用的网络安全方案中(例如,Windows 2000 路由器在从其外部接口将通信量路由到一个基于 Windows 2000 的内部计算机时,通过建立一个到为外部客户端提供服务的内部服务器的 IPSec 隧道,来保护内部路径的安全)。
不支持将 Windows 2000 IPSec 隧道用于客户端远程访问 VPN 的原因是:目前 IETF IPSec RFC 没有在 Internet 密钥交换 (IKE) 协议中为客户端到网关的连接提供远程访问解决方案。用于“第 2 层隧道协议”(L2TP) 的 IETF RFC 2661 是由 Cisco、Microsoft 和其他公司为提供客户端远程访问 VPN 连接而专门开发的。在 Windows 2000 中,使用自动生成的 IPSec 策略来保护客户端远程访问 VPN 连接,此策略在 L2TP 隧道类型被选中时使用 IPSec 传输模式(非隧道模式)。
Windows 2000 IPSec 隧道也不支持特定于协议和端口的隧道。虽然 Microsoft 管理控制台 (MMC) IPSec 策略管理单元十分通用,并且允许您将任何类型的筛选器与隧道关联,但您还是要确保在为隧道规则指定筛选器时只使用地址信息。
有关 IPSec 和 IKE 协议如何工作的详细信息,可在 Microsoft Windows 2000 Resource Kit 和 Windows 2000 IPSec 端对端演练中找到。在本文的最后提供了关于在何处查找这些文档的信息。
本文介绍了如何在 Windows 2000 网关上配置 IPSec 隧道。由于 IPSec 隧道只保护在您配置的 IPSec 筛选器中指定的通信量,因此本文还介绍了如何在“路由和远程访问服务”(RRAS) 中配置筛选器以防止接收或转发隧道外的通信量。为便于按配置步骤进行操作,本文概括了以下方案:
[code:0aca0ac5ed]NetA - Windows 2000 网关 --- Internet --- 第三方网关 - NetB
W2KintIP W2KextIP 3rdExtIP 3rdIntIP[/code:0aca0ac5ed]
NetA 是 Windows 2000 网关内部网络的网络 ID。
W2KintIP 是分配给 Windows 2000 网关内部网络适配器的 IP 地址。
W2KextIP 是分配给 Windows 2000 网关外部网络适配器的 IP 地址。
3rdExtIP 是分配给第三方网关外部网络适配器的 IP 地址。
3rdIntIP 是分配给第三方网关内部网络适配器的 IP 地址。
NetB 是第三方网关内部网络的网络 ID。
目标是让 Windows 2000 网关和第三方网关在来自 NetA 的通信量需要路由到 NetB 或者来自 NetB 的通信量需要路由到 NetA 时建立一个 IPSec 隧道,以便可以通过一个安全的会话来路由通信量。
您需要配置一个 IPSec 策略。您必须创建两个筛选器:一个用于匹配从 NetA 到 NetB(隧道 1)的数据包,一个用于匹配从 NetB 到 NetA(隧道 2)的数据包。您需要配置筛选器操作以指定如何保护隧道安全(隧道由规则表示,因此要创建两个规则)。
如何创建 IPSec 策略
通常,Windows 2000 网关不是域成员,因此将创建本地 IPSec 策略。如果 Windows 2000 网关是域成员,在默认情况下该域将 IPSec 策略应用到域的所有成员,这样,Windows 2000 网关就不能具有本地 IPSec 策略。在此情况下,您可以在 Active Directory 中创建一个组织单位 (OU),使 Windows 2000 网关成为该组织单位的成员,并将 IPSec 策略指派到该组织单位的“组策略对象”(GPO)。有关更多信息,请参考 Windows 2000 联机帮助中的“指派 IPSec 策略”一节。
1. 使用 MMC 处理“IP 安全策略管理”管理单元(加载它的快捷方法是单击开始,单击运行,然后键入 secpol.msc)。
2. 右键单击“本地计算机上的 IP 安全策略”,然后单击创建 IP 安全策略。
3. 单击下一步,然后键入策略的名称(例如,IPSec Tunnel with third-party Gateway)。
注意:您也可以在说明框中键入更多信息。
4. 单击以清除“激活默认响应规则”复选框,然后单击下一步。
5. 单击完成(使编辑复选框保持选中状态)。
注意:使用 IKE 主模式(阶段 1)的默认设置在常规选项卡中的密钥交换中创建 IPSec 策略。IPSec 隧道由两个规则组成,每一个规则都指定了一个隧道终结点。因为有两个隧道终结点,所以就有两个规则。每个规则中的筛选器必须代表发送到此规则的隧道终结点的 IP 数据包中的源和目标 IP 地址。
如何创建一个从 NetA 到 NetB 的筛选器列表
1. 在新的策略属性中,单击以清除使用添加向导复选框,然后单击添加以创建新规则。
2. 在 IP 筛选器列表选项卡上,单击添加。
3. 为筛选器列表键入相应的名称,单击以清除使用添加向导复选框,然后单击添加。
4. 在“源地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetA。
5. 在“目标地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetB。
6. 单击以清除镜像复选框。
7. 在协议选项卡上,确保协议类型设置为任何,因为 IPSec 隧道不支持特定于协议或端口的过滤器。
8. 如果要为筛选器键入说明,请单击说明选项卡。通常,为筛选器和筛选器列表指定相同的名称是一个不错的主意。当隧道为活动状态时,筛选器名称显示在 IPSec 监视器中。
9. 单击确定,然后单击关闭。
如何创建一个从 NetB 到 NetA 的筛选器列表
1. 在 IP 筛选器列表选项卡上,单击添加。
2. 为筛选器列表键入相应的名称,单击以清除使用添加向导复选框,然后单击添加。
3. 在“源地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetB。
4. 在“目标地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetA。
5. 单击以清除镜像复选框。
6. 如果要为筛选器键入说明,请单击说明选项卡。
7. 单击确定,然后单击关闭。
如何为 NetA 到 NetB 隧道配置规则
1. 在 IP 筛选器列表选项卡上,单击所创建的筛选器列表。
2. 在隧道设置选项卡上,单击隧道终结点由此 IP 地址指定框,然后键入 3rdextip(此处的 3rdextip 是分配给第三方网关外部网络适配器的 IP 地址)。
3. 在连接类型选项卡上,单击“所有网络连接”(如果 W2KextIP 不是 ISDN、PPP 或直连串行连接,则单击“LAN 连接”)。
4. 在筛选器操作选项卡上,单击以清除使用添加向导复选框,然后单击添加以创建新的筛选器操作,因为默认操作允许明文形式的传入通信量。
5. 保持“协商安全”选项为启用状态,单击以清除“接受不安全的通讯,但总是用 IPSec 响应”复选框。只有这样做才能确保安全操作。
注意:不应选中筛选器操作对话框底部的任何复选框作为应用到隧道规则的筛选器操作的初始配置。如果隧道的另一端也配置为使用完全向前保密 (PFS),则只有完全向前保密 (PFS) 复选框是有效的隧道设置。另两个复选框对于隧道筛选器操作无效。
6. 单击添加,使高 (ESP) 选项保持为选中(或者,如果希望定义特定的算法和会话密钥的使用时间,您可以选择“自定义(专业用户)”选项)。“封装式安全措施负载”(ESP) 是两个 IPSec 协议之一。
7. 单击确定。在常规选项卡上,键入新筛选器操作的名称(例如,IPSec tunnel:ESP DES/MD5),然后单击确定。
8. 选择刚创建的筛选器操作。
9. 在验证方法选项卡上,配置您想要的验证方法(如果为了进行测试,请使用预共享密钥,否则请使用证书)。如果隧道的两个终结点都在受信任域中,并且在隧道的 IKE 协商期间(在建立隧道前)隧道的两个终结点都可以到达网络上此受信任域的 IP 地址(域控制器的 IP 地址),则使用 Kerberos 技术是可能的。不过这种情况很少见。
10. 单击关闭。
如何为 NetB 到 NetA 隧道配置规则
1. 在 IPSec 策略属性中,单击添加以创建新规则。
2. 在 IP 筛选器列表选项卡上,单击所创建的筛选器列表(由 NetB 到 NetA)。
3. 在隧道设置选项卡上,单击“隧道终结点由此 IP 地址指定”框,然后键入 w2kextip(此处的 w2kextip 是分配给 Windows 2000 网关外部网络适配器的 IP 地址)。
4. 在连接类型选项卡上,单击“所有网络连接”(如果 W2KextIP 不是 ISDN、PPP 或直连串行连接,则单击“LAN 连接”)。与筛选器匹配的接口类型上的任何出站通信量都将尝试通过隧道传输到在规则中指定的隧道终结点。与筛选器匹配的入站通信量将被丢弃,因为它的接收应通过 IPSec 隧道的安全保护。
5. 在筛选器操作选项卡上,单击所创建的筛选器操作。
6. 在验证方法选项卡上,配置在第一个规则中使用的同一方法(两个规则中都必须使用同一方法)。
7. 单击关闭,确保您创建的这两个规则在策略中都已启用,然后单击关闭。
如何将新 IPSec 策略指派到 Windows 2000 网关
在“本地计算机 MMC”管理单元上的“IP 安全策略”中,右键单击新策略,然后单击指定。该策略旁边的文件夹图标中将出现一个绿色箭头。
在指派完策略之后,您就有了两个附加的活动筛选器(RRAS 自动创建用于 L2TP 通信量的 IPSec 筛选器)。要查看活动筛选器,请在命令提示符下键入以下命令:
netdiag /test:ipsec /debug
您可以选择将此命令的输出重定向到文本文件,以便通过键入以下命令使用文本编辑器(例如记事本)来查看它:
netdiag /test:ipsec /debug > filename.txt
netdiag 命令在您安装 Microsoft Windows 2000 Resource Kit 之后将可供使用,它可从 Windows 2000 光盘进行安装。要安装此工具包,请找到 Support\Tools 文件夹,然后双击 Setup.exe 文件。安装完成后,可能需要运行 %SystemRoot%\Program Files\Support Tools 文件夹(其中,%SystemRoot% 是安装 Windows 2000 的驱动器)中的 netdiag 命令。
隧道筛选器类似于下面的示例:
Local IPSec Policy Active:'IPSec tunnel with {tunnel endpoint}' IP Security Policy Path:
SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local\ipsecPolicy{-longnumber-}
There are two filters
From NetA to NetB
Filter ID:{-long number-}
Policy ID:{-long number-}
IPSEC_POLICY PolicyId = {-long number-}
Flags:0x0
Tunnel Addr: 0.0.0.0
PHASE 2 OFFERS Count = 1
Offer #0:
ESP[ DES MD5 HMAC]
Rekey:0 seconds / 0 bytes.
AUTHENTICATION INFO Count = 1
Method = Preshared key:-actual key-
Src Addr:NetA Src Mask:-subnet mask-
Dest Addr:NetB Dest Mask:-subnet mask-
Tunnel Addr:3rdExtIP Src Port:0 Dest Port: 0
Protocol:0 TunnelFilter:Yes
Flags :Outbound
From NetB to NetA
Filter ID:{-long number-}
Policy ID:{-long number-}
IPSEC_POLICY PolicyId = {-long number-}
Flags:0x0
Tunnel Addr: 0.0.0.0
PHASE 2 OFFERS Count = 1
Offer #0:
ESP[ DES MD5 HMAC]
Rekey:0 seconds / 0 bytes.
AUTHENTICATION INFO Count = 1
Method = Preshared key:-actual key-
Src Addr:NetB Src Mask:-subnet mask-
Dest Addr:NetA Dest Mask:-subnet mask-
Tunnel Addr:W2KextIP Src Port:0 Dest Port: 0
Protocol:0 TunnelFilter:Yes
Flags:Inbound
如何配置 RRAS 筛选
如果您希望阻止源或目标地址没有与 NetA 或 NetB 匹配的通信量,则请在 RRAS MMC 中为外部接口创建一个输出筛选器,这样它将丢弃除从 NetA 到 NetB 的数据包之外的所有通信量,并创建一个输入筛选器,这样它将丢弃除从 NetB 到 NetA 的数据包之外的所有通信量。您还需要允许发往/来自 W2KextIP 和 3rdExtIP 的通信量,以允许在创建隧道时执行 IKE 协商。RRAS 筛选是在 IPSec 之上执行的,您不必允许 IPSec 协议,因为筛选从来不到达 IP 数据包筛选器层。以下示例是 Windows 2000 TCP/IP 结构的非常简单的表现形式:
应用程序层
传输层 (TCP|UDP|ICMP|RAW)
---- 网络层开始 ----
IP 数据包筛选器(执行 NAT/RRAS 筛选)
IPSec(实现 IPSec 筛选器)
碎片整理/重新汇编
---- 网络层结束 ------
NDIS 接口
数据链接层
物理层
要在 RRAS 中配置筛选器,请加载 RRAS MMC 并执行以下步骤:
1. 展开路由和远程访问下的服务器树,展开 IP 路由子树,然后单击常规。
2. 右键单击 W2KextIP,然后单击属性。
3. 单击输出筛选器,然后单击添加。
4. 单击“源网络”和“目标网络”复选框,将其选中。
5. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetA。
6. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetB。
7. 将协议设置为任何,然后单击确定。
8. 单击添加,然后单击以选中“源网络”和“目标网络”复选框。
9. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 W2KextIP。
10. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映3rdExtIP(对 IKE 协商使用子网掩码 255.255.255.255)。
11. 将协议设置为任何,然后单击确定。
12. 单击以选中“丢弃所有的数据包,满足下面条件的除外”复选框,然后单击确定。
13. 单击输入筛选器,单击添加,然后单击以选中“源网络”和“目标网络”复选框。
14. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetB。
15. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetA。
16. 将协议设置为任何,然后单击确定。
17. 单击添加,然后单击以选中“源网络”和“目标网络”复选框。
18. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 3rdExtIP。
19. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 W2KextIP(对 IKE 协商使用子网掩码 255.255.255.255)。
20. 将协议设置为任何,然后单击确定。
21. 单击以选中“丢弃所有的数据包,满足下面条件的除外”复选框,然后单击确定两次。
注意:如果 RRAS 服务器有多个连接到 Internet 的接口,或者如果您有多个 IPSec 隧道,请为每个 Internet 接口的每个 IPSec 隧道(每一个源和目标 IP 子网)键入 RRAS 免除筛选器。
如何在 RRAS 中配置静态路由
Windows 2000 网关在其 NetB 路由表中需要有一个路由,其可以通过在 RRAS MMC 中添加一个静态路由进行配置。如果 Windows 2000 网关是一个多主网关,即在同一外部网络(或两个或更多个可到达目标隧道 IP 3rdExtIP 的网络)上有两个或更多个网络适配器,则存在以下可能性:
• 出站隧道通信量占用一个接口,在另一不同的接口上接收入站隧道通信量。即使您使用 IPSec 卸载网络适配器,在不同接口(不是发送出站隧道通信量的接口)上接收时,也不允许接收网络适配器处理硬件中的加密,因为只有出站接口才能卸载“安全关联”(SA)。
• 出站隧道通信量占用的接口不同于具有隧道终结点 IP 地址的接口。隧道传输数据包的源 IP 是出站接口上的源 IP。如果此 IP 不是隧道另一端期望的源 IP,将无法建立隧道(或者,如果隧道已建立,这些数据包会被隧道的远程终结点丢弃)。
要解决在错误接口发送出站隧道通信量的问题,请定义一个静态路由,将发往 NetB 的通信量绑定到相应的外部接口:
1. 在 RRAS MMC 中,展开服务器树,展开 IP 路由子树,右键单击静态路由,然后单击新建静态路由。
2. 在接口区域中,单击 W2KextIP(如果始终要将此接口用于出站隧道通信量)。
3. 填写目标和网络掩码框以反映 NetB。
4. 在网关框中,键入 3rdextip。
5. 将跃点数的值设置为其默认值 (1),然后单击确定。
注意:为了解决在错误接口上接收入站隧道通信量的问题,请不要使用路由协议公布该接口的 IP 地址,并要按本文“如何配置 RRAS 筛选”一节所述在 RRAS 中配置筛选器以丢弃发往 NetA 或 W2KextIP 的数据包。
测试 IPSec 隧道
您可以通过从 NetA 上的计算机向 NetB 上的计算机(或从 NetB 向 NetA)发出 ping 命令来启动隧道。如果您正确地创建了筛选器并指派了正确的策略,这两个网关将建立一条 IPSec 隧道,以便通过 ping 命令以加密格式发送 ICMP 通信量。
即使 ping 命令能够执行,您也应当确认 ICMP 通信量在这两个网关之间是否以加密格式发送。您可以使用以下工具完成此操作。
启用登录事件和对象访问审核
这样可以在安全日志中记录事件,让您知道是否尝试进行了 IKE 安全关联协商以及该协商是否成功。
1. 使用组策略 MMC 管理单元,展开本地计算机策略,前往“计算机配置/Windows 设置/安全设置/本地策略/审核策略”。
2. 启用“审核登录事件”和“审核对象访问”的成功及失败审核。
注意:如果 Windows 2000 网关是域的成员,并且您使用域策略进行审核,那么域策略将取代本地策略。在此情况下,请修改域策略。
IP 安全监视器
此工具显示 IPSec 统计数据和活动 SA。在尝试使用 ping 命令建立隧道后,您可以查看是否创建了 SA(如果隧道创建成功,则会显示 SA)。如果 ping 命令执行成功但没有出现 SA,则表明 ICMP 通信量不受 IPSec 保护。如果您看到一个以前不存在的“软关联”,则 IPSec 同意此通信量以明文形式传送(不加密)。
要加载 IP 安全监视器,请单击开始,单击运行,然后键入 ipsecmon。
网络监视器
在尝试 ping 计算机时,您可以使用“网络监视器”捕获通过 W2KextIP 接口的通信量。如果在捕获的 ICMP 数据包中能够看到有源和目标 IP 地址分别对应于您从中发出 ping 命令的计算机和尝试 ping 的计算机,则 IPSec 未在保护此通信量。如果没有看到此类 ICMP 通信量,而是看到了 ISAKMP 和 ESP 数据包,则 IPSec 在保护通信量。如果您只使用“验证头”(AH) IPSec 协议,则会看到 ISAKMP 通信量后面带有 ICMP 数据包。ISAKMP 数据包是实际发生的 IKE 协商,而 ESP 数据包是由 IPSec 协议加密的负载数据。
您可以从 Windows 2000 Server 光盘安装“网络监视器”。它未在 Windows 2000 Professional 光盘中提供,但如果您有 Microsoft Systems Management Server (SMS),则可以在运行 Windows 2000 Professional 的计算机上安装此工具。
有关在 Windows 2000 中安装“网络监视器”的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
243270 (http://support.microsoft.com/kb/243270/) 如何在 Windows 2000 中安装网络监视器
实际测试
1. 在您尝试从一个子网上的某台计算机 ping 另一台计算机(NetA 或 NetB)之前,请在命令提示符下键入 ipconfig。在 TCP/IP 堆栈中初始化的网络接口将显示出来。
2. 运行“IP 安全监视器”工具。
3. 加载“网络监视器”,单击捕获/网络,然后单击 W2KextIP 接口(您可以通过单击捕获/启动来开始捕获)。
4. 尝试 ping 此计算机。在建立 IPSec 隧道的过程中,第一部分 ICMP 回应数据包可能会超时。如果 ping 尝试不成功,请检查安全日志和系统日志。
5. 如果 ping 尝试成功,则停止“网络监视器”捕获,然后查看 ICMP 通信量是否以明文形式发送的,或是只能查看 ISAKMP 和 IPSec 协议数据包。检查“IP 安全监视器”,查看是否使用您创建的 NetA 到 NetB 的筛选器创建了 SA。另外还要检查安全日志。您应当能够看到事件 ID 541(已建立 IKE 安全关联)。
6. 在命令提示符下再次键入 ipconfig,以验证在隧道使用期间没有其他 TCP/IP 接口。这是因为 IPSec 在实际保护着通过物理接口 (W2KextIP) 的通信量。
如果远程网关也是一个 Windows 2000 节点,请记住以下信息:
• NetA 中客户端的默认网关应该是 W2KextIP;NetB 中客户端的默认网关应该是 3rdIntIP。
• IPSec 隧道不更改 Windows 2000 网关中通信量的路由方式(它能够路由数据包是因为在 RRAS 中启用了路由;实际的 LAN 或 WAN 接口跃点值仍在使用中)。
注意:IPSec 隧道模式不直接用于运行网络地址转换 (NAT) 或 Microsoft Internet Security Acceleration Server (ISA) 的终结点。 有关此限制的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
314764 (http://support.microsoft.com/kb/314764/) 将 Internet 协议安全与网络地址转换以及 Internet Security Acceleration Server 配合使用
有关 RRAS 的更多信息,请参见 Windows 2000 帮助。要访问联机帮助,请访问下面的 Microsoft 网站:
http://www.microsoft.com/windows2000/techinfo/proddoc/default.asp (http://www.microsoft.com/windows2000/techinfo/proddoc/default.asp)
在下面的 Microsoft 网站可以找到 Windows 2000 Resource Kit、演练和其他技术文档:
http://www.microsoft.com/windows2000/techinfo/planning/ (http://www.microsoft.com/windows2000/techinfo/planning/)
有关软关联的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
234580 (http://support.microsoft.com/kb/234580/) 启用 IPSec 和未启用 IPSec 的计算机之间的“软关联”
有关 IETF 标准信息,请访问相应的网站:
• IPSec
http://www.ietf.org/html.charters/OLD/ipsec-charter.html (http://www.ietf.org/html.charters/OLD/ipsec-charter.html)
• L2TP
http://www.ietf.org/html.charters/pppext-charter.html (http://www.ietf.org/html.charters/pppext-charter.html)
ftp://ftp.isi.edu/in-notes/rfc2661.txt (ftp://ftp.isi.edu/in-notes/rfc2661.txt)
http://www.ietf.org/html.charters/l2tpext-charter.html (http://www.ietf.org/html.charters/l2tpext-charter.html)
Microsoft 提供了第三方联系信息以便于您寻求技术支持。此联系信息如有更改,恕不另行通知。Microsoft 不保证这些第三方联系信息的准确性。
这篇文章中的信息适用于:
• Microsoft Windows 2000 Server
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Datacenter Server
关键字: kbhowto kbnetwork kb3rdparty KB252735
URL:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;252735&sd=tech
您可以在隧道模式中使用“IP 安全”(IPSec) 来封装 Internet 协议 (IP) 数据包,而且可以选择将它们加密。在 Microsoft Windows 2000 中使用 IPSec 隧道模式(有时称为“纯 IPSec 隧道”)的主要原因是:为了能够与那些不支持第 2 层隧道协议 (L2TP)/IPSec 或 PPTP 虚拟专用网络 (VPN) 隧道技术的第三方路由器或网关进行互操作。
更多信息
Windows 2000 在隧道的两个终结点都有静态 IP 地址的情况下支持 IPSec 隧道。这一点主要在网关到网关的实现中有用,但也可用于网关/路由器和服务器之间的专用的网络安全方案中(例如,Windows 2000 路由器在从其外部接口将通信量路由到一个基于 Windows 2000 的内部计算机时,通过建立一个到为外部客户端提供服务的内部服务器的 IPSec 隧道,来保护内部路径的安全)。
不支持将 Windows 2000 IPSec 隧道用于客户端远程访问 VPN 的原因是:目前 IETF IPSec RFC 没有在 Internet 密钥交换 (IKE) 协议中为客户端到网关的连接提供远程访问解决方案。用于“第 2 层隧道协议”(L2TP) 的 IETF RFC 2661 是由 Cisco、Microsoft 和其他公司为提供客户端远程访问 VPN 连接而专门开发的。在 Windows 2000 中,使用自动生成的 IPSec 策略来保护客户端远程访问 VPN 连接,此策略在 L2TP 隧道类型被选中时使用 IPSec 传输模式(非隧道模式)。
Windows 2000 IPSec 隧道也不支持特定于协议和端口的隧道。虽然 Microsoft 管理控制台 (MMC) IPSec 策略管理单元十分通用,并且允许您将任何类型的筛选器与隧道关联,但您还是要确保在为隧道规则指定筛选器时只使用地址信息。
有关 IPSec 和 IKE 协议如何工作的详细信息,可在 Microsoft Windows 2000 Resource Kit 和 Windows 2000 IPSec 端对端演练中找到。在本文的最后提供了关于在何处查找这些文档的信息。
本文介绍了如何在 Windows 2000 网关上配置 IPSec 隧道。由于 IPSec 隧道只保护在您配置的 IPSec 筛选器中指定的通信量,因此本文还介绍了如何在“路由和远程访问服务”(RRAS) 中配置筛选器以防止接收或转发隧道外的通信量。为便于按配置步骤进行操作,本文概括了以下方案:
[code:0aca0ac5ed]NetA - Windows 2000 网关 --- Internet --- 第三方网关 - NetB
W2KintIP W2KextIP 3rdExtIP 3rdIntIP[/code:0aca0ac5ed]
NetA 是 Windows 2000 网关内部网络的网络 ID。
W2KintIP 是分配给 Windows 2000 网关内部网络适配器的 IP 地址。
W2KextIP 是分配给 Windows 2000 网关外部网络适配器的 IP 地址。
3rdExtIP 是分配给第三方网关外部网络适配器的 IP 地址。
3rdIntIP 是分配给第三方网关内部网络适配器的 IP 地址。
NetB 是第三方网关内部网络的网络 ID。
目标是让 Windows 2000 网关和第三方网关在来自 NetA 的通信量需要路由到 NetB 或者来自 NetB 的通信量需要路由到 NetA 时建立一个 IPSec 隧道,以便可以通过一个安全的会话来路由通信量。
您需要配置一个 IPSec 策略。您必须创建两个筛选器:一个用于匹配从 NetA 到 NetB(隧道 1)的数据包,一个用于匹配从 NetB 到 NetA(隧道 2)的数据包。您需要配置筛选器操作以指定如何保护隧道安全(隧道由规则表示,因此要创建两个规则)。
如何创建 IPSec 策略
通常,Windows 2000 网关不是域成员,因此将创建本地 IPSec 策略。如果 Windows 2000 网关是域成员,在默认情况下该域将 IPSec 策略应用到域的所有成员,这样,Windows 2000 网关就不能具有本地 IPSec 策略。在此情况下,您可以在 Active Directory 中创建一个组织单位 (OU),使 Windows 2000 网关成为该组织单位的成员,并将 IPSec 策略指派到该组织单位的“组策略对象”(GPO)。有关更多信息,请参考 Windows 2000 联机帮助中的“指派 IPSec 策略”一节。
1. 使用 MMC 处理“IP 安全策略管理”管理单元(加载它的快捷方法是单击开始,单击运行,然后键入 secpol.msc)。
2. 右键单击“本地计算机上的 IP 安全策略”,然后单击创建 IP 安全策略。
3. 单击下一步,然后键入策略的名称(例如,IPSec Tunnel with third-party Gateway)。
注意:您也可以在说明框中键入更多信息。
4. 单击以清除“激活默认响应规则”复选框,然后单击下一步。
5. 单击完成(使编辑复选框保持选中状态)。
注意:使用 IKE 主模式(阶段 1)的默认设置在常规选项卡中的密钥交换中创建 IPSec 策略。IPSec 隧道由两个规则组成,每一个规则都指定了一个隧道终结点。因为有两个隧道终结点,所以就有两个规则。每个规则中的筛选器必须代表发送到此规则的隧道终结点的 IP 数据包中的源和目标 IP 地址。
如何创建一个从 NetA 到 NetB 的筛选器列表
1. 在新的策略属性中,单击以清除使用添加向导复选框,然后单击添加以创建新规则。
2. 在 IP 筛选器列表选项卡上,单击添加。
3. 为筛选器列表键入相应的名称,单击以清除使用添加向导复选框,然后单击添加。
4. 在“源地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetA。
5. 在“目标地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetB。
6. 单击以清除镜像复选框。
7. 在协议选项卡上,确保协议类型设置为任何,因为 IPSec 隧道不支持特定于协议或端口的过滤器。
8. 如果要为筛选器键入说明,请单击说明选项卡。通常,为筛选器和筛选器列表指定相同的名称是一个不错的主意。当隧道为活动状态时,筛选器名称显示在 IPSec 监视器中。
9. 单击确定,然后单击关闭。
如何创建一个从 NetB 到 NetA 的筛选器列表
1. 在 IP 筛选器列表选项卡上,单击添加。
2. 为筛选器列表键入相应的名称,单击以清除使用添加向导复选框,然后单击添加。
3. 在“源地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetB。
4. 在“目标地址”区域中,单击“特定的 IP 子网”,然后填写 IP 地址和“子网掩码”框以反映 NetA。
5. 单击以清除镜像复选框。
6. 如果要为筛选器键入说明,请单击说明选项卡。
7. 单击确定,然后单击关闭。
如何为 NetA 到 NetB 隧道配置规则
1. 在 IP 筛选器列表选项卡上,单击所创建的筛选器列表。
2. 在隧道设置选项卡上,单击隧道终结点由此 IP 地址指定框,然后键入 3rdextip(此处的 3rdextip 是分配给第三方网关外部网络适配器的 IP 地址)。
3. 在连接类型选项卡上,单击“所有网络连接”(如果 W2KextIP 不是 ISDN、PPP 或直连串行连接,则单击“LAN 连接”)。
4. 在筛选器操作选项卡上,单击以清除使用添加向导复选框,然后单击添加以创建新的筛选器操作,因为默认操作允许明文形式的传入通信量。
5. 保持“协商安全”选项为启用状态,单击以清除“接受不安全的通讯,但总是用 IPSec 响应”复选框。只有这样做才能确保安全操作。
注意:不应选中筛选器操作对话框底部的任何复选框作为应用到隧道规则的筛选器操作的初始配置。如果隧道的另一端也配置为使用完全向前保密 (PFS),则只有完全向前保密 (PFS) 复选框是有效的隧道设置。另两个复选框对于隧道筛选器操作无效。
6. 单击添加,使高 (ESP) 选项保持为选中(或者,如果希望定义特定的算法和会话密钥的使用时间,您可以选择“自定义(专业用户)”选项)。“封装式安全措施负载”(ESP) 是两个 IPSec 协议之一。
7. 单击确定。在常规选项卡上,键入新筛选器操作的名称(例如,IPSec tunnel:ESP DES/MD5),然后单击确定。
8. 选择刚创建的筛选器操作。
9. 在验证方法选项卡上,配置您想要的验证方法(如果为了进行测试,请使用预共享密钥,否则请使用证书)。如果隧道的两个终结点都在受信任域中,并且在隧道的 IKE 协商期间(在建立隧道前)隧道的两个终结点都可以到达网络上此受信任域的 IP 地址(域控制器的 IP 地址),则使用 Kerberos 技术是可能的。不过这种情况很少见。
10. 单击关闭。
如何为 NetB 到 NetA 隧道配置规则
1. 在 IPSec 策略属性中,单击添加以创建新规则。
2. 在 IP 筛选器列表选项卡上,单击所创建的筛选器列表(由 NetB 到 NetA)。
3. 在隧道设置选项卡上,单击“隧道终结点由此 IP 地址指定”框,然后键入 w2kextip(此处的 w2kextip 是分配给 Windows 2000 网关外部网络适配器的 IP 地址)。
4. 在连接类型选项卡上,单击“所有网络连接”(如果 W2KextIP 不是 ISDN、PPP 或直连串行连接,则单击“LAN 连接”)。与筛选器匹配的接口类型上的任何出站通信量都将尝试通过隧道传输到在规则中指定的隧道终结点。与筛选器匹配的入站通信量将被丢弃,因为它的接收应通过 IPSec 隧道的安全保护。
5. 在筛选器操作选项卡上,单击所创建的筛选器操作。
6. 在验证方法选项卡上,配置在第一个规则中使用的同一方法(两个规则中都必须使用同一方法)。
7. 单击关闭,确保您创建的这两个规则在策略中都已启用,然后单击关闭。
如何将新 IPSec 策略指派到 Windows 2000 网关
在“本地计算机 MMC”管理单元上的“IP 安全策略”中,右键单击新策略,然后单击指定。该策略旁边的文件夹图标中将出现一个绿色箭头。
在指派完策略之后,您就有了两个附加的活动筛选器(RRAS 自动创建用于 L2TP 通信量的 IPSec 筛选器)。要查看活动筛选器,请在命令提示符下键入以下命令:
netdiag /test:ipsec /debug
您可以选择将此命令的输出重定向到文本文件,以便通过键入以下命令使用文本编辑器(例如记事本)来查看它:
netdiag /test:ipsec /debug > filename.txt
netdiag 命令在您安装 Microsoft Windows 2000 Resource Kit 之后将可供使用,它可从 Windows 2000 光盘进行安装。要安装此工具包,请找到 Support\Tools 文件夹,然后双击 Setup.exe 文件。安装完成后,可能需要运行 %SystemRoot%\Program Files\Support Tools 文件夹(其中,%SystemRoot% 是安装 Windows 2000 的驱动器)中的 netdiag 命令。
隧道筛选器类似于下面的示例:
Local IPSec Policy Active:'IPSec tunnel with {tunnel endpoint}' IP Security Policy Path:
SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local\ipsecPolicy{-longnumber-}
There are two filters
From NetA to NetB
Filter ID:{-long number-}
Policy ID:{-long number-}
IPSEC_POLICY PolicyId = {-long number-}
Flags:0x0
Tunnel Addr: 0.0.0.0
PHASE 2 OFFERS Count = 1
Offer #0:
ESP[ DES MD5 HMAC]
Rekey:0 seconds / 0 bytes.
AUTHENTICATION INFO Count = 1
Method = Preshared key:-actual key-
Src Addr:NetA Src Mask:-subnet mask-
Dest Addr:NetB Dest Mask:-subnet mask-
Tunnel Addr:3rdExtIP Src Port:0 Dest Port: 0
Protocol:0 TunnelFilter:Yes
Flags :Outbound
From NetB to NetA
Filter ID:{-long number-}
Policy ID:{-long number-}
IPSEC_POLICY PolicyId = {-long number-}
Flags:0x0
Tunnel Addr: 0.0.0.0
PHASE 2 OFFERS Count = 1
Offer #0:
ESP[ DES MD5 HMAC]
Rekey:0 seconds / 0 bytes.
AUTHENTICATION INFO Count = 1
Method = Preshared key:-actual key-
Src Addr:NetB Src Mask:-subnet mask-
Dest Addr:NetA Dest Mask:-subnet mask-
Tunnel Addr:W2KextIP Src Port:0 Dest Port: 0
Protocol:0 TunnelFilter:Yes
Flags:Inbound
如何配置 RRAS 筛选
如果您希望阻止源或目标地址没有与 NetA 或 NetB 匹配的通信量,则请在 RRAS MMC 中为外部接口创建一个输出筛选器,这样它将丢弃除从 NetA 到 NetB 的数据包之外的所有通信量,并创建一个输入筛选器,这样它将丢弃除从 NetB 到 NetA 的数据包之外的所有通信量。您还需要允许发往/来自 W2KextIP 和 3rdExtIP 的通信量,以允许在创建隧道时执行 IKE 协商。RRAS 筛选是在 IPSec 之上执行的,您不必允许 IPSec 协议,因为筛选从来不到达 IP 数据包筛选器层。以下示例是 Windows 2000 TCP/IP 结构的非常简单的表现形式:
应用程序层
传输层 (TCP|UDP|ICMP|RAW)
---- 网络层开始 ----
IP 数据包筛选器(执行 NAT/RRAS 筛选)
IPSec(实现 IPSec 筛选器)
碎片整理/重新汇编
---- 网络层结束 ------
NDIS 接口
数据链接层
物理层
要在 RRAS 中配置筛选器,请加载 RRAS MMC 并执行以下步骤:
1. 展开路由和远程访问下的服务器树,展开 IP 路由子树,然后单击常规。
2. 右键单击 W2KextIP,然后单击属性。
3. 单击输出筛选器,然后单击添加。
4. 单击“源网络”和“目标网络”复选框,将其选中。
5. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetA。
6. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetB。
7. 将协议设置为任何,然后单击确定。
8. 单击添加,然后单击以选中“源网络”和“目标网络”复选框。
9. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 W2KextIP。
10. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映3rdExtIP(对 IKE 协商使用子网掩码 255.255.255.255)。
11. 将协议设置为任何,然后单击确定。
12. 单击以选中“丢弃所有的数据包,满足下面条件的除外”复选框,然后单击确定。
13. 单击输入筛选器,单击添加,然后单击以选中“源网络”和“目标网络”复选框。
14. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetB。
15. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 NetA。
16. 将协议设置为任何,然后单击确定。
17. 单击添加,然后单击以选中“源网络”和“目标网络”复选框。
18. 在“源网络”区域中,填写“IP 地址”和“子网掩码”框以反映 3rdExtIP。
19. 在“目标网络”区域中,填写“IP 地址”和“子网掩码”框以反映 W2KextIP(对 IKE 协商使用子网掩码 255.255.255.255)。
20. 将协议设置为任何,然后单击确定。
21. 单击以选中“丢弃所有的数据包,满足下面条件的除外”复选框,然后单击确定两次。
注意:如果 RRAS 服务器有多个连接到 Internet 的接口,或者如果您有多个 IPSec 隧道,请为每个 Internet 接口的每个 IPSec 隧道(每一个源和目标 IP 子网)键入 RRAS 免除筛选器。
如何在 RRAS 中配置静态路由
Windows 2000 网关在其 NetB 路由表中需要有一个路由,其可以通过在 RRAS MMC 中添加一个静态路由进行配置。如果 Windows 2000 网关是一个多主网关,即在同一外部网络(或两个或更多个可到达目标隧道 IP 3rdExtIP 的网络)上有两个或更多个网络适配器,则存在以下可能性:
• 出站隧道通信量占用一个接口,在另一不同的接口上接收入站隧道通信量。即使您使用 IPSec 卸载网络适配器,在不同接口(不是发送出站隧道通信量的接口)上接收时,也不允许接收网络适配器处理硬件中的加密,因为只有出站接口才能卸载“安全关联”(SA)。
• 出站隧道通信量占用的接口不同于具有隧道终结点 IP 地址的接口。隧道传输数据包的源 IP 是出站接口上的源 IP。如果此 IP 不是隧道另一端期望的源 IP,将无法建立隧道(或者,如果隧道已建立,这些数据包会被隧道的远程终结点丢弃)。
要解决在错误接口发送出站隧道通信量的问题,请定义一个静态路由,将发往 NetB 的通信量绑定到相应的外部接口:
1. 在 RRAS MMC 中,展开服务器树,展开 IP 路由子树,右键单击静态路由,然后单击新建静态路由。
2. 在接口区域中,单击 W2KextIP(如果始终要将此接口用于出站隧道通信量)。
3. 填写目标和网络掩码框以反映 NetB。
4. 在网关框中,键入 3rdextip。
5. 将跃点数的值设置为其默认值 (1),然后单击确定。
注意:为了解决在错误接口上接收入站隧道通信量的问题,请不要使用路由协议公布该接口的 IP 地址,并要按本文“如何配置 RRAS 筛选”一节所述在 RRAS 中配置筛选器以丢弃发往 NetA 或 W2KextIP 的数据包。
测试 IPSec 隧道
您可以通过从 NetA 上的计算机向 NetB 上的计算机(或从 NetB 向 NetA)发出 ping 命令来启动隧道。如果您正确地创建了筛选器并指派了正确的策略,这两个网关将建立一条 IPSec 隧道,以便通过 ping 命令以加密格式发送 ICMP 通信量。
即使 ping 命令能够执行,您也应当确认 ICMP 通信量在这两个网关之间是否以加密格式发送。您可以使用以下工具完成此操作。
启用登录事件和对象访问审核
这样可以在安全日志中记录事件,让您知道是否尝试进行了 IKE 安全关联协商以及该协商是否成功。
1. 使用组策略 MMC 管理单元,展开本地计算机策略,前往“计算机配置/Windows 设置/安全设置/本地策略/审核策略”。
2. 启用“审核登录事件”和“审核对象访问”的成功及失败审核。
注意:如果 Windows 2000 网关是域的成员,并且您使用域策略进行审核,那么域策略将取代本地策略。在此情况下,请修改域策略。
IP 安全监视器
此工具显示 IPSec 统计数据和活动 SA。在尝试使用 ping 命令建立隧道后,您可以查看是否创建了 SA(如果隧道创建成功,则会显示 SA)。如果 ping 命令执行成功但没有出现 SA,则表明 ICMP 通信量不受 IPSec 保护。如果您看到一个以前不存在的“软关联”,则 IPSec 同意此通信量以明文形式传送(不加密)。
要加载 IP 安全监视器,请单击开始,单击运行,然后键入 ipsecmon。
网络监视器
在尝试 ping 计算机时,您可以使用“网络监视器”捕获通过 W2KextIP 接口的通信量。如果在捕获的 ICMP 数据包中能够看到有源和目标 IP 地址分别对应于您从中发出 ping 命令的计算机和尝试 ping 的计算机,则 IPSec 未在保护此通信量。如果没有看到此类 ICMP 通信量,而是看到了 ISAKMP 和 ESP 数据包,则 IPSec 在保护通信量。如果您只使用“验证头”(AH) IPSec 协议,则会看到 ISAKMP 通信量后面带有 ICMP 数据包。ISAKMP 数据包是实际发生的 IKE 协商,而 ESP 数据包是由 IPSec 协议加密的负载数据。
您可以从 Windows 2000 Server 光盘安装“网络监视器”。它未在 Windows 2000 Professional 光盘中提供,但如果您有 Microsoft Systems Management Server (SMS),则可以在运行 Windows 2000 Professional 的计算机上安装此工具。
有关在 Windows 2000 中安装“网络监视器”的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
243270 (http://support.microsoft.com/kb/243270/) 如何在 Windows 2000 中安装网络监视器
实际测试
1. 在您尝试从一个子网上的某台计算机 ping 另一台计算机(NetA 或 NetB)之前,请在命令提示符下键入 ipconfig。在 TCP/IP 堆栈中初始化的网络接口将显示出来。
2. 运行“IP 安全监视器”工具。
3. 加载“网络监视器”,单击捕获/网络,然后单击 W2KextIP 接口(您可以通过单击捕获/启动来开始捕获)。
4. 尝试 ping 此计算机。在建立 IPSec 隧道的过程中,第一部分 ICMP 回应数据包可能会超时。如果 ping 尝试不成功,请检查安全日志和系统日志。
5. 如果 ping 尝试成功,则停止“网络监视器”捕获,然后查看 ICMP 通信量是否以明文形式发送的,或是只能查看 ISAKMP 和 IPSec 协议数据包。检查“IP 安全监视器”,查看是否使用您创建的 NetA 到 NetB 的筛选器创建了 SA。另外还要检查安全日志。您应当能够看到事件 ID 541(已建立 IKE 安全关联)。
6. 在命令提示符下再次键入 ipconfig,以验证在隧道使用期间没有其他 TCP/IP 接口。这是因为 IPSec 在实际保护着通过物理接口 (W2KextIP) 的通信量。
如果远程网关也是一个 Windows 2000 节点,请记住以下信息:
• NetA 中客户端的默认网关应该是 W2KextIP;NetB 中客户端的默认网关应该是 3rdIntIP。
• IPSec 隧道不更改 Windows 2000 网关中通信量的路由方式(它能够路由数据包是因为在 RRAS 中启用了路由;实际的 LAN 或 WAN 接口跃点值仍在使用中)。
注意:IPSec 隧道模式不直接用于运行网络地址转换 (NAT) 或 Microsoft Internet Security Acceleration Server (ISA) 的终结点。 有关此限制的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
314764 (http://support.microsoft.com/kb/314764/) 将 Internet 协议安全与网络地址转换以及 Internet Security Acceleration Server 配合使用
有关 RRAS 的更多信息,请参见 Windows 2000 帮助。要访问联机帮助,请访问下面的 Microsoft 网站:
http://www.microsoft.com/windows2000/techinfo/proddoc/default.asp (http://www.microsoft.com/windows2000/techinfo/proddoc/default.asp)
在下面的 Microsoft 网站可以找到 Windows 2000 Resource Kit、演练和其他技术文档:
http://www.microsoft.com/windows2000/techinfo/planning/ (http://www.microsoft.com/windows2000/techinfo/planning/)
有关软关联的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
234580 (http://support.microsoft.com/kb/234580/) 启用 IPSec 和未启用 IPSec 的计算机之间的“软关联”
有关 IETF 标准信息,请访问相应的网站:
• IPSec
http://www.ietf.org/html.charters/OLD/ipsec-charter.html (http://www.ietf.org/html.charters/OLD/ipsec-charter.html)
• L2TP
http://www.ietf.org/html.charters/pppext-charter.html (http://www.ietf.org/html.charters/pppext-charter.html)
ftp://ftp.isi.edu/in-notes/rfc2661.txt (ftp://ftp.isi.edu/in-notes/rfc2661.txt)
http://www.ietf.org/html.charters/l2tpext-charter.html (http://www.ietf.org/html.charters/l2tpext-charter.html)
Microsoft 提供了第三方联系信息以便于您寻求技术支持。此联系信息如有更改,恕不另行通知。Microsoft 不保证这些第三方联系信息的准确性。
这篇文章中的信息适用于:
• Microsoft Windows 2000 Server
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Datacenter Server
关键字: kbhowto kbnetwork kb3rdparty KB252735
URL:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;252735&sd=tech


添加到百度搜藏