分享
 
 
 

redhat 9 下配置成功了freeswan 2。05+证书

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

转自 linuxfans

ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs /2.4.20-8/freeswan-module-2.06_2.4.20_8-0.i386.rpm

ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/RedHat-RPMs /2.4.20-8/freeswan-userland-2.06_2.4.20_8-0.i386.rpm

rpm -ivh freeswan-userland-2.06_2.4.22_1.2179.nptl-0.i386.rpm

配置Frees/wan用于支持双网关通信。也就是两个异地的子网通过一对ipsec的VPN网关进行交互访问。第一种玩法是网络对网络的VPN,我们的 VPN网络就可以应用于该企业的这种需求。首先在甲乙两个LAN的出口各放置一台我们的Linux服务器,他们都安装好了ipsec(前面说的安装步骤一个都不少),两个LAN的数据分别通过各自的这台机器(ipsec gateway)进入公网,凡是经过该网关的数据全部都是加密的。在效果上,两个LAN的用户可以互相ping到对方的机器,尽管他们可能一个是 192.168.1.0/24网段,另一个是192.168.10.0/24网段的。他们好像在同一个局域网中工作,没有界限。公共网络的加密部分对他们来说也是透明的。而两个LAN在公共网络上交换的数据是密文的。这就是虚拟专用网VPN网对网的环境。

2.1 我们先配置甲网的ipsec网关(该网关有两个网卡,我们配置他们的地址分别为eth1:192.168.1.231和eth0:21.9.22.22)。安装完成后,我们首先要做的事情是生成CA证书。(用到刚才安装的openssl)

2.2 找到openssl.cnf文件,一般在/etc/ssl/中,也可能在/var/ssl中或/usr/ssl中(实在不行你就find / -name “openssl.cnf”找找嘛!),要是有好几个,你要搞清楚哪个是你安装的版本。改动其中的default_bits选项的值从1024到 2048,然后改动default_days的值到3650。让期限为10年!保存退出。

2.3 在/var/中建立一个目录:/var/sslca,改变该目录的权限为700(chmod 700 /var/sslca)

并且 mkdir /etc/ipsec.d/cacerts

2.4 在你安装的openssl目录中找到CA.sh脚本。注意,应该是你当前运行的openssl版本的CA.sh

2.5 cd /var/sslca 进入到你刚才建立的目录

2.6 比如你刚才找到的CA在/usr/share/ssl/misc,那么就输入 /usr/share/ssl/misc/CA –newca,接下来你会被问到一系列问题。问题和回答类似于下面的样子。如果你确认哪些你有把握更改就改,比如公司名称、邮件、密码等。不能确定的就按照下面的样子抄上即可。

~/sslca# /usr/share/ssl/misc/CA -newca

CA certificate filename (or enter to create)

(enter)

Making CA certificate ...

Using configuration from /usr/lib/ssl/openssl.cnf

Generating a 2048 bit RSA private key

........................................+++

........................................+++

writing new private key to './demoCA/private/./cakey.pem'

Enter PEM pass phrase:(enter password)

Verifying password - Enter PEM pass phrase:(输入密码)

-----

You are about to be asked to enter

information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:GB(enter)

State or Province Name (full name) [Some-State]:State(enter)

Locality Name (eg, city) []:City(enter)

Organization Name (eg, company) [Internet Widgits Pty Ltd]:21vianet(enter)

Organizational Unit Name (eg, section) []:(enter)

Common Name (eg, YOUR name) []:CA(enter)

Email Address []:ca@xxx.com(enter)

~/sslca#

2.7 下一步是给网关生成证书:

命令和要回答的问题如下:

~/sslca# /usr/share/ssl/misc/CA -newreq

Using configuration from /usr/lib/ssl/openssl.cnf

Generating a 2048 bit RSA private key

...................................+++

...............................+++

writing new private key to 'newreq.pem'

Enter PEM pass phrase:(输入密码)

Verifying password - Enter PEM pass phrase: (输入密码)

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:GB(enter)

State or Province Name (full name) [Some-State]:State(enter)

Locality Name (eg, city) []:City(enter)

