OpenSwan安装配置和VPN规则的生成.docx

上传人:b****8 文档编号:9849945 上传时间:2023-05-21 格式:DOCX 页数:21 大小:30.57KB
下载 相关 举报
OpenSwan安装配置和VPN规则的生成.docx_第1页
第1页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第2页
第2页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第3页
第3页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第4页
第4页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第5页
第5页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第6页
第6页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第7页
第7页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第8页
第8页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第9页
第9页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第10页
第10页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第11页
第11页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第12页
第12页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第13页
第13页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第14页
第14页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第15页
第15页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第16页
第16页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第17页
第17页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第18页
第18页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第19页
第19页 / 共21页
OpenSwan安装配置和VPN规则的生成.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

OpenSwan安装配置和VPN规则的生成.docx

《OpenSwan安装配置和VPN规则的生成.docx》由会员分享,可在线阅读,更多相关《OpenSwan安装配置和VPN规则的生成.docx(21页珍藏版)》请在冰点文库上搜索。

OpenSwan安装配置和VPN规则的生成.docx

OpenSwan安装配置和VPN规则的生成

Symbian、Android、iPhone和WindowsMobile所支持的VPN协议 »

在诺基亚S60手机上使用VPN之二:

OpenSwan安装配置和VPN规则的生成

这一部分的读者对象是喜欢自己折腾而对VPS和VPN有一定配置经验的用户。

只是想知道如何在诺基亚SymbianS60手机上使用VPN的读者请参看第一部分。

对于塞班手机上的VPN还有一个常见的说法是服务器端需要安装Cisco等昂贵的专用网络设备,而且配置复杂。

根据诺基亚mVPN客户端的官方文档,所支持的IPSecVPN网关列表中确实都是一些网络设备制造商的专用产品。

但自己搭建过L2TPVPN的网友应该知道Linux上有OpenSwan、FreeS/Wan和strongSwan(它们实际是同一个项目的不同分支)等免费的开源IPSec软件包,而IPSec正是塞班mVPN所支持的协议。

至于说配置复杂,我看到过诺基亚论坛上有国外网友说:

“诺基亚对mVPN客户端配置问题的官方回复是——请向你的系统管理员查询,可我自己就是系统管理员,我该去问谁呢。

”如果从阅读相关文档以弄懂每一个参数该如何设置开始,S60手机+OpenSwan的VPN方案配置起来确实比较复杂,但如果找到一个可以工作的模板,很可能只要简单的修改一下服务器地址、验证密钥这些因人而异的参数,拷贝到自己的机器上就能用了。

本教程就是试图提供这样一个模板的尝试。

但在实际使用中,由于mVPN客户端的V3.1和V4的差异,网络运营商的不同,所用VPS的区别,可能需要更多的调整。

这些细节大部分会放在专门讨论各种高级设置的第三部分介绍。

首先你需要一台服务器来安装OpenSwan(好像选择另外两个分支的人现在很少),我用的是PhotonVPS的Xen虚拟服务器(可用的CPU有16核,UnixBench的分数随便就能到450,对于我这种对性能有偏执的用户来说足以让人忽略他们其它方面的缺点了)。

我试过在启用了TUN/TAP设备并成功安装了OpenVPN的OpenVZVPS上运行OpenSwan,但会提示缺少某个内核模块,似乎是内核没有包含IPSec支持的原因。

所以目前假定所用VPS必须是基于Xen,至于是否还有其它的配置要求,我就不确定了。

使用CentOS的用户可以用:

sudoyuminstallopenswan

命令来安装IPSecVPN网关,发行版中的源是U2.6.21。

这个版本可以工作,但下一部分要讨论的高级设置可能需要包含了某些Bugfix的最新版本(但像一些例子中提到过的“authby=secret|rsasig”这种参数设置在我用过的版本中都无效,所以不能确定版本越新越好)。

最新的rpm包可以用

sudowgethttp:

//www.openswan.org/download/binaries/centos/5/without-nss/openswan-2.6.24rc5-1.x86_64.rpm

