ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:22.34KB ,
资源ID:10922148      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10922148.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用OpenSWAN做Linux下的IPSec VPN的详细配置指南.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用OpenSWAN做Linux下的IPSec VPN的详细配置指南.docx

1、用OpenSWAN做Linux下的IPSec VPN的详细配置指南用OpenSWAN做Linux下的IPSec VPN的详细配置指南创建时间:2006-10-25 更新时间:2006-10-26文章属性:原创文章提交:toorq(toorq_at_)用Openswan组建Linux IPSecby toorq1.概述2.安装Openswan3.认证和配置3.1 RSAsig认证方式的配置3.2 x.509证书认证的配置3.3 RoadWarrior模式的配置5.Windows客户端的配置*1.概述LInux上的VPN支持主要有三种:1)IPSec s VPN 其主要代表有 FreeS/WAN、

2、KAMEIPSec在Linux上支持主要有两个主要的分类,一为FreeS/WAN,现在已经停止开发,其分裂为两个项目,Openswan与 Strongswan。其可以用自身的IPsec内核堆栈(Kernel stack),称为KLIPS,也可以用2.6内核中的堆栈代码(下面我们称其为26sec),可以说是非常的灵活。还有就是来自BSD世界的KAME。 KAME只能用内核堆栈。IPSec差不多是最老的VPN标准了,她的依然很安全,当然是在配置好以后。言下之意,她的配置比较麻烦。本文下面将做说明。2)SSL-Based VPN 其主要代表有 OpenVPNSSL只要跑在应用层,所以理所当然的配置简

3、单,只要机子能跑TCP或UDP就行,也可以穿过大多的防火墙。3)PPTP-Based VPN 有(PoPTop)PoPTop可以说是PPTP在Linux下的实现。不过,IPSec上跑L2TP更安全。2.安装Openswan因为FreeS/WAN已经在2004年三月停止开发,所以我们使用她的后继项目Openswan来做我们的IPSec实验。其相比FreeS/WAN有个好处,如果使用 26sec 的时候,Openswan不用打补丁,就可以用nat。因为IPSec工作在网络层,所以需要系统内核态的支持,上面说过,有两个选择,用自带(26sec)的或用Openswan(KLIPS)的,为了方便(如何打

4、补丁和编译内核不是本文讨论的重点),本文使用2.6自带的实现代码。同时本文使用Debian Sarge作为实验系统,在Debian上安装。#apt-get install openswan如果你想从源码安装,到http:/www.openswan.org/code下载软件包,然后按照包中的说明安装。由于我们使用26sec,所以只要make programs;make install就可以搞定。值得注意的是,现在的Openswan已经内建些个好用的补丁,比如x.509和NAT Traversal的支持,使用起来非常的方便。你也可以用#ipsec verify来检验你的安装3.认证和配置3.1 R

5、SA Signature(RSA数字签名)认证的配制Openswan支持许多不同的认证方式,包括RSA keys、pre-shared keys或x.509证书方式。RSA Signature比较简单,我先介绍下所要使用的命令生成一个新的RSA密钥对#ipsec newhostkey -output /etc/ipsec.secert按left或right格式生成RSA Sig#ipsec showhostkey -left(或-right)知道了上面的命令,我们就可以配置一个net-to-net,就是网关对网关的通讯。所在的Linux主机为通讯的网关,作为其子网的出口,对于子网的用户来所是透

6、明的,远程的子网在通讯后可以像自己的局域网一样的访问。本文使用VMWare架设起一个四台虚拟Linux主机来进行试验。因为要在不同的机子上进行配置,所以请读者认清主机名。192.168.183.44(子网客户机,计算机名RA)192.168.49.2(Left网关主机,计算机名melin,同时eth1配置为192.168.183.1)192.168.49.3(Right网关主机,计算机名right,同时eth1配置为192.168.233.1)192.168.233.44(子网客户机,计算机名RB)两个网关主机当然要安装好Openswan。同时用iptabels配置好NAT伪装。然后我们运行下

