windows-server-2008-r2 – Windows 2008 R2隧道模式下的IPsec加
在
Windows中,似乎有两种设置IPsec的方法:
> IP安全策略管理MMC管理单元(在Windows 2000中引入的secpol.msc的一部分). 我的问题关注#2 – 我已经知道了我需要知道的#1. (但我想使用’new’管理单元来改进其加密功能.) 我在同一个域(域成员)中有两台Windows Server 2008 R2计算机,位于同一子网上: server2 172.16.11.20 server3 172.16.11.30 我的目标是在隧道模式下使用IPsec加密这两台机器之间的所有通信,以便协议栈是: > IP 首先,在每台计算机上,我创建了一个连接安全规则: >端点1 :(本地IP地址),例如服务器2的172.16.11.20 >免除受IPsec保护的连接 此时,我可以ping每台机器,Wireshark向我展示协议栈;然而,没有任何加密(这是预期的).我知道它是未加密的,因为Wireshark可以解码它(使用设置Attempt来检测/解码NULL加密的ESP有效载荷)和Monitor>安全协会>快速模式显示屏显示ESP加密:无. 然后在每台服务器上,我创建了入站和出站规则: >协议:任何 >要求加密连接 问题:虽然我在每台服务器上创建入站和出站规则以启用加密,但数据仍然通过线路(包裹在ESP中)进行NULL加密. (你可以在Wireshark中看到这个.) 当到达接收端时,它被拒绝(可能是因为它未加密). [并且,在接收端禁用入站规则会导致它锁定和/或蓝屏 – 很有趣!] Windows防火墙日志说,例如: 2014-05-30 22:26:28 DROP ICMP 172.16.11.20 172.16.11.30 - - 60 - - - - 8 0 - RECEIVE 我试过改变一些事情: >在规则中,将本地IP地址设置为Any 但实际上,没有那么多旋钮可以转动. 有没有人有任何想法?有没有人尝试使用Windows防火墙在两台主机之间设置隧道模式? 我已经使用完全相同的规则成功地将它设置为传输模式(即没有隧道),所以我有点惊讶它没有添加隧道的Just Work?.
经过大量的调查,以及与微软的支持案例,我找到了答案.
诀窍是:不要为加密创建任何入站或出站规则.仅创建连接安全规则(用于隧道).然后,设置防火墙的IPsec默认值以加密每个启用IPsec的连接. 在隧道的每一端执行以下操作: >创建连接安全规则: >端点1 :(本地IP地址),例如172.16.11.20 >强制所有IPsec连接加密: >打开主防火墙属性(右键单击具有高级安全性的Windows防火墙>属性…) 如果您之前已创建任何加密的入站/出站规则,请禁用或删除它们. 这很好用.它唯一的缺点是它强制加密每个IPsec连接;您不能再使用加密和仅受完整性保护的连接. 你怎么知道流量真的是隧道(即ESP正在携带IP有效载荷而不是TCP)?您可以使用旧的IPsec MMC(IP安全策略管理或secpol.msc)对此进行验证. >在一台服务器上,使用上述WFAS说明创建隧道.>在另一台服务器上,使用“旧”IPsec MMC创建隧道.>这两个人应该毫无困难地沟通.>如果将“旧”IPsec策略切换到传输模式(即删除隧道),则连接将中断.这就是你如何告诉WFAS连接是真的隧道. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |