利用IPSec协议,在两台独立的主机之间传输数据,可以使用预共享密钥(Preshared Key)的验证方法。这里使用两台Windows Server 2008 R2主机,其IP分别为192.168.1.10和192.168.1.20。首先需要保证两者可以正常通信,可以使用PING命令,来相互检测连通性。如果PING失败的话,可以在高级安全Windows防火墙窗口左侧选择“入站规则”项,在规则列表中选择“回显请求-ICMPv4-In”之类的项目,点击右侧的“启用规则”连接。
图1 选择安全规则类型
在某台主机上打开高级安全Windows防火墙窗口,点击左侧的“连接安全规则”项,在右侧点击“新建规则”连接,在弹出窗口中选择“隔离”项,点击下一步按钮,如果选择“入站和出站请求身份验证”项(如图1所示),表示数据的进出都会请求对方采用IPSec,如果对方没有提供IPSec功能导致协商失败的话,就采用普通的连接方式。如果选择“入站连接要求身份验证,出站连接请求身份验证”项,表示接收数据必须采用IPSec,否则拒绝连接。出站连接会请求对方采用IPSec,如果与对方协商失败,就采用一般的连接方式。选择“入站和出站要求身份验证”项,表示无论出站和入站连接,都必须才采用IPSec,否则的话拒绝连接。
在下一步窗口中选择“高级”项,点击“自定义”按钮,在弹出窗口中的“第一身份验证”栏中点击“添加”按钮,在打开窗口(如图2所示)中选择“预共享密钥”项,输入所需的密钥。
当然,在对方主机上也必须按照同样的方法,设置相同的密钥值。
图3 防火墙属性设置窗口
在上述向导界面中点击下一步按钮,在配置文件窗口中选择本机何时应用该规则。如果选择“域”项,表示当本机连接到网络时,如果能够与域控制器通信,就应用此规则。如果选择“专用”项,表示当本机连接到专用网络时,如果无法与域控制器通信或者该机是非域成员,就应用此规则。如果选择“公用”项,表示本机连接到公用网络时应用此规则。在下一步窗口中输入本规则的名称和描述信息,点击“完成”按钮,执行该规则的创建操作。
如果在另外一台主机上没有配置同样的IPSec规则,那么当其试图与本机通讯时,就会遭到本机的拒绝。因此,需要在另外一台主机上执行上述操作,创建同样的连接安全规则,这样,就可以在两台主机之间安全传输数据了。在此期间,在任意主机上的高级安全Windows防火墙窗口左侧选择“监视”-“安全关联”-“主模式”或者“快速模式”项,就可以在监控界面中查看加密传输参数了,包括本机地址、远程地址、本地端口、远程端口、协议、AH完整性、ESP完整性、ESP加密等信息。
如果想更改IPSec默认值的话,可以在窗口左侧的“本地计算机”节点右键菜单上点击“属性”项,在弹出窗口(如图3所示)中的“IPSec 免除”栏中的“从IPSec免除ICMP”列表中选择“是”项,可以让PING操作不受IPSec影响直接进行探测操作。在“IPSec设置”面板中的“IPSec默认值”栏中点击“自定义”按钮,在打开窗口中可以对密钥交换、数据保护、身份验证方法等栏中点击对应的“自定义”按钮,对这些参数进行自定义设置。