7、面的命令/melin#ipsec newhostkey -output /etc/ipsec.secert#ipsec showhostkey -right /etc/ipsec.conf#vi /etc/ipsec.conf /编辑ipsec.conf配置文件#scp /etc/ipsec.conf rootright_GW_ipaddress:/etc/ipsec.conf /把ipsec.conf拷贝到right网关,目的是为了让right的到left的rsasig。/right#ipsec newhostkey -output /etc/ipsec.secert#ipsec showh

8、ostkey -right /etc/ipsec.conf#vi /etc/ipsec.conf#scp /etc/ipsec.conf rootleft_GW_ipadress:/etc/ipsec.conf然后分别从前启动ipsec服务#ipsec setup restart /这个因为你的系统不同点不同这里的编辑ipsec.conf应该为(配置文件中的#为注释,和shell中不同)version 2.0config setupinterfaces=%defaultroutenat_traversal=yesconn %defaultauthby=rsasigcompress=yes#关掉

9、 Opportunistic Encryptioninclude /etc/ipsec.d/examples/no_oe.confconn net-to-netleft=192.168.49.2leftsubnet=192.168.183.0/24leftid=melinleftnexthop=%defaultrouteright=192.168.49.3rightsubnet=192.168.233.0/24rightid=rightrightnexthop=%defaultroute# RSA 2192 bits melin Mon May 29 03:42:49 2006leftrsas

10、igkey=0sAQ.(leftrsasigkey值,省略)# RSA 2192 bits right Wed May 31 22:11:59 2006rightrsasigkey=0sAQ.auto=add然后在任意一方网关主机运行ipsec auto -up net-to-net,这个时候,两个客户机之间应该可以互相ping的通,就像在一个内网一样。比如在RA上可以$ping 192.168.233.44在ping的过程中,在任意一个网关上用tcpdump嗅探#tcpdump -i eth0可以看到这样的包IP 192.168.233.44 192.168.183.44:icmp 64:e

11、cho request seq 10IP 192.168.49.2 192.168.49.3: ESP(spi=0xeb73b78b,sed=0xa)IP 192.168.49.3 192.168.49.2: ESP(spi=0x1601e0bd,sed=0xb)可以看到两个网关已经用ESP在通讯,说明成功。值得注意的是,如果网关主机开了iptables来做IP伪装(MASQUERADE)或NAT,需要竞争两个子网地址的转发,比如在我们例子中的Left主机上原来有#echo 1 /proc/sys/net/ipv4/ip_forward#iptables -t nat -A POSTROUTI

12、NG -o eth0 -s 192.168.183.0/24 -j MASQERADE把改为#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.183.0/24 -d ! 192.168.233.0/24 -j MASQERADE即不转发目标地址为Right主机下的子网。另外,这一行include /etc/ipsec.d/examples/no_oe.conf意为关闭Opportunistic Encryption在你不知道她到底做了什么之前,还是关掉她为好,打开no_oe.conf文件,发现其内容如下,我们将在本文的第五部分讨论这个话题。c

13、onn blockauto=ignoreconn privateauto=ignoreconn private-or-clearauto=ignoreconn clear-or-privateauto=ignoreconn clearauto=ignoreconn packetdefaultauto=ignore3.2 x.509证书认证的配置x.509证书方式当然更灵活,要是VPN的客户比较多,总不能,每个都记住长长的rsasig吧。使用x.509证书认证,我们首先需要装上openssl(现在的Linux基本自带,没有的www.openssl.org下一个装上)。1)然后,找到f文件,这个文

14、件保存着对openssl证书生成的默认值,她的位置一般为:Debian: /etc/ssl/fRedHat 7.x+: /usr/share/ssl/f用编辑器打开,变量名目繁多,比较有用的有default_days,证书失效的天数,默认一般为365天,改为3650,这样十年才过期:)。default_bits,密钥长度,默认为1024,你可以改为2048,更安全,当然速度也更慢req_distinguished_name,默认的信息设置,如果你和我一样闲每次去生成密钥的时候去填的麻烦,就改之。2)建一个目录来放你的CA,我们这里用/root/ca,记的把他的权限设置为700,你不希望其他用户