Organization Name (eg, company) [Internet Widgits Pty Ltd]:ExampleCo(enter)

Organizational Unit Name (eg, section) []:(enter)

Common Name (eg, YOUR name) []:vpnserver.rd.xxx.com(enter)

Email Address []:user@xxx.com(enter)

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:(enter)

An optional company name []:(enter)

Request (and private key) is in newreq.pem

普通用户

natecars@buzzword:~/sslca $ /usr/share/ssl/misc/CA -sign (输入前面定的密码)

Using configuration from /usr/share/ssl/openssl.cnf

Enter PEM pass phrase:(password you entered for the ca certificate)

Check that the request matches the signature

Signature ok

The Subjects Distinguished Name is as follows

countryName :PRINTABLE:'GB'

stateOrProvinceName :PRINTABLE:'State'

localityName :PRINTABLE:'City'

organizationName :PRINTABLE:'21vianet'

commonName :PRINTABLE:'vpnserver.rd.xxx.com'

emailAddress :IA5STRING:'rd@xxx.com'

Certificate is to be certified until Feb 13 16:28:40 2012 GMT (3650 days)

Sign the certificate? [y/n]:y(enter)

1 out of 1 certificate requests certified, commit? [y/n]y(enter)

Write out database with 1 new entries

Data Base Updated

(certificate snipped)

Signed certificate is in newcert.pem

在以上步骤中一定要记住你输入的密码。如果哪一不错了,想重新来过的话,记住删除/var/sslca目录下面的所有子目录即可。

2.8 把文件名字改为你需要的

~/sslca# mv newcert.pem vpnserver.rd.xxx.com.pem

~/sslca# mv newreq.pem vpnserver.rd.xxx.com.key

2.9 编辑.key文件,删除'-----BEGIN CERTIFICATE REQUEST-----'后面所有的东西,之后,这个文件应该从'-----BEGIN RSA PRIVATE KEY-----'至'-----END RSA PRIVATE KEY-----'结束。

2.10 如果正常的安装了x.509补丁,你应该可以看到/etc/ipsec.d及其下面的目录。如果没有,你就自己建立。然后按照下面的位置复制合适的文件:(此时你仍然在/var/sslca目录中)

# cp vpnserver.rd.xxx.com.key /etc/ipsec.d/private

# cp vpnserver.rd.xxx.com.pem /etc/ipsec.d

# openssl x509 -in demoCA/cacert.pem -outform der -out rootca.der

# cp rootca.der /etc/ipsec.d/cacerts/RootCA.der

# openssl x509 -in vpnserver.rd.xxx.com.pem -outform der -out /etc/x509cert.der

# openssl ca -gencrl -out crl.pem (输入密码)

# cp crl.pem /etc/ipsec.d/crls

2.11在/etc/ipsec.secrets中加入一行:: RSA vpnserver.rd.xxx.com.key "password",然后删除其他所有行。其中的password是你前面生成密要的时候回答问题输入的密码。

2.12编辑ipsec.conf文件类似下面的样子:

version 2.0

config setup

interfaces=%defaultroute

klipsdebug=none

plutodebug=none

#plutoload=%search

#plutostart=%search

uniqueids=yes

conn %default

keyingtries=1

compress=yes

disablearrivalcheck=no

authby=rsasig

leftrsasigkey=%cert

rightrsasigkey=%cert

left=%defaultroute

leftcert=vpnserver.rd.xxx.com.pem

auto=add

pfs=yes

conn roadwarrior

right=%any

conn roadwarrior-net

leftsubnet=192.168.1.0/255.255.255.0

right=%any

conn net-net

leftsubnet=192.168.1.0/255.255.255.0

right=%any

rightsubnet=192.168.1..0/255.255.255.0

conn world-net

leftsubnet=*

right=%any

rightsubnet=192.168.1.0/255.255.255.0

黑体字的部分是你需要根据你实际的环境更改的。我们用的两端的子网是192.168.1.0/24和192.168.10.0/24。文件中 vpnserver.rd.xxx.com.pem是CA证书。这个配置是通用的,也就是说可以适用LAN-LAN方式的俩接和远端客户端两种方式。

