用Openswan組建Linux IPSec
---Linux下建立IPSEC的vpn第一部分
1.概述
2.安裝Openswan
3.認證和配置
3.1 RSAsig認證方式的配置
3.2 x.509證書認證的配置
3.3 RoadWarrior模式的配置
5.Windows客戶端的配置
*****
1.概述
LInux上的VPN支持主要有三種:
1)IPSec 's VPN 其主要代表有 FreeS/WAN、KAME
IPSec在Linux上支持主要有兩個主要的分類,一為FreeS/WAN,現在已經停止開發,其分裂為兩個項目,Openswan與
從http://www.openswan.org/code下載軟體包,然後按照包中的說明安裝.由於我們使用26sec,所以只要make programs;make install就可以搞定.值得注意的是,現在的Openswan已經內建些個好用的補丁,比如x.509和NAT Traversal的支持,使用起來非常的方便.
#tar –zxvf openswan-
# make programs install
你也可以用
#ipsec verify來檢驗你的安裝
3.認證和配置
一、 RSA Signature(RSA數字簽名)認證的配製
172.16.40.18(right子網客戶機,計算機名RA)
<->
//把ipsec.conf拷貝到right
網關,目的是為了讓right得到left的rsasig.
//vpn----right
#ipsec newhostkey --output /etc/ipsec.secert
#ipsec showhostkey --right >> /etc/ipsec.conf
#vi /etc/ipsec.conf
#scp /etc/ipsec.conf root@left_GW_ipadress:/etc/ipsec.conf
然後分別從前啟動ipsec服務
#ipsec setup restart //這個你的系統不同點不同
這裡的編輯ipsec.conf應該為(配置文件中的#為註釋,和shell中不同)
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
nat_traversal=yes
nhelpers=0
include /etc/ipsec.d/examples/no_oe.conf
conn linux-to-linux #conn必須定行寫
left=192.168.32.29
leftsubnet=172.16.50.0/24
leftid=@ora92
# RSA 2192 bits ora92 Thu Jul 19 13:52:56 2007 leftrsasigkey=0sAQN8mHncm 6AV77BxYsCx/IuYbz6cpsAnXdJGEDkDohsUQs9U/uyZ7ru0DIq4PkjQ/D/kS9VXyc1ZHv9WmwNzTnO cVFMuC3Ld4epFpb4w 5HzEhpPG1U63o0H 8z4OqJg
right=192.168.32.30
rightid=@vpn
rightsubnet=172.16.40.0/24
# RSA 2192 bits vpn Thu Jul 19 14:01:03 2007 rightrsasigkey=0sAQOyv/cshJnUxULJtaiG 3aDeUIuzbe
auto=start
然後在任意一方網關主機運行
ipsec auto --up net-to-net,這個時候,兩個客戶機之間應該可以互相ping的通,就像在一個內網一樣.
比如在RA上可以
$ping 172.16.50.18
在ping的過程中,在任意一個網關上用tcpdump嗅探
#tcpdump -i eth0
可以看到這樣的包
IP 172.16.40.18 > 172.16.50.18:icmp 64:echo request seq 10
IP 192.168.32.29 > 192.168.32.30: ESP(spi=0xeb73b78b,sed=0xa)
IP 172.16.50.18 > 172.16.40.18: ESP(spi=0x1601e0bd,sed=0xb)
可以看到兩個網關已經用ESP在通訊,說明成功.
另外,這一行
include /etc/ipsec.d/examples/no_oe.conf意為關閉Opportunistic Encryption在你不知道她到底做了什麼之前,還是關掉她為好,打開no_oe.conf文件,發現其內容如下,我們將在本文的第五部分討論這個話題.
conn block
auto=ignore
conn private
auto=ignore
conn private-or-clear
auto=ignore
conn clear-or-private
auto=ignore
conn clear
auto=ignore
conn packetdefault
auto=ignore
二、 x.509證書認證的配置
x.509證書方式當然更靈活,要是VPN的客戶比較多,總不能,每個都記住長長的rsasig吧.使用x.509證書認證,我們需要裝上openssl(現在的Linux基本自帶,沒有的www.openssl.org下一個裝上).
1)然後,找到openssl.cnf文件,這個文件保存著對openssl證書生成的默認值,她的位置一般為:
~/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 newcert.pem ora92.pem
~ca$mv newreq.pem ora92.key //別搞反了,小的那個文件是key:),另外如果要生成的主機證書,填入的信息相同可能出錯
用同樣的方法在right――vpn主機上生成
6)在right主機主機上
也拷貝到正確的地方
vpn:~/ca#cp vpn.key /etc/ipsec.d/private
vpn:~/ca#cp vpn.pem /etc/ipsec.d/certs
vpn:~/ca#cp crl.pem /etc/ipsec.d/crls
vpn:~/ca#cp cacert.pem /etc/ipsec.d/cacerts/cacert.pem
Right上:是/etc/ipsec.secrets加上
: RSA /etc/ipsec.d/private/vpn.key "password"
password就是生成主機密鑰的時候輸入的密碼
這裡有幾個密碼要搞清楚,在生成根證書的時候輸入密碼是用來生成其他證書的,
[火星人 ] 用Openswan組建Linux IPSec ---第一部分已經有958次圍觀