命令下载(32位OS用户请自行下载适用版本),用

sudorpm-iopenswan-2.6.24rc5-1.x86_64.rpm

命令安装。

Debian用户用

sudoapt-getinstallopenswan

命令安装的是U2.4.12版,我没有测试过这个版本,因为在Debian下都是下载源码编译的,具体细节将在下一部分讲修改源码的时候介绍。

在Google中搜索“OpenSwan安装”可以找到不少资料,虽然不完全对得上(不同Linux发行版以及从二进制包安装或从源码编译会有所不同),但可以作为参考而不需我在这个问题上深入下去了。

关键的几个配置文件为全局配置“/etc/ipsec.conf”,内容如下(并不是说里面的参数必须如此设定,而是提供一个我自己确认能用的配置):

#/etc/ipsec.conf–OpenswanIPsecconfigurationfile

#

#Manual:

ipsec.conf.5

#

#Pleaseplaceyourownconfigfilesin/etc/ipsec.d/endingin.conf

version2.0

 #conformstosecondversionofipsec.confspecification

#basicconfiguration

configsetup

#Debug-loggingcontrols:

“none”for(almost)none,“all”forlots.

#klipsdebug=none

#plutodebug=”controlparsing”

#ForRedHatEnterpriseLinuxandFedora,leaveprotostack=netkey

protostack=netkey

nat_traversal=yes

interfaces=%defaultroutevirtual_private=%v4:

192.168.0.0/16,%v4:

10.0.0.0/8,%v4:

172.16.0.0/12,%v4:

!

192.168.0.0/24

 oe=off

#Enablethisifyousee“failedtofindanyavailableworker”

nhelpers=0

#Youmayputyourconfiguration(.conf)fileinthe“/etc/ipsec.d/”anduncommentthis.

