使用 VMware 和 ISA Server 2004 搭建 VPN 实验环境

来源:互联网 发布:java迭代器使用 编辑:程序博客网 时间:2024/04/27 02:51

157本文介绍在 Windows 2003 Server 中,使用 VMware 和 ISA Server 2004 搭建 VPN 实验环境的方法及相关的注意事项。

首先,在虚拟机中安装两个操作系统,如 Windows 2000 Pro 和 Windows XP Pro,在以下实验中,Windows 2000 作为VPN客户端,Windows XP 作为企业内网。

(一)配置虚拟机网络

Windows XP 作为企业内网,它是通过 NAT 方式和外网联系的。虚拟机安装完成后,自动生成三种网络连接方式:Bridged、NAT 和 host only。然后,如果您使用虚拟机自带的 NAT 服务,将可能导致实验的失败。我选择 host only 方式。在正常情况下,host only 的主机是不能上网的。不用担心,ISA Server 会自使用自己的 NAT 服务解决。事实上,ISA Server 会接替 Windows Server 的 RRAS 服务。

为了实验的方便,我们对 Windows XP 的地址作如下配置:
IP为 192.168.157.128,网关为192.168.157.1,注意,此网关就是 Windows 2003 Server 中,VMware 自成的名为 VMware Network Adapter VMnet1 的网卡地址。在此实验中,作者将该地址手工设为 192.168.157.1/24。

对 Windows 2000 的网络配置比较简单,选择 Bridged 后,它看起来就像 2003 子网中的另一台机器。我的设置为:Windows 2003 的IP地址为 202.192.34.211,Windows 2000 的 IP 地址为 202.192.34.212

(二)配置 VPN 服务

打开 ISA Server 2004 的管理控制台,点击“虚拟专用网络”,点击“启用VPN客户端访问”。

首先保证网络和网络规则配置正确:
选择防火墙模板的3(向外围网络)
内网: VMware Network Adapter VMnet1 ,其它的默认。
网络规则:VPN到内部网络选择路由,其它的默认。

其次对 VPN 服务进行调整:
(1) 点击“验证启用了 VPN 客户端访问”,在组中,添加可以远程访问的组。注意,该组的属性应该通过Windows的“本地用户和组”修改,允许用户“拔入”。
(2) 点击定义地址分配,将分配的地址改为 192.168.158.201-192.168.158.210
(3) 启用PPTP

(三)添加策略
添加所有网络到所有网络的ICMP,PPTP、PPTP服务器访问,以及您想要测试的服务,比如WWW、FTP等。

应用这些策略后,需要耐心等待几分钟,千万不要一看 ping 不通就以为配置得不正确。正因如此,配置VPN是一项比较费时的工作。

一些结果:
Windows 2003 上 IPCONFIG

 Windows IP Configuration


Ethernet adapter VMware Network Adapter VMnet8:

   Connection-specific DNS Suffix  . :
   Autoconfiguration IP Address. . . : 169.254.218.201
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   IP Address. . . . . . . . . . . . : fe80::250:56ff:fec0:8%4
   Default Gateway . . . . . . . . . :

Ethernet adapter VMware Network Adapter VMnet1:

   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 192.168.157.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   IP Address. . . . . . . . . . . . : fe80::250:56ff:fec0:1%5
   Default Gateway . . . . . . . . . :

PPP adapter RAS Server (Dial In) Interface:

   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 192.168.158.201
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . :

Ethernet adapter 本地连接:

   Connection-specific DNS Suffix  . :
   IP Address. . . . . . . . . . . . : 202.192.34.211
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   IP Address. . . . . . . . . . . . : 202.192.34.212
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 202.192.34.254


Win 2000 IPCONFIG

 Windows 2000 IP Configuration

Ethernet adapter 本地连接:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 202.192.34.210
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 202.192.34.254

PPP adapter 虚拟专用连接:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.158.202
        Subnet Mask . . . . . . . . . . . : 255.255.255.255
        Default Gateway . . . . . . . . . : 192.168.158.202


VPN 配置文件
 
  <?xml version="1.0" encoding="UTF-8" ?>
