在两台独立的主机之间,可以使用IPSec策略安全传输数据。在很多情况下,通讯双方可能处于两个不同的网络中,如何使其可以安全地传输数据呢?这就需要使用IPsec隧道传输模式了。一般来说,不同的网络之间会通过路由器来进行相互通讯。在本例中为了便于说明,使用两台Windows Server 2008 R2服务器来充当路由器,用来将两个不同的网络连接起来,在两台服务器之间建立IPSec隧道连接。在Server 1主机连接的是IP为192.168.1.0的网络,其外网地址为192.168.3.100。Server 2主机连接的是IP为192.168.2.0的网络,其外网地址为192.168.5.200。
图4 设置隧道终结点信息
在Server 1上打开高级安全Windows防火墙窗口,点击左侧的“连接安全规则”项,在右侧点击“新建规则”连接,在弹出窗口中选择“隧道”项,在下一步隧道类型窗口中选择“自定义设置”项,点击下一步按钮,选择进行身份验证的时机。在下一步窗口(如图4所示)中的“终结点1 中的计算机”栏中点击“添加”按钮,输入其连接的网络内的主机地址或者网络标识符(例 如“192.168.1.0/24”),在“什么是本地隧道终结点”栏中的“IPv4”栏中输入Server 1的外网地址,例如 192.168.3.100。 在“什么是远程隧道终结点”栏中点击“编辑”按钮,在弹出窗口中的“IPv4”栏中输入Server 2的外网地址,例如192.168.5.200。在“终结点2中的计算机”栏中点击“编辑”按钮,在弹出窗口中的“IPv4”栏中点击“添加”按钮,输入Server 2连接的网络内的主机IP或者网络标识符,例如192.168.2.0/24。在下一步窗口中选择“高级”按钮,在弹出窗口中按照上述方法,设置合适的预共享密钥,之后输入规则名和描述信息,完成该规则的创建操作。
在Server 2主机上打开高级安全Windows防火墙窗口,按照相同的方法设置对应的IPSec安全连接规则。之后,在与其连接的两个网络的主机之间,就可以安全地通信了。例如,与Server 1连接的内网中PC1需要和与Server2连接的内网中的PC2通讯,PC发送的数据先传给了Server1,Server1自动和Server连接IPSec隧道连接,将数据安全传输给Server 2,之后Server 2将数据传输给PC2。如前所述,在两个不同的网络中的主机进行通信时,需要使用路由器进行连接。使用Windows Server 2008 R2服务器,就可以充当路由器的角色。实现方法是在Windows Server 2008服务器中安装两块网卡,分别连接两个不同的网络。
在服务管理器中打开角色添加向导界面,在其中选择“网络策略和访问服务”项,在下一步窗口中选择“路由和远程访问服务”项,点击“安装”按钮,执行所需的安装操作。之后在管理工具窗口中运行路由和远程访问程序,在其主界面中选择本地计算机名称,在其右键菜单中点击“配置并启用路由和远程访问”项,在弹出的向导窗口中选择“自定义配置”项,在下一步窗口中选择“LAN路由”项,之后完成配置操作,并点击“启动服务”链接,启动路由和远程访问服务。
在路由和远程访问主界面左侧选择本地计算机名称,在其属性窗口中的“常规”面板中的“启用此计算机作为”栏中如果选择“IPv4路由器”等项,表示该机已经具备了路由器的功能。在CMD窗口中执行“route print-4”命令,可以显示路由表信息。您可以根据实际需要,使用“route add”命令,来手工添加静态路由。例如执行“rout p add 192.168.6.0 mask 255.255.255.0 192.168.2.253 metric 256 if 12”命令,表示创建一条永久路由路径,会被存储到注册表中,下次启动时不会丢失。其作用当针对192.168.6.0网络中的主机发送数据时,经过对应的网络接口(假设是A网络的接口,IP为 192.168.2.254),发送到 IP为192.168.2.253的网关。
当然,这里只是列举一个例子,实际操作要更加复杂。
当删除路由路径时,可以利用“route delete”命令来实现,例如执行“delete 192.168.6.0”,就可以将针对“192.168.6.0”的路径删除。