15、可以看到你的私钥吧。3)找到CA.sh脚本的位置,在不同系统上稍有不同Debian: /usr/lib/ssl/misc/CA.shRedHat 7.x+: /usr/share/ssl/misc/CA编辑她,把DAYS=-days 365的365改成你希望的数值,注意要比f中的default_days要大,当时也不要太大,一般为15年到20年就好了。4)生成证书/ca$/usr/lib/ssl/misc/CA.sh -newca ;生成一个待签名的根证书,用她来给其他证书进行签名认证。默认生成在demoCA目录下的cacert.pem文件(在f中的 CA_default子段设置)下。输入的密

16、码为用来生成其他证书的密码。-sign的时候用。/ca$openssl ca -gencrl -out crl.pem 生成一个与根证书相对应的crl文件然后开始生成给主机用的证书/ca$/usr/lib/ssl/misc/CA.sh -newreq 生成待签名认证的证书,默认名字为newreq.pem,输入的密码用在填些/etc/ipsec.secrets中。/ca$/usr/lib/ssl/misc/CA.sh -sign 对证书进行签名认证,默认名字为newcert.pem/ca$/usr/lib/ssl/misc/CA.sh -verify 认证一下然后重命名文件ca$mv newce

17、rt.pem melin.pemca$mv newreq.pem melin.key /别搞反了,小的那个文件是key:),另外如果要生成的主机证书,填入的信息相同可能出错用同样的方法生成right.pem和right.key文件。这样我们就有了同样的根证书生成的两个证书文件。把文件拷贝到相应的位置:在Left主机主机上melin:/ca#cp melin.key /etc/ipsec.d/privatemelin:/ca#cp melin.pem /etc/ipsec.d/certsmelin:/ca#cp demoCA/cacert.pem /etc/ipsec.d/cacertsmeli

18、n:/ca#cp crl.pem /etc/ipsec.d/crls/crl.pem用安全的渠道(scp或软盘,别用ftp)把一下文件拷贝到right上melin.pemright.keyright.pemdemoCA/cacert.pemcrl.pem也拷贝到正确的地方melin#cp right.key /etc/ipsec.d/privatemelin#cp right.pem /etc/ipsec.d/certsmelin#cp melin.pem /etc/ipsec.d/certsmelin#cp crl.pem /etc/ipsec.d/crlsmelin#cp cacert.p

19、em /etc/ipsec.d/cacerts/cacert.pem5) 配置ipsec首先是/etc/ipsec.secrets加上: RSA /etc/ipsec.d/private/right.key passwordpassword就是生成主机密钥的时候输入的密码这里有几个密码要搞清楚,在生成根证书的时候输入密码是用来生成其他证书的,CA.sh -sign的时候要填入,ipsec.secrets填入的密码是CA.sh -newreq时候输入的密码。然后当然就是/etc/ipsec.conf在本例子中的ipsec.conf分别为#Left(melin)version 2.0config

20、setupinterfaces=%defaultroutenat_traversal=yesconn %defaultauthby=rsasigcompress=yesleftrsasigkey=%certrightrsasigkey=%certkeyingtries=1disablearrivalcheck=noinclude /etc/ipsec.d/examples/no_oe.confconn net-to-netleft=%defaultrouteleftsubnet=192.168.183.0/24leftcert=melin.pemright=%anyrightsubnet=19

21、2.168.233.0/24pfs=yesauto=add#Right(right)version 2.0config setupinterfaces=%defaultroutenat_traversal=yesconn %defaultauthby=rsasigcompress=yesleftrsasigkey=%certrightrsasigkey=%certkeyingtries=1disablearrivalcheck=noinclude /etc/ipsec.d/examples/no_oe.confconn net-to-netleft=192.168.49.2leftsubnet

22、=192.168.183.0/24leftcert=melin.pemright=%defaultrouterightsubnet=192.168.233.0/24rightcert=right.pempfs=yesauto=add然后分别重新启动IPSec服务#ipsec setup restart在right上启动连接#ipsec auto -up net-to-net如果一切正确,两个子网之间就可以互相通讯了。3)RoadWarrior模式的配置上面我们做的是网关对网关的配置,我们在应用中还有一种情况,员工带着比较本出差或在家,需要用IPSec连接到公司的网络。这个就是RoadWarri

