虚拟专用网络概述安全
模拟点对点连接(封装) 服务器
模拟专用连接(加密)网络
点对点隧道协议(PPTP)ide
基于Internet协议安全性(IPSec)的第2层隧道协议(L2TP)工具
Internet协议安全性(IPSec)隧道模式 测试
见下图:this
如何构建基于PPTP的站点到站点×××链接呢?加密
在前面的博文中,咱们已经介绍了如何用ISA2006建立×××服务器,以及远程用户如何利用×××服务器拨入内网。若是是个别用户在家办公或出差在外,用前文提到的×××解决方案是能够圆满解决的。但若是是一群用户有互相访问的需求,例如某公司总部和分公司须要互相访问,那用×××远程拨入的方式就显得效率不高了。试想一下,公司总部500人,分公司300人,若是要互相访问,800人都要拨叫对方的×××服务器,这显然不是一个好的解决方案。 url
今天咱们提供一种站点到站点的×××解决方案,能够很好地解决这个问题。咱们引入下面的拓扑图来讲明这个方案的构思,某公司Florence总部的内网IP范围是10.1.1.0,Berlin分公司的内网IP范围是10.2.1.0。北京分公司使用一台ISA服务器链接到互联网,天津分公司也使用一台ISA2006连到公网。站点到站点的×××指的是在两个公司的ISA服务器上配置好×××的拨入拨出参数,确保两个ISA服务器既能够拨叫对方的×××服务器,也能够接受对方×××服务器的拨叫。这样一来用户只要把默认网关指向本身的ISA服务器,就能够不用拨叫对方公司的×××服务器了,所有由ISA代劳了。例如Florence公司的Denver要访问Berlin公司的Istanbul,Denver只要把访问Istanbul的请求提交给本身的默认网关-Florence,剩下的事就不用管了,Florence会自动拨叫Berlin公司的ISA服务器Berlin,而后在两个ISA服务器之间建立完成×××隧道,接下来Denver的访问请求就被Florence经过×××隧道路由到Berlin公司的Istanbul上了。你看,这样一来两个公司员工互访时就很方便了,只要把网关指向本身的ISA服务器,而后就能够透明地访问对方公司的内网,效率是否是有很大的提升呢? spa
建立站点间的×××须要在两个×××服务器上都进行设置,两个ISA服务器上的操做具备对称性,咱们先以Florence上的操做为例进行详细讲解,目前Florence已作了下列准备:
一、 防火墙策略中容许内网和本地主机任意访问。
二、 启用了×××,容许使用PPTP和L2TP。
三、 ×××地址池的范围是192.168.100.1-192.168.100.200。
一 建立远程站点
建立远程站点是部署站点间×××最重要的一步,远程站点实际上是一个自定义的远程网络,具体到Florence,其实就是要把Berlin分公司的内网10.2.1.0定义为一个远程网络。为何须要把对方公司的内网定义成一个新的网络呢?由于咱们知道网络是ISA进行访问控制的基本管理单元,ISA考察一个访问请求时首先要考虑源网络和目标网络的网络规则。若是不定义远程网络,Berlin分公司对Florence来讲属于外网范畴,而内网到外网的网络规则是NAT,所以Florence不会容许从Berlin的Istanbul访问Florence的Denver。这就是咱们为何要把Berlin公司的内网定义为一个新的网络,只有这样咱们才能够从新定义Florence内网和Berlin内网的网络规则,进而制定出符合要求的防火墙策略。
建立远程站点还涉及到建立×××隧道的参数设定,例如Florence把Berlin分公司的内网定义为远程网络,那Florence上就必须定义好链接这个远程网络要经过哪一个×××服务器,两个×××服务器使用哪一种协议,如何进行身份验证等,下面咱们就来具体看看如何在Florence上建立远程站点。
在Florence上打开ISA管理器,切换到虚拟专用网络,以下图所示,在“远程站点”标签下选择“建立×××点对点链接”。
出现建立×××点对点链接向导,其实就是远程站点的建立向导,首先咱们要为远程站点起个名字,以下图所示,咱们为远程站点命名为Berlin。这个远程站点的名字可不是随便取的,后面咱们会知道ISA服务器上必须建立一个和远程站点同名的用户。
接下来要选择×××站点间链接要使用的协议,若是两个×××服务器都是ISA,那能够选择PPTP或L2TP,若是是ISA和硬件×××组成站点间链接,那应该选择IPSEC。在这个实验中咱们选择使用PPTP做为站点间×××使用的隧道协议。见下图:
以下图所示,系统会弹出一个对话框提示你在ISA服务器上必须有一个和远程站点同名的用户,并且用户必须有拨入权限。也就是说Florence建立了一个远程站点Berlin后,Florence服务器上必须有一个名为Berlin的具备远程拨入权限的用户。若是Florence隶属于域,那么Berlin这个用户也能够在域控制器上建立。建立出的这个用户是为Berlin公司的×××服务器拨叫Florence公司的×××服务器准备的,Berlin公司的用户经过他们的×××服务器拨叫Florence的×××服务器时,若是Berlin用户源于Berlin这个远程网络,那Berlin的×××服务器必须使用Berlin做为用户名进行身份验证。因为微软这么一个奇怪的规定,咱们必须在Florence的ISA服务器上准备好Berlin这个用户。
接下来要填写远程站点的×××服务器的IP地址或域名,Berlin的×××服务器IP是192.168.1.8。见下图:
下面设定的是Florence拨叫Berlin的×××服务器时进行身份验证的凭据,显然,Berlin上也要有个名为Florence的用户,在后续的操做中咱们会在Berlin上建立这个用户。见下图:
接下来咱们要定义远程站点的IP地址范围,以下图所示,远程站点的地址范围是10.2.1.0-10.2.1.255。
接下来×××建立向导建议建立一个网络规则,从远程站点到内网,网络规则是路由关系。这个提示很人性化,是ISA2006比ISA2004改进的地方。见下图:
建立完网络规则后,向导又很贴心地建议咱们建立一条访问规则,容许内网和远程站点互相访问。见下图:
点击完成结束×××建立向导。见下图:
向导结束后再次提示咱们要建立一个名为Berlin的用户,并且要容许远程访问。见下图:
远程站点建立完毕后,以下图所示,咱们发如今向导的指引下,远程站点到内网的网络规则已经被建立了,并且网络关系是路由。
以下图所示,向导还帮助咱们建立了访问规则,容许远程站点和内网互相访问。
以下图所示,向导还在路由和远程访问中建立了请求式拨号,当Florence公司要访问Berlin公司时,Florence会自动拨叫Berlin的×××服务器,建立出×××隧道,供用户访问使用。
二 建立与远程站点同名的用户
最后不要忘记建立与远程站点同名的用户,若是Florence加入域,那么既能够在Florence服务器上建立这个用户,也能够在域控制器上建立这个用户。因为本例中Florence和Berlin两个ISA服务器都在工做组中,所以咱们只能在ISA服务器上建立这个远程访问用户了。以下图所示,在Florence的计算机管理工具中选择新建一个名为Berlin的用户。
用户建立完毕后不要忘记用户的远程访问权限,以下图所示,在用户属性的拨入标签中将用户的远程访问权限设为容许访问。
OK,至此咱们完成了在Florence上的设置,总结以下:
一、 将Berlin分公司的内网定义成远程站点
二、 建立远程站点和内网的网络规则
三、 建立远程站点和内网的访问规则
四、 建立与远程站点同名的用户
接下来轮到Berlin服务器了,Berlin上一样已进行了以下准备:
一、 容许内网和本地主机任意访问
二、 启用×××,容许使用PPTP和L2TP。
三、 ×××地址池的范围是192.168.200.1-192.168.200.200
一 建立远程站点
Berlin服务器上的设置基本和Florence彻底对称,首先仍然是须要建立远程站点。以下图所示,在Berlin的ISA管理器中选择“建立×××点对点链接”。
为远程站点命名为Florence。见下图:
站点间×××链接使用的协议是PPTP,Berlin选择的×××协议要和Florence彻底一致。见下图:
链接到远程站点,须要通过192.168.1.254-Florence公司的×××服务器。见下图:
Berlin拨叫Florence的×××服务器时,进行身份验证时所输入的用户名和密码要匹配Florence服务器上刚建立的用户帐号。见下图:
定义远程站点的地址范围,输入Florence公司的内网范围10.1.1.0-10.1.1.255。见下图:
接下来要建立远程站点和内网的网络规则,仍然是路由关系。见下图:
而后建立访问规则容许内网和远程站点互相访问。见下图:
点击完成结束远程站点建立。见下图:
二 建立与远程站点同名的用户
建立完远程站点后,接下来就该建立与远程站点同名的用户了,以下图所示,咱们在Berlin服务器上建立了用户Florence。注意,在本次实验中为简单起见,Florence和Berlin两个ISA服务器都没有加入域,所以用户在ISA本机建立。如在生产环境中ISA已经加入了域,通常会在域控制器上建立这个用户。
最后别忘了设定用户的远程访问权限,相信在Florence上作完一遍以后,你们在Berlin上进行操做时已是轻车熟路了。见下图:
两端的×××服务器配置完毕后,咱们接下来要在内网的客户机上进行测试了,以下图所示,咱们在Florence的Denver上pingBerlin公司的Istanbul
Denver访问Berlin内网的Istanbul不须要本身进行×××远程拨号,只要把访问请求提交给Florence就能够了。这时打开Florence的路由和远程访问,以下图所示,咱们发现Berlin这个请求式拨号的状态已经从断开变成了已链接。
此时你打开Berlin的路由和远程访问,以下图所示,咱们发现Florence这个请求式拨号的状态也从断开变成已链接了。
以下图所示,咱们发现Denver已经能够ping到Istanbul了,实验成功。有一点要注意,有时请求式拨号链接的时间会稍长一些,可能前面的一些ping包会显示Time out,这是正常现象,稍等片刻便可正常。
最后试试在Istanbul上访问Denver,以下图所示,访问成功,至此,实验顺利完成。
建立站点间的×××不是难度很大的技术问题,若是两端的×××服务器中有硬件×××,那就应该使用IPSEC。若是两端的×××都是微软的ISA或路由与远程访问,那就推荐使用PPTP或L2TP。ISA间并不是不能使用IPSEC,只是使用经验告诉我这种拓扑并不稳定,固然,ISA2006的SP1可能会解决这个问题,你们有兴趣能够测试一下。
如何建立基于L2TP的站点到站点的×××链接呢?
L2TP和PPTP相比,增长了对计算机的身份验证,从理论上分析应该比PPTP更安全一些。L2TP验证计算机身份可使用预共享密钥,也可使用证书,咱们把两种方式都尝试一下。
一 使用预共享密钥
使用预共享密钥实现L2TP的过程是是比较简单的,咱们在×××站点两端的×××服务器上配置一个相同的预共享密钥,就能够用于L2TP协议中验证计算机身份。以下图所示,咱们在Florence上定位到“虚拟专用网络”,右键点击远程站点Berlin,选择“属性”。
咱们在远程站点Berlin的属性中切换到“协议”标签,勾选使用“L2TP/IPSEC”,同时勾选使用预共享密钥,并设置预共享密钥为yejunsheng。这里的设置会致使Florence拨叫Berlin时,使用预共享密钥yejunsheng来证实本身的身份。见下图:
在“常规×××配置”中点击“选择身份验证方法”,以下图所示,勾选“容许L2TP链接自定义IPSEC策略”,并设置预共享密钥为yejunsheng。这个设置则是告诉Florence,接受×××客户端使用预共享密钥验证计算机身份。这样咱们分别设置了Florence做为×××服务器和×××客户端都使用预共享密钥验证计算机身份,至此,Florence服务器设置完毕。
接下来咱们在Berlin服务器上如法炮制,以下图所示,选择远程站点Florence的属性。
在远程站点的属性中切换到“协议”标签,以下图所示,选择使用L2TP做为×××协议,并配置预共享密钥为yejunsheng。
而后在“常规×××配置”中点击“选择身份验证方法”,以下图所示,勾选“容许L2TP链接自定义IPSEC策略”,并设置预共享密钥为yejunsheng。至此,Berlin服务器也设置完毕。
这时咱们来看看站点间×××配置的成果,以下图所示,在Florence内网的Denver上ping Berlin内网的Istanbul。第一个包没有ping通,这是由于两个ISA服务器正在建立×××隧道,接下来的包均可以顺利往返,这证实咱们的配置起做用了。
二 使用证书验证
使用证书验证比预共享密钥验证更加安全,只是实现起来要麻烦一些,咱们须要有CA的配合。在咱们的实验环境中,Denver是一个被全部的实验计算机都信任的CA,Denver的CA类型是独立根。有了CA以后,×××服务器须要向CA申请证书以证实本身的身份,因为站点间×××中每一个×××服务器既是服务器又充当客户机角色,所以每一个×××服务器都须要申请两个证书,一个是服务器证书,一个是客户机证书。
一、 在Florence上进行配置
首先咱们要先为Florence申请两个证书,一个是服务器证书,一个是客户机证书。以下图所示,在Florence上咱们在IE中输入[url]http://10.1.1.5/certsrv[/url],在CA主页中选择“申请一个证书”。
选择“提交一个高级证书申请”。见下图:
选择“建立并向此CA提交一个申请”。见下图:
以下图所示,咱们在证书申请的表单中选择申请一个客户机证书,而且把证书存储在计算机存储中。
提交证书申请后,以下图所示,咱们发现Florence申请的证书已经被CA发放了,点击安装此证书便可完成任务。
接下来如法炮制为Florence申请服务器证书,以下图所示,此次为Florence申请的是服务器证书,仍然存储在本地计算机存储中,接下来的证书发放以及安装就再也不赘述。
以下图所示,咱们能够看到Florence的计算机存储中已经有了刚申请的两个证书,
接下来在远程站点属性中取消使用预共享密钥验证身份。见下图:
而后在×××常规配置的选择身份验证方法中一样取消使用预共享密钥验证身份,至此,咱们在Florence上配置完毕。见下图:
二、 在Berlin上进行配置
在Berlin上进行配置基本和Florence是同样的,首先也是先从Denver申请证书,以下图所示,Berlin先申请的是一个客户机证书。
申请完客户机证书后,以下图所示,Berlin又申请了一个服务器证书。
接下来就是在远程站点中取消使用预共享密钥。见下图:
最后在×××常规配置的身份验证方法中取消使用预共享密钥。见下图:
OK,两个×××服务器都进行了对称配置,这下他们在进行身份验证时只能使用证书了。用客户机测试一下效果吧,以下图所示,在Berlin的Istanbul上ping Florence的Denver,结果仍是使人满意的,咱们用证书实现L2TP的身份验证得到了成功!
这时打开Florence的路由和远程访问,以下图所示,咱们发现Berlin这个请求式拨号的状态已经从断开变成了已链接。
此时你打开Berlin的路由和远程访问,以下图所示,咱们发现Florence这个请求式拨号的状态也从断开变成已链接了。这个时候说明咱们使用PPTP和L2TP这两种协议构建站点到站点的×××链接已经成功了。
用L2TP实现站点间×××并不难,尤为是预共享密钥的实现是很简单的,若是是证书验证,要注意对CA的信任,切记,只有从一个被全部机器都承认的CA申请证书才是有意义的!