2.13 下面配置分支机构的网关。这个机器也要事先安装完全freeswan等软件。

重新执行上面的2.7-2.9步骤生成分支机构的证书,注意:在回答问题的过程中,关于主机名称的部分的输入改变为你分支机构的网关机器名称,比如:vpncliet.rd.xxx.com。

2.14 复制下列生成的文件到分支机构网关上的相应位置(比如通过软盘复制):

cp vpnserver.rd.xxx.com.pem /etc/ipsec.d

cp vpnclient.rd.xxx.com.key /etc/ipsec.d/private

cp vpnclient.rd.xxx.com.pem /etc/ipsec.d

执行命令:openssl x509 –in vpnclient.rd.xxx.com.pem –

outform der –out /etc/x509cert.de

cp rootca.der /etc/ipsec.d/cacerts/RootCA.der

cp crl.pem /etc/ipsec.d/crls

2.15 配置分支机构的/etc/ipsec.secrets 写上一行:

RSA vpnclient.rd.xxx.com.key "password"。

其他行删除。Password就是前面回答问题的时候输入的密码。

2.16 配置/etc/ipsec.conf根据实际情况修改的。

version 2.0

config setup

interfaces=%defaultroute

klipsdebug=none

plutodebug=none

#plutoload=%search

#plutostart=%search

uniqueids=yes

conn %default

keyingtries=0

compress=yes

disablearrivalcheck=no

authby=rsasig

rightrsasigkey=%cert

leftrsasigkey=%cert

right=%defaultroute

rightcert=vpnclient.rd.xxx.com.pem

auto=add

pfs=yes

conn roadwarrior

left=192.168.1.72

leftcert=vpnserver.rd.xxx.com.pem

conn roadwarrior-net

left=192.168.1.72

leftcert=vpnserver.rd.xxx.com.pem

leftsubnet=200.200.199.0/255.255.255.0

conn net-net

left=192.168.1.72

leftcert=vpnserver.rd.xxx.com.pem

leftsubnet=200.200.199.0/255.255.255.0

rightsubnet=200.200.199.0/255.255.255.0

2.17 首先启动server端的ipsec:ipsec setup restart,然后同样启动客户端的ipsec

2.18 建立通道:ipsec auto –up net-net然后在Server端可以用命令ipsec whack status应该可以看到新建立的几个通道。此时,你在两个子网中应该可以互相ping 通。

3、配置Frees.wan用于支持远程客户端访问。也就是允许一个Windows客户端,来通过VPN和公司内部的网络进行通讯。

第2种VPN玩法其实就是把分支机构的LAN换成一个单独的,地址不固定的机器。这样的应用适合总经理出差的时候从外地ISP拨号上网连接到本部网络的情况。期间,非但有认证,而且通过ISP和公网的数据全部是加密的。这种方式在服务器端的配置和上面完全一样(记得吗?我们在行面给出的配置已经是兼顾了两种用法)。这里需要做的是把总经理的笔记本配成VPN客户端。他的笔记本应该是windows2000的并且升级到sp2。

3.1 首先重复2.7-2.9步骤生成证书,其中有关主机名的部分可以输入你总经理的机器名。类似于:win.rd.xxx.com。当然,总经理的机器要是同名的。

3.2 在服务器端生成windows可以认的p12格式的密钥。

openssl pkcs12 -export

-in win.rd.xxx.com.pem

-inkey win.rd.xxx.com.key

-certfile demoCA/cacert.pem

-out win.rd.xxx.com.p12

3.3 用命令察看环境:最好把结果输出到文件记住,以后用得到。

openssl x509 -in demoCA/cacert.pem -noout -subject

3.4 把上面生成的p12文件传送到总经理的机器上,放在一个正规的地方(这个文件很重要)。

3.5 在总经理的机器上从http://vpn.ebootis.de站点下载:ipsec.exe

3.6 在总经理的机器上从: http://agent.microsoft.com/windo ... sting/ipsecpolo.asp站点下载windwos2000的ipsec资源工具。

3.7 安装上述两个软件,并且把他们放在同一个目录中。

3.8 建立一个ipsec的MMC:(希望你知道MMC是什么)