- <fpc4:Root xmlns:fpc4="http://schemas.microsoft.com/isa/config-4" xmlns:dt="urn:schemas-microsoft-com:datatypes" StorageName="FPC" StorageType="0">
  <fpc4:Build dt:dt="string">4.0.2163.213</fpc4:Build>
  <fpc4:Comment dt:dt="string" />
  <fpc4:Edition dt:dt="int">80</fpc4:Edition>
  <fpc4:ExportItemClassCLSID dt:dt="string">{78BC57B4-CD40-4267-8FFC-C62617E48B1F}</fpc4:ExportItemClassCLSID>
  <fpc4:ExportItemStorageName dt:dt="string">VpnConfig</fpc4:ExportItemStorageName>
  <fpc4:IsaXmlVersion dt:dt="string">1.10</fpc4:IsaXmlVersion>
  <fpc4:OptionalData dt:dt="int">4</fpc4:OptionalData>
  <fpc4:Upgrade dt:dt="boolean">0</fpc4:Upgrade>
- <fpc4:Arrays StorageName="Arrays" StorageType="0">
- <fpc4:Array StorageName="{076F5513-18BD-4413-83B7-378678E45066}" StorageType="0">
  <fpc4:Components dt:dt="int">-1</fpc4:Components>
  <fpc4:Name dt:dt="string" />
- <fpc4:NetConfig StorageName="NetConfig" StorageType="0">
- <fpc4:VpnConfig StorageName="VpnConfig" StorageType="1">
  <fpc4:VpnEnable dt:dt="boolean">1</fpc4:VpnEnable>
  <fpc4:VpnEnableRADIUSAccounting dt:dt="boolean">0</fpc4:VpnEnableRADIUSAccounting>
  <fpc4:VpnEnableRADIUSAuthentication dt:dt="boolean">0</fpc4:VpnEnableRADIUSAuthentication>
  <fpc4:VpnEnableWindowsAccounting dt:dt="boolean">0</fpc4:VpnEnableWindowsAccounting>
  <fpc4:VpnMaximumClients dt:dt="int">5</fpc4:VpnMaximumClients>
  <fpc4:VpnUseDHCPForAddressAssignment dt:dt="boolean">0</fpc4:VpnUseDHCPForAddressAssignment>
- <fpc4:IpRangeSet StorageName="VpnStaticAddressPool" StorageType="1">
- <fpc4:IpRangeEntry StorageName="{EF0342A5-5C1D-4C18-8676-4FE4E7A8D4A2}" StorageType="1">
  <fpc4:IPFrom dt:dt="string">192.168.158.201</fpc4:IPFrom>
  <fpc4:IPTo dt:dt="string">192.168.158.210</fpc4:IPTo>
  </fpc4:IpRangeEntry>
  </fpc4:IpRangeSet>
- <fpc4:VpnPPPSettings StorageName="VpnPPPSettings" StorageType="1">
  <fpc4:VpnPPPEnableMSCHAPv2 dt:dt="boolean">1</fpc4:VpnPPPEnableMSCHAPv2>
  </fpc4:VpnPPPSettings>
- <fpc4:Refs StorageName="SourceNetworkSets" StorageType="1">
- <fpc4:Ref StorageName="{2DA36D11-831F-4D29-8892-81CBADE8357B}" StorageType="1">
  <fpc4:Name dt:dt="string">{1651a6f8-7eac-41f3-9479-79f946ba9225}</fpc4:Name>
  <fpc4:RefClass dt:dt="string">msFPCNetworkSet</fpc4:RefClass>
  </fpc4:Ref>
- <fpc4:Ref StorageName="{3E29539C-C7D0-4CC7-891A-A1056705CDEF}" StorageType="1">
  <fpc4:Name dt:dt="string">{18d0438b-5144-4362-b79e-742712513729}</fpc4:Name>
  <fpc4:RefClass dt:dt="string">msFPCNetworkSet</fpc4:RefClass>
  </fpc4:Ref>
  </fpc4:Refs>
- <fpc4:Refs StorageName="VpnNetworksToListenOn" StorageType="1">
- <fpc4:Ref StorageName="{BC49E405-1A0F-4E7D-9FC1-9A512C043AF7}" StorageType="1">
  <fpc4:Name dt:dt="string">{F129EACF-778B-44FE-B339-5B752D7220A3}</fpc4:Name>
  <fpc4:RefClass dt:dt="string">msFPCNetwork</fpc4:RefClass>
  </fpc4:Ref>
- <fpc4:Ref StorageName="{78AF65F3-F2C9-4053-8FB5-876039BB5065}" StorageType="1">
  <fpc4:Name dt:dt="string">{EE4FD759-3B5B-4E27-9A7B-CEFE7817D3D0}</fpc4:Name>
  <fpc4:RefClass dt:dt="string">msFPCNetwork</fpc4:RefClass>
  </fpc4:Ref>
  </fpc4:Refs>