include/etc/ipsec.d/*.conf

全局验证密钥“/etc/ipsec.secrets”,内容如下:

include/etc/ipsec.d/*.secrets

连接配置“/etc/ipsec.d/e63.conf”(可以有多个,名字不限,但这牵涉到高级设置中的问题了,本部分只以单一连接为例),内容如下:

conne63

#Keyexchange

ike=aes256-sha1-modp1536

#Dataexchange

esp=aes256-sha1

#AuthenticationmethodPSK

authby=secret

auto=add

keyingtries=3

#Modeconfigsetting

modecfgpull=yes

pfs=no

rekey=no

type=tunnel

compress=yes

#localendpoint

left=%defaultroute

leftsourceip=192.168.6.1

leftsubnet=0.0.0.0/0

leftrsasigkey=none

leftmodecfgserver=yes

leftxauthserver=yes

#remoteendpoint

rightrsasigkey=none

right=%any

rightxauthclient=yes

rightmodecfgclient=yes

rightsourceip=192.168.6.252

rightsubnet=192.168.6.252/32

连接验证密钥“/etc/ipsec.d/e63.secrets”,引号中为作为验证密钥的字符串:

:

PSK“StringUsedAsPreSharedKey”

本文给出了范例中除了使用PSK验证方式外,还是用了Xauth验证,也就是说连上IPSecVPN服务器后,还需要输入预先设置的用户名和密码,对应的服务器设置为“leftxauthserver/rightxauthclient=yes”。

觉得没必要的读者可以把“yes”改成“no”并修改手机端VPN规则中的相应部分“USE_XAUTH:

TRUE”为“FALSE”即可跳过Xauth验证。

但部分参考文献中提到Xauth在某些条件下是必须的。

Xauth验证的用户名和密码放在“/etc/ipsec.d/passwd”中,生成该文件需要apache-utils软件包中的htpasswd命令:

sudoumask0027

sudohtpasswd-c-bpasswdusername1password1

添加用户的命令为:

sudohtpasswd-bpasswdusername2password2

然后用编辑“/etc/ipsec.d/passwd”,内容为:

username:

.z2I2VoRCNOZI

冒号前是用户名,冒号后是加密后的密码,读者需要自己在最后加上连接名称:

username:

.z2I2VoRCNOZI:

e63

我自己在“/etc/rc.local”中添加了如下NAT和转发设置(我对这部分比前面的内容更没有把握,请有经验的读者自行修正):

echo0>/proc/sys/net/ipv4/conf/all/send_redirects

echo0>/proc/sys/net/ipv4/conf/default/send_redirects

echo0>/proc/sys/net/ipv4/conf/eth0/send_redirects

echo0>/proc/sys/net/ipv4/conf/lo/send_redirects

echo0>/proc/sys/net/ipv4/conf/all/accept_redirects

echo0>/proc/sys/net/ipv4/conf/default/accept_redirects

echo0>/proc/sys/net/ipv4/conf/eth0/accept_redirects

echo0>/proc/sys/net/ipv4/conf/lo/accept_redirects

echo1>/proc/sys/net/ipv4/ip_forward

/sbin/iptables-tnat-APOSTROUTING-s192.168.6.0/24-oeth0-jSNAT–to47.117.26.212<-你自己的外网IP

重启VPS让所有的改动生效(或者运行“sudo/etc/init.d/ipsecrestart”及其它命令)。

然后用

sudo/usr/sbin/ipsecverify

命令检查IPSec服务的状态是否正常,应返回如下信息:

CheckingyoursystemtoseeifIPsecgotinstalledandstartedcorrectly:

Versioncheckandipsecon-path[OK]

LinuxOpenswanU2.6.24rc5/K2.6.18-164.10.1.el5xen(netkey)

CheckingforIPsecsupportinkernel[OK]

TestingagainstenforcedSElinuxmode[OK]

NETKEYdetected,testingfordisabledICMPsend_redirects[OK]

NETKEYdetected,testingfordisabledICMPaccept_redirects[OK]

CheckingforRSAprivatekey(/etc/ipsec.secrets)[OK]

Checkingthatplutoisrunning[OK]

PlutolisteningforIKEonudp500[OK]

PlutolisteningforNAT-Tonudp4500[OK]

Twoormoreinterfacesfound,checkingIPforwarding[OK]

CheckingNATandMASQUERADEing

Checkingfor‘ip’command[OK]

Checkingfor‘iptables’command[OK]

OpportunisticEncryptionSupport[DISABLED]

以上为OpenSwan的安装设置部分,下面该讲手机端的VPN规则生成了。

我最初参考了英文文献一、文献二和文献三(对这篇文章的内容有疑问的读者可自行查询这些文献),在前两篇参考资料中,提到的VPN规则的生成方式还是用makesis生成sis/sisx安装文件的复杂过程。

幸好新的mVPNV3.1和V4都支持第三篇文献中简单的多的.vpn文件导入了。

VPN规则实际由两个文件组成,一个是VPN.pin,内容为:

[POLICYNAME]

VPNBeta

[POLICYDESCRIPTION]

VPNBeta

[POLICYVERSION]

1.1

[ISSUERNAME]

Donotedit

[CONTACTINFO]

Donotedit

实际上只是一个简单的规则标识,并不牵涉实际的配置问题。

而真正的设置是存在VPN.pol文件中,其内容如下:

SECURITY_FILE_VERSION:

3

[INFO]

VPN

[POLICY]

saipsec_1={

esp

encrypt_alg12

max_encrypt_bits256

auth_alg3

identity_remote0.0.0.0/0

src_specific

hard_lifetime_bytes0

hard_lifetime_addtime3600

hard_lifetime_usetime3600

soft_lifetime_bytes0

soft_lifetime_addtime3600

soft_lifetime_usetime3600

}

remote0.0.0.00.0.0.0={ipsec_1(IPSecVPN服务器地址)}

inbound={}

outbound={}

[IKE]

ADDR:

IPSecVPN服务器地址255.255.255.255

MODE:

Main

SEND_NOTIFICATION:

TRUE

ID_TYPE:

11

FQDN:

MobileGroup

GROUP_DESCRIPTION_II:

MODP_1536

USE_COMMIT:

FALSE

IPSEC_EXPIRE:

FALSE

SEND_CERT:

FALSE

INITIAL_CONTACT:

FALSE

RESPONDER_LIFETIME:

TRUE

REPLAY_STATUS:

TRUE

USE_INTERNAL_ADDR:

FALSE

USE_NAT_PROBE:

FALSE

DNS_SERVER:

8.8.8.8<-DNS服务器的IP地址

ESP_UDP_PORT:

0

NAT_KEEPALIVE:

60

USE_XAUTH:

TRUE

USE_MODE_CFG:

TRUE

REKEYING_THRESHOLD:

90

PROPOSALS:

1

ENC_ALG:

AES256-CBC

AUTH_METHOD:

PRE-SHARED

HASH_ALG:

SHA1

GROUP_DESCRIPTION:

MODP_1536

GROUP_TYPE:

DEFAULT

LIFETIME_KBYTES:

0

LIFETIME_SECONDS:

28800

PRF:

NONE

PRESHARED_KEYS:

FORMAT:

STRING_FORMAT

KEY:

24StringUsedAsPreSharedKey<-前面是密钥的长度,后面是作为密钥的字符串本身

里面的参数绝大部分和OpenSwan的设置是对应的,也就是说修改里面的某个参数一般意味着服务器端的修改。

在前面提到的三篇英文参考文献中,都提到了需要给OpenSwan打补丁才能解决DNS推送的问题,不知道是OpenSwan还是mVPN客户端版本的问题,因为实际上VPN规则中可以用“DNS_SERVER”这个参数(从另一篇参考文献中找到的)指定DNS服务器。

编辑好这两个文件后,压缩成一个zip文件,然后把后缀名从.zip改为.vpn,然后传到手机上就可以直接导入了——简单吧 

然后按我写的前一篇文章中的步骤就可以在诺基亚塞班S60手机上使用该VPN了。

连接成功后,VPN日志中会出现以下内容(日志中出现其它错误信息需要自己分析了):

1:

authenticatedtovpngatewayIPSecVPN服务器地址,vpnaccesspointVPN规则标识

2:

infomation:

addressinfoforvpnaccesspointVPN规则标识,virtualip192.168.6.252,localip运营商分配给手机的ip,natstatuscode0

3:

infomation:

activatedvpnaccesspointVPN规则标识,ipaddress192.168.6.252

如果一切顺利,你就可以用该VPN访问任何网站了。

万一有网关无响应之类的问题,比如运营商分配给手机的ip是192.168或10.0之类的内网IP,而natstatuscode为0(应该是1),恭喜——你需要和我进入下一部分折腾了……

总结:

诺基亚SymbianS60上的mVPN客户端可以支持用OpenSwan搭建的IPSecVPN,但过程还是有些麻烦的。

除非你本身需要VPS做其它用途,或者干脆就喜欢折腾(本人二者兼是:

D),单单需要使用VPN还是购买12vpn之类现成的服务合适:

一个XenVPS一般不低于6美元一个月,而12vpn的Lite账号平均一个月大概2美元,并且除非是用有>100M专线的独立服务器,否则自建VPN的速度是很难和专门的VPN服务商相比的。

这也是我虽然可以用自建的VPN但还是买了12vpn账号的原因。

本文来自:

Relatedposts:

1.WordPress模板中显示作者相关函数

2.BuyVMOpenVZVPSDebian安装PPTPVPN

3.在诺基亚S60手机上使用VPN之一:

原生客户端说明及12vpn评测

4.Debian/Ubuntu快速搭建PPTPVPN

5.Ubuntu系统下QQ农场等Flash程序中文无法显示的解决方法

Nokia, Symbian, VPN, 手机, 诺基亚

这是一篇早就打算要写的文章,但因为有一些技术细节始终没有解决好,所以一直迟迟没有动笔。

最后我意识到这样下去,这篇文章不知道要到猴年马月才能写出来,而且12vpn推出了对诺基亚S60手机原生VPN客户端的支持,完善我的教程的必要性也就不那么迫切了。

我打算分三个部分写这个教程:

1.诺基亚S60手机原生VPN客户端的使用说明和12vpn的评测,因为如果我一上来就把如何生成VPN策略文件和OpenSwan的配置摆上来,不需要知道这些的普通用户可能会被弄晕而产生用起来太复杂的错误印象;

2.生成VPN策略文件和安装配置OpenSwan的教程。

这个教程其实只是一个可以工作的范例,有些需要细调的高级设置我自己也没有弄清楚;

3.VPN策略文件和OpenSwan的高级设置问题,这是我目前还在折腾的部分。

下面是诺基亚S60手机原生VPN客户端的使用说明及12vpn评测:

看到过不少诺基亚S60上没有可用VPN客户端的观点,但事实上诺基亚S60手机上原生的MobileVPN客户端只是不支持常见的PPTP协议(第三方软件SymVPN支持PPTP,但正版价格超过二十美元,而破解版绝大多数都不好用),而是支持IPSecVPN。

另一种观点是诺基亚S60手机原生VPN用户端太复杂,普通用户很难搞定。

这种看法也对也不对,VPN策略文件的生成确实比较复杂,但这是系统管理员的工作,普通用户只需要把系统管理员发给他们的VPN策略文件安装到手机上,简单设置一下就可以用了。

实际上iPhone/iPodTouch常用的L2TPVPN很多也是基于IPSec的,12vpn提供给S60用户的配置方式看起来并不比iPhone/iPodTouch复杂。

诺基亚S60手机原生的MobileVPN客户端并不需要用户自己设置VPN服务器地址、用户名和密码(额外使用了Xauth验证的是另一回事),这些都是在VPN规则中定义好的。

mVPN客户端中有一个设置规则服务器的选项,这是用于把VPN规则推送到手机上的,需要在服务器端安装诺基亚专门的软件,这种方式很少有人用,用户可以从本地安装VPN策略文件而完全不去管这个选项。

VPN策略文件早些是以sis文件形式提供的,像普通软件一样安装。

但目前mVPNV3.1和V4都可以直接导入.vpn文件。

下面的使用说明参考了12vpn针对S60V5上的mVPNV4英文介绍:

1.用户首先需要安装mVPN客户端,V3.1(针对S60V3FP1)在此下载,V4(针对S60V3FP2和S60V5)在此下载;

2.从系统管理员那里得到.vpn(或.sis/.sisx)策略文件并传到手机上安装。

IPSecVPN网管和客户端之间的验证主要有两种方式:

PSK和X509证书。

如果是PSK方式,VPN规则文件直接装上就可以用了;而X509证书是以PKCS#12格式存储的,安装含有该证书的规则时会提示用户输入密码才能正确读取证书,这个密码是由提供VPN规则文件的系统管理员设置,比如12vpn的证书密码一律是“import”〔不含引号〕。

第一次导入证书的时候,手机会提示用户设置〔输入两次〕读取证书的密码,一定要牢记该密码,以后启动VPN连接的时候都要输入密码;新装含有X509证书的VPN规则后使用mVPNV3.1的S60V3FP1手机需要重启,需要重装VPN规则前,删除原来的规则和证书并重启机器。

我不确定使用mVPNV4的S60V5和S60V3Fp2手机是否同样需要如此,听说不用;

3.使用WiFi的话要确认无线路由打开了VPNPassthrough的选项;

4.手机上网需使用net连接而非wap(这一点我不确定,因为mVPN客户端中可以定义Proxy);

5.S60V5等较新的手机上导入了VPN规则后会自动生成一个标记为IntraNet的VPN接入点,在浏览器等需要联网的程序出现接入点选择时使用该接入点即通过VPN上网;S60V3FP1等较老的手机上需要自己通过“设置—>连接—>VPN(虚拟专网)—>VPN接入点—>选项—>新增接入点”用导入的VPN规则定义新的接入点。

6.IPSecVPN连接的初始化有点慢,大概要等半分钟的样子,之后就没有影响了。

如果VPN规则中使用X509证书,验证

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2