23、or模式。我们回到1)中RSA Keys配置的例子,在两台主机上添加这样的配置字段#RoadWarrior,Road的机子,比如到处带着跑的笔记本,我们这里用rightconn roadleft=192.168.49.3 #如果是动态ip地址,可以填上%defaultrouteleftnexthop=%defaultrouteleftid=melinleftrsasigkey=0sAQ. #本机的RSA Keyright=192.168.49.2rightsubnet=192.168.183.0/24rightid=rightrightrsasigkey=0sAQO. #远程机子的RSA Ke

24、yauto=add#Host 主机,我们这里用melinconn roadleft=192.168.49.2leftid=melinleftsubnet=192.168.183.0/24leftrsasigkey=0sAQ.rightnexthop=%defaultrouteright=%any #不知道要传入的连接,所以用%anyrightid=rightrightrsasigkey=0sAQ.auto=add可以看出,RoadWarrior模式和Net-to-Net模式配置的区别,关键就是在于net-to-net模式Left和Right是相同的,通讯的主机处于固定的位置上,而RoadWar

25、rior配置,Left就是自己(Local),Right就是远程主机(Remote)。所以看上去,两个的 Left和Right值是相反的。这个是配置的关键。然后在RoadWarrior的主机上运行ipsec auto -up road更改配置文件后记的要#ipsec setup restart重启Openswan Pluto。接着就可以在right主机上ping到melin下的内网了right$ping 192.168.183.44同样的可以在melin上melin#tcpdump -i eth0看到ESP包的交换下面我们回到使用证书的net-to-net例子细心的读者可以发现,在证书的例子配

26、置中,melin主机的right字段是用的是%any,整个配置类似于RoadWarrior的配置,可是又不同,实际上,这个仍然是net-to-net的配置。也可以把配置写成这样。#Left(melin)conn net-to-netleft=192.168.49.2leftsubnet=192.168.183.0/24leftcert=melin.pemright=192.168.49.3rightsubnet=192.168.233.0/24pfs=yesauto=add#Right(right)conn net-to-netleft=192.168.49.2leftsubnet=192.1

27、68.183.0/24letcert=melin.pemright=192.168.49.3rightcert=right.pempfs=yesauto=add不过,如果是这样的net-to-net的配置,就需要把right.pem也拷贝到melin主机的/etc/ipsec.d/certs目录下。可以看出来,ipsec.conf的配置是非常灵活的。下面我们给出使用RoadWarrior和使用证书的配置#RoadWarrior(right)conn roadleft=192.168.49.3(如果为动态ip,用%defaultroute)leftcert=right.pemright=192.

28、168.49.2rightsubnet=192.168.183.0/24rightcert=melin.pempfs=yesauto=add#Host(melin)conn roadleft=192.168.49.2leftsubnet=192.168.183.0/24leftcert=melin.pemright=%anypfs=yesauto=add使用上面的配制后会发现一个问题,在right主机上right#ping 192.168.183.44right#ping 192.168.183.1是加密通讯可是right#ping 192.168.49.2(如果是在Internet,这个为主

29、机在Internet上的ip)却是明文通讯,实际上,我们上面的RoadWarrior配置是让RoadWarrior主机和网关做在的局外通讯,如果要加密和网关的通讯,可以这么写#RoadWarrior(right)conn road-netrightsubnet=192.168.183.0/24also=roadconn roadleft=192.168.49.3(如果为动态ip,用%defaultroute)leftcert=right.pemright=192.168.49.2rightcert=melin.pempfs=yesauto=add#Host(melin)conn road-ne

30、tleftsubnet=192.168.183.0/24also=roadconn roadleft=192.168.49.2leftcert=melin.pemright=%anypfs=yesauto=add在right上分别启动right#ipsec auto -up roadright#ipsec auto -up road-net另外可以用ipsec auto status查看连接的状态。如果想让连接在开机就启动,可以把auto字段改为start。5.Windows客户端的配置让windows客户端可以连接上Linux的IPSec网关是很有用的,毕竟桌面还是Windows比较的多。1)当然是让Openswan的主机运行正常运行起来,我们这里使用,上文最接近的那个road和road-net配置。同时要注意Windows的IPSec服务已经运行。2)生成证书生成新的主机密钥对win.pem和win.key,然后,我们需要把她转化成Windows可以识别的p12格式:/ca$ openssl pkcs12 -export -in w

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1