- <fpc4:Ref StorageName="NetworkToObtainDHCP" StorageType="1">
  <fpc4:Name dt:dt="string">{4E32B556-0FAF-4A27-9111-085F679EDC9B}</fpc4:Name>
  <fpc4:RefClass dt:dt="string">msFPCNetwork</fpc4:RefClass>
  </fpc4:Ref>
  <fpc4:VpnQuarantineSettings StorageName="VpnQuarantineSettings" StorageType="1" />
- <fpc4:Accounts StorageName="Access" StorageType="1">
- <fpc4:Account StorageName="FEELWINTER-VPN" StorageType="1">
  <fpc4:AccountSid dt:dt="string">S-1-5-21-1107417562-2328566607-1987491464-1026</fpc4:AccountSid>
  <fpc4:AccountType dt:dt="int">3</fpc4:AccountType>
  </fpc4:Account>
  </fpc4:Accounts>
  <fpc4:UserMapping StorageName="UserMapping" StorageType="1" />
  </fpc4:VpnConfig>
- <fpc4:NetworkSets StorageName="NetworkSets" StorageType="0">
- <fpc4:NetworkSet StorageName="{1651a6f8-7eac-41f3-9479-79f946ba9225}" StorageType="2">
  <fpc4:Description dt:dt="string">此预定义的网络集包括除内置外部网络的所有网络。预定义的网络集不能修改。</fpc4:Description>
  <fpc4:Name dt:dt="string">所有受保护的网络</fpc4:Name>
  <fpc4:NetworkSetType dt:dt="int">1</fpc4:NetworkSetType>
  <fpc4:Predefined dt:dt="boolean">1</fpc4:Predefined>
  </fpc4:NetworkSet>
- <fpc4:NetworkSet StorageName="{18d0438b-5144-4362-b79e-742712513729}" StorageType="2">
  <fpc4:Description dt:dt="string">此预定义的网络集包括所有网络。预定义的网络集不能修改。</fpc4:Description>
  <fpc4:Name dt:dt="string">所有网络(和本地主机)</fpc4:Name>
  <fpc4:NetworkSetType dt:dt="int">1</fpc4:NetworkSetType>
  <fpc4:Predefined dt:dt="boolean">1</fpc4:Predefined>
  </fpc4:NetworkSet>
  </fpc4:NetworkSets>
- <fpc4:Networks StorageName="Networks" StorageType="0">
- <fpc4:Network StorageName="{F129EACF-778B-44FE-B339-5B752D7220A3}" StorageType="2">
  <fpc4:Description dt:dt="string">代表 Internet 的内置网络对象。</fpc4:Description>
  <fpc4:Name dt:dt="string">外部</fpc4:Name>
  <fpc4:NetworkType dt:dt="int">3</fpc4:NetworkType>
  </fpc4:Network>
- <fpc4:Network StorageName="{EE4FD759-3B5B-4E27-9A7B-CEFE7817D3D0}" StorageType="2">
  <fpc4:Description dt:dt="string">代表外围网络的网络对象(也称为 DMZ、第三区域和被筛选的子网)。</fpc4:Description>
  <fpc4:Name dt:dt="string">外围</fpc4:Name>
  <fpc4:NetworkType dt:dt="int">0</fpc4:NetworkType>
  <fpc4:IpRangeSet StorageName="IpRangeSet" StorageType="2" />
  </fpc4:Network>
- <fpc4:Network StorageName="{4E32B556-0FAF-4A27-9111-085F679EDC9B}" StorageType="2">
  <fpc4:Description dt:dt="string">代表内部网络的网络</fpc4:Description>
  <fpc4:EnableAutoDiscovery dt:dt="boolean">1</fpc4:EnableAutoDiscovery>
  <fpc4:EnableFirewallClients dt:dt="boolean">1</fpc4:EnableFirewallClients>
  <fpc4:EnableWebProxyClients dt:dt="boolean">1</fpc4:EnableWebProxyClients>
  <fpc4:Name dt:dt="string">内部</fpc4:Name>
  <fpc4:NetworkType dt:dt="int">4</fpc4:NetworkType>
- <fpc4:IpRangeSet StorageName="IpRangeSet" StorageType="2">
- <fpc4:IpRangeEntry StorageName="{E74CA8A7-EF40-497D-A785-2F864D478C3D}" StorageType="2">
  <fpc4:IPFrom dt:dt="string">192.168.157.1</fpc4:IPFrom>
  <fpc4:IPTo dt:dt="string">192.168.157.200</fpc4:IPTo>
  </fpc4:IpRangeEntry>
  </fpc4:IpRangeSet>
  </fpc4:Network>
  </fpc4:Networks>
  </fpc4:NetConfig>
  </fpc4:Array>
  </fpc4:Arrays>
  </fpc4:Root>