依次进入Start/Run/MMC,

File (or Console) - Add/Remove Snap-in

单击 'Add'

选 'Certificates', 然后选 'Add'

选 'Computer Account', 然后点 'Next'.

选 'Local computer', 然后点 'Finish'.

选 'IP Security Policy Management', 然后点 'Add'.

选 'Local Computer', 然后点 'Finish'

选 'Close' 然后点 'OK'

3.9 增加一个证书

展开左侧窗口中 'Certificates (Local Computer)'

右键 'Personal', 选 'All Tasks' 然后点 'Import'

点 Next

输入哪个.p12 文件的路径 (就是刚才你从服务器网关复制过来的,浏览选择也可), 然后点'Next' 输入export password(密码), 然后点Next 选'Automatically select the certificate store based on the type of certificate', 然后点Next 点Finish, 如果有任何提示窗口弹出都选yes 退出MMC, 保存当前配置到管理工具中,这样就不用每次都重新来过了。以上所做就增加了一个证书到总经理的机器上。

3.10设置ipsec工具:

编辑总经理机器上的ipsec.conf文件,把rightca的=后面写成刚才openssl x509 -in demoCA/cacert.pem -noout –subject命令生成的结果。类似下面这样:

conn roadwarrior

left=%any

right=远端的ip

rightca="C=GB,S=State,L=City,O=21vianet, CN=CA,Email=chenqs@clo.com.cn"

network=auto

auto=start

pfs=yes

conn roadwarrior-net

left=%any

right=远端的ip

rightsubnet=192.168.1.0/24

rightca="C=GB,S=State,L=City,O=21vianet, CN=CA,Email=chenqs@clo.com.cn"

network=auto

auto=start

pfs=yes

黑体部分要注意配置正确。

3.12运行ipsec.exe有下面输出:

C:ipsec>ipsec

IPSec Version 2.1.4 ?? 2001,2002 Marcus Mueller

Getting running Config ...

Microsoft's Windows XP identified

Host name is: (local_hostname)

No RAS connections found.

LAN IP address: (local_ip_address)

Setting up IPSec ...

Deactivating old policy...

Removing old policy...

Connection roadwarrior:

MyTunnel : (local_ip_address)

MyNet : (local_ip_address)/255.255.255.255

PartnerTunnel: (ip_of_remote_system)

PartnerNet : (ip_of_remote_system)/255.255.255.255

CA (ID) : C=US,S=State,L=City,O=ExampleCo,...

PFS : y

Auto : start

Auth.Mode: MD5

Rekeying : 3600S/50000K

Activating policy...

Connection roadwarrior-net:

MyTunnel : (local_ip_address)

MyNet : (local_ip_address)/255.255.255.255

PartnerTunnel: (ip_of_remote_system)

PartnerNet : (remote_subnet)/(remote_netmask)

CA (ID) : C=US,S=State,L=City,O=ExampleCo,...

PFS : y

Auto : start

Auth.Mode: MD5

Rekeying : 3600S/50000K

Activating policy...

C:ipsec>

这时候你从客户端ping服务器后面的内网得到几个'Negotiating IP Security'之后就可以ping通了。这样总经理带着这台笔记本到有互联网络的地方就可以象在办公室一样连接到公司里了。

值的注意的是,出于安全性的问题,我们建议你关闭VPN网关上面的所有其他服务,并仔细配置防火墙。通常的,如果你希望把所有的流量都发送给主站网关,在从站就不需要增加iptables策略。否则,需要增加这样一条策略:

iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE

在主站由于路由的原因,需要增加下面的策略:

iptables –t nat –A POSTROUTING –o ipsec0 –s ! 192.168.10.0/255.255.255.0 –

j SNAT –to 192,168.1.231

iptables –t nat –A POSTROUTING –o eth1 –s ! 192.168.10.0/255.255.255.0 –

j SNAT –to 192,168.1.231

每行中前面的黑体是子网网段,后面的是本网关的内侧出口。

注:原版资料在http://vpn.ebootis.de/ 详细资料在:http://www.natecarlson.com/inclu ... amp;page=ipsec-x509'

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有