使用Linux L2TP/IPsec VPN 服务器10、配置Openswan 当你有了支持IPsec的内核,你就需要配置一条或多条IPsec连接。 Openswan文档中的示例假设Road Warrior客户想做“主机到网络”的IPsec连接。这里也这样假设,另一方面你想访问被Openswan网关保护的内网。在“普通”的IPsec(也就是无L2TP)下,你使用left/rightsubnet关键字。 Openswan文档不包括L2TP/IPsec连接。在L2TP/IPSec下用户同样想访问内网,但是完成这样的机制不同。首先,你声明一个 Windows/Macintosh客户与Openswan服务器之间的“主机到主机”IPsec隧道。当这个IPsec连接启动,客户连接到在 Openswan服务器上的L2TP服务。L2TP服务这时将数据包发往内网。在“普通”IPsec下,Openswan不会把它自身向前转发。 10.1 预共享密钥(PSK:Preshared Keys)概述 大多数L2TP/IPsec客户支持两种认证方法:X.509证书和预共享密钥。我假你首先尝试预共享密钥方式,当理解IPsec和L2TP/IPsec客户之怎么样工作时然后再根据你的需要切换到证书方式。 10.1.1 预共享密钥(PSK:Preshared Keys):配置一条IPsec连接 下边是一个Openswan配置文件的示例。它为一个用户定义了一条IPsec连接。 注:如果你想使用这个配置,你需要修改你的ipsec.conf文件(或在你的ipsec.conf文件增加下边这句:include L2TP*.conf)。 conn L2TP-PSK-orgWIN2KXP # # Use a Preshared Key. Disable Perfect Forward Secrecy. # authby=secret pfs=no # left=123.123.123.123 # # Required for original (non-updated) Windows 2000/XP clients. leftprotoport=17/0 # # The remote user. # right=234.234.234.234 rightprotoport=17/1701 # # Authorize this connection, and wait for connection from user. # auto=ignore keyingtries=3 你可以看到,配置比较简单,记住,上边的说明没有leftsubnet和rightsubnet。下边根据多数人的习惯,使用“left”表示服务器(“local”),使用“right”表示Road Warriors。最新的FreeS/WAN、Openswan和Strongwan支持预共享密钥和证书方式使用“right=%any”。 注:默认情况下,配置文件不是有效的(为了安全)。如果你想启用它们,需要把auto=ignore改为auto=add。 10.1.2 指定预共享密钥 将把预共享密钥输入到/etc/ipsec.secrets。 # # Sample /etc/ipsec.secrets file for server at 123.123.123.123 # 123.123.123.123 234.234.234.234: PSK "thisismytopsecretkey" 123.123.123.123 111.222.111.222: PSK "keyforanotherclient" # Line below only works on recent versions: # 123.123.123.123 %any: "keysharedbyallusers" 格式解释: #源IP指服务器,目标IP指客户。当目标IP地址为0.0.0.0时表示接受任何IP地址。 #新版的软件支持目标为%any。这两种情况适用于Road Warrior 源IP 目标IP :PSK "口令" 10.2 完美安全传送(PFS:Perfect Forward Secrecy) “完美安全传送”提供特佳的安全。当你启用了PFS,你的敌人(黑客、竞争者等)就不能破解通过IPsec连接传送的数据包,就是他们可以监听加密后的连接并且他们拥有你的密钥(通过黑客、法院指令、第三者等)也不可以。PFS的这个属性就是著名的“阻止第三者”(escrow- foilage)。 上边的示例中有这样一行: pfs=no 因为苹果和微软的L2TP/IPsec客户没有启用PFS,所以这一行是必需的。另一方面,Openswan默认是启用PFS的。(有人可能思考,为什么苹果和微软默认情况下没有使用PFS?这是因为<插入你中意的3个字母的政府部门>;?) 解决这个互通性的问题非常简单,在FreeS/WAN明确地禁用它。但是这里有FreeS/WAN小组关于它的说明。 FreeS/WAN默认是[pfs=yes]。我们认为没有不的理由;这是更为安全而且成本很小。两个终端的PFS设置必须相同。如果你在 FreeS/WAN的配置文件中ipsec.conf中用pfs=no关闭PFS,但是我们假设有可能你在另一端启用了PFS。这更加安全。 他们大概是对的,因为在这种情况它工作更好。“另一端”指微软客户端或Mac OS X v10.3+。编辑Windows注册表可以启用 MSL2TP客户的PFS。这可能有一点危险,如果要求你的用户来做可能有点难度,因此我们只有每台客户上启用PFS或者在服务器上加一句来关闭PFS。不幸的是我不知道怎么样在Windows 2000/XP或Mac OS X10.3+的图形界面下打开PFS。 注:当客户端请求时Openswan将使用PFS,甚至在Openswan配置文件中指定pfs=no时也会启用。 11 配置L2TP/IPsec客户端 假设现在你已经配置好了Openswan,那么,现在就开始安装并配置L2TP/IPsec客户。这根据你的客户类型(Windows 2000/XP、SoftRemote、Panther、Pocket PC等)不同而不同。 上一篇:让Linux NAT服务器支持UPnP 下一篇:利用IP 别名托管多个SSL 站点 更多相关文章
|
推荐文章
精彩文章
|