| 但愿你已经按照前面的步骤顺利的安装好了两台机器,下面我告诉你怎样配置成网对网的环境。
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)
2.4 在你安装的openssl目录中找到CA.sh脚本。注意,应该是你当前运行的openssl版本的CA.sh
2.5 cd /var/sslca 进入到你刚才建立的目录
2.6 比如你刚才找到的CA.sh在/usr/lib/ssl/misc/,那么就输入/usr/lib/ssl/misc/CA.sh –newca,接下来你会被问到一系列问题。问题和回答类似于下面的样子。如果你确认哪些你有把握更改就改,比如公司名称、邮件、密码等。不能确定的就按照下面的样子抄上即可。
~/sslca#/usr/lib/ssl/misc/CA.sh -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:(enter same password again)
-----
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) [AU]:US(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/lib/ssl/misc/CA.sh -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:(enter password)
Verifying password - Enter PEM pass phrase:(repeat password)
-----
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) [AU]:US(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/lib/ssl/misc/CA.sh -sign
Using configuration from /usr/lib/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:''''US''''
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 host.example.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文件类似下面的样子:
# basic configuration
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.10.0/255.255.255.0
conn world-net
leftsubnet=*
right=%any
rightsubnet=192.168.10.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
# basic configuration
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=21.9.22.22
leftcert=vpnserver.rd.xxx.com.pem
conn roadwarrior-net
left=21.9.22.22
leftcert=vpnserver.rd.xxx.com.pem
leftsubnet=192.168.1.0/255.255.255.0
conn net-net
left=21.9.22.22
leftcert=vpnserver.rd.xxx.com.pem
leftsubnet=192.168.1.0/255.255.255.0
rightsubnet=192.168.10.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/windows2000/techinfo/reskit/tools/existing/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_of_remote_system)
rightca="C=US,上一页 [1] [2] [3] [4] [5] [6] [7] 下一页
|