您好,登錄后才能下訂單哦!
這篇“Linux下怎么安裝OpenSWan”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux下怎么安裝OpenSWan”文章吧。
OpenSWan是linux選Ipsec及I2tp協議的一個不錯的實現方案。他支持和ipsec相關的大多數的擴展(RFC+IETF drafts)。Openswan項目起源于FreeS/WAN 2.04項目,該項目的功能很強大,可以很大程度上保證數據在跨網傳輸中的安全性、完整性,特別是通過它,餓哦沒可以很好地實現跨機房或異地辦公場所實現局域網互聯解決方案,如果和openvpn工具配合,可以實現將注入門戶網站的多機房互訪及vpn的各種強大解決方案。
本文使用VMWare建立五臺虛擬Linux主機來進行試驗。操作系統: CentOS 4.4內核版本:2.6.9-42主機網絡參數設置: 如無特殊說明,子網掩碼均為255.255.255.0
主機名 | 網卡eth0 | 網卡eth2 | 默認網關 | 用途 |
---|---|---|---|---|
LServer | 192.168.1.103 | 192.168.2.1 | 192.168.1.1 | Left網關 |
RServer | 192.168.1.104 | 192.168.3.1 | 192.168.1.1 | Right網關 |
LClient | 192.168.1.113 | 192.168.2.2 | 192.168.2.1 | Left客戶機 |
RClient | 192.168.1.114 | 192.168.3.2 | 192.168.3.1 | Right客戶機 |
Laptop | 192.168.1.105 | 192.168.1.1 | Laptop客戶機 |
推薦使用CentOS 4.4,基于RedHat Enterprise AS 4.4安全加強的免費可升級獨立分發版本Linux操作系統,安裝過程不再詳述。需要注意的是,安裝時請確保選中開發軟件包,以及libgmp軟件包 (gmp、gmp-devel)、gawk、flex、bison。以下步驟只需在LServer、RServer及Laptop上執行。系統按前述參數安裝完畢后在LServer、RServer執行以下命令:
sysctl -a | egrep “ipv4.*(accept|send)_redirects” | awk -F “=” ‘{print $1″= 0″}’ >> /etc/sysctl.conf
編輯/etc/sysctl.conf
vi /etc/sysctl.conf
將下面兩項:
net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1
改為:
net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 0
執行以下命令使設置生效:
sysctl -p
在LServer上執行以下命令設置NAT:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -d ! 192.168.3.0/24 -j MASQUERADE
在RServer上執行以下命令設置NAT:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -d ! 192.168.2.0/24 -j MASQUERADE
四、安裝OpenSWan\1. 下載源碼包
cd ~ wget http://www.openswan.org/download/openswan-2.4.7.tar.gz
\2. 解壓源碼包
tar zxvf openswan-2.4.7.tar.gz
\3. 安裝UserLand
cd openswan-2.4.7 make programs make install
\4. 安裝KLIPS IPstack (可選,如果用26sec則不需安裝)1)安裝NAT-Traversal內核補丁export KERNELSRC=/usr/src/kernels/2.6.9-42.EL-i686make nattpatch > /usr/src/openswan-ipsec-natt.patchcd $KERNELSRCcat /usr/src/openswan-ipsec-natt.patch | patch -p1 -smake cleanmake oldconfig當執行make oldconfig命令時,由于添加了Nat-t補丁,會出現以下提示:IPSEC NAT-Traversal (KLIPS compatible) (IPSEC_NAT_TRAVERSAL) [N/y/?] (NEW)按y鍵確認后繼續完成make oldconfig命令繼續執行以下命令重新編譯安裝內核makemake modules_installmake install編譯安裝完成新內核后請重啟系統,以啟用新內核 2)安裝KLIPS
cd ~/openswan-2.4.7 make KERNELSRC=/lib/modules/uname -r
/build module minstall depmod -a
加載KLIPS模塊前必須先卸載NETKEY模塊
rmmod xfrmuser af_key esp4 ah5 ipcomp xfrm4_tunnel
執行以下命令加載KLIPS
modprobe ipsec
\5. 驗證安裝執行下面的命令驗證OpenSWan是否正確安裝
ipsec –version
如果程序正確安裝,此命令將顯示以下三種可能結果:如果已加載的IPsec stack是NETKEY,顯示如下
Linux Openswan U2.4.7/K2.6.9-42.EL (netkey) See `ipsec –copyright’ for copyright information.
如果已加載的IPsec stack是KLIPS,顯示如下
Linux Openswan 2.4.7 (klips) See `ipsec –copyright’ for copyright information.
如果沒有加載任何IPsec stack,顯示如下
Linux Openswan U2.4.7/K(no kernel code presently loaded) See `ipsec –copyright’ for copyright information.
\6. 特別說明如果系統中NETKEY、KLIPS模塊同時存在,OpenSWan按以下規則加載其一:通常情況下,OpenSWan啟動時使用已經加載的模塊;如果NETKEY與KLIPS兩者都已經加載,OpenSWan不能啟動;如果未加載任何模塊,OpenSWan首選加載NETKEY;如果NETKEY加載失敗,OpenSWan加載KLIPS;如果兩者都不能正常加載,OpenSWan啟動失敗。
五、配置OpenSWan\1. OpenSWan主要配置文件
/etc/ipsec.secrets 用來保存private RSA keys 和 preshared secrets (PSKs) /etc/ipsec.conf 配置文件(settings, options, defaults, connections)
\2. OpenSWan主要配置目錄
/etc/ipsec.d/cacerts 存放X.509認證證書(根證書-”root certificates”) /etc/ipsec.d/certs 存放X.509客戶端證書(X.509 client Certificates) /etc/ipsec.d/private 存放X.509認證私鑰(X.509 Certificate private keys) /etc/ipsec.d/crls 存放X.509證書撤消列表(X.509 Certificate Revocation Lists) /etc/ipsec.d/ocspcerts 存放X.500 OCSP證書(Online Certificate Status Protocol certificates) /etc/ipsec.d/passwd XAUTH密碼文件(XAUTH password file) /etc/ipsec.d/policies 存放Opportunistic Encryption策略組(The Opportunistic Encryption policy groups)
\3. OpenSWan連接方式OpenSWan有兩種連接方式:\1) Network-To-Network方式顧名思義,Network-To-Network方式是把兩個網絡連接成一個虛擬專用網絡。當連接建立后,每個子網的主機都可透明地訪問遠程子網的主機。要實現此種連接方式,要滿足以下兩個條件:I. 每個子網各自擁有一臺安裝有OpenSWan的主機作為其子網的出口網關;II.每個子網的IP段不能有疊加\2) Road Warrior方式當使用Network-To-Network方式時,作為每個子網網關的主機不能像子網內部主機那樣透明訪問遠程子網的主機,也就是說:如果你是一個使用Laptop的移動用戶,經常出差或是在不同的地點辦公,你的Laptop將不能用Network-To-Network方式與公司網絡進行連接。Road Warrior方式正是為這種情況而設計的,連接建立后,你的Laptop就可以連接到遠程的網絡了。\4. OpenSWan的認證方式Openswan支持許多不同的認證方式,包括RSA keys、pre-shared keys、XAUTH、x.509證書方式\5. 使用RSA數字簽名(RSASIG)認證方式配制OpenSWan\1) 在LServer、RServer及Laptop上生成新的hostkey
ipsec newhostkey –output /etc/ipsec.secrets
繼續以下2-4步驟配置LServer-RServer之間的Network-To-Network方式鏈接:\2) 在LServer上執行下面的命令獲得leftrsasigkey(即LServer的公鑰Pulic Key)
ipsec showhostkey –left
此命令的輸出格式如下所示:
# RSA 2192 bits LServer.FoxBB.Com Sat Mar 3 15:45:00 2007 leftrsasigkey=0sAQOBIJFmj……
\3) 在RServer上執行下面的命令獲得rightrsasigkey(即RServer的公鑰 Pulic Key)
ipsec showhostkey –right
此命令的輸出格式如下所示:
# RSA 2192 bits RServer.FoxBB.Com Sat Mar 3 15:51:56 2007 rightrsasigkey=0sAQNZZZjj……
\4) 在LServer及RServer上編輯/etc/ipsec.conf
vi /etc/ipsec.conf
在最后添加如下內容(leftrsasigkey及rightrsasigkey行換成前面2,3步所取得的值)
conn net-to-net left=192.168.1.103 # LServer外網IP地址 leftsubnet=192.168.2.0/24 # LServer內網IP段 leftid=@LServer.FoxBB.Com # LServer的標識 leftrsasigkey=0sAQOBIJFmj… # LServer的公鑰 leftnexthop=%defaultroute # LServer的下一跳指定為默認路由地址 right=192.168.1.104 # RServer外網IP地址 rightsubnet=192.168.3.0/24 # RServer內網IP段 rightid=@RServer.FoxBB.Com # RServer的標識 rightrsasigkey=0sAQNZZZjj… # Rserver的公鑰 rightnexthop=%defaultroute # RServer的下一跳指定為默認路由地址 auto=add # 添加這個鏈接,但是在OpenSWan啟動時不自動連接
顯示詳細信息
繼續以下5-10步驟配置LServer-Laptop之間的Road Warrior方式:\5) 在LapTop上執行下面的命令獲得leftrsasigkey(即Laptop的公鑰Pulic Key)
ipsec showhostkey –left
此命令的輸出格式如下所示:
# RSA 2192 bits Laptop.FoxBB.Com Sun Mar 11 09:14:25 2007 leftrsasigkey=0sAQOa8tu4E……
\6) 在LServer上執行下面的命令獲得rightrsasigkey(即LServer的公鑰 Pulic Key)
ipsec showhostkey –right
此命令的輸出格式如下所示:
# RSA 2192 bits LServer.FoxBB.Com Sat Mar 3 15:45:00 2007 rightrsasigkey=0sAQOBIJFmj……
\7) 在Laptop上編輯/etc/ipsec.conf
vi /etc/ipsec.conf
在最后添加如下內容(leftrsasigkey及rightrsasigkey行換成前面5,6步所取得的值)
conn road left=%defaultroute # 通過默認路由獲取Laptop的IP leftid=@Laptop.FoxBB.Com # Laptop的標識 leftrsasigkey=0sAQOa8tu4E… # Laptop的公鑰 right=192.168.1.103 # LServer外網IP rightsubnet=192.168.2.0/24 # LServer內網IP段 rightid=@LServer.FoxBB.Com # LServer的標識 rightrsasigkey=0sAQOBIJFmj… # LServer的公鑰 auto=add # 添加這個鏈接,但是在OpenSWan啟動時不自動連接
\8) 在LServer上執行下面的命令獲得leftrsasigkey(即LServer的公鑰Pulic Key)
ipsec showhostkey –left
此命令的輸出格式如下所示:
# RSA 2192 bits LServer.FoxBB.Com Sat Mar 3 15:45:00 2007 leftrsasigkey=0sAQOBIJFmj……
\9) 在Laptop上執行下面的命令獲得rightrsasigkey(即Laptop的公鑰 Pulic Key)
ipsec showhostkey –right
此命令的輸出格式如下所示:
# RSA 2192 bits Laptop.FoxBB.Com Sun Mar 11 09:14:25 2007 rightrsasigkey=0sAQOa8tu4E……
10)在LServer上編輯/etc/ipsec.conf
vi /etc/ipsec.conf
在最后添加如下內容(leftrsasigkey及rightrsasigkey行換成前面8,9步所取得的值)
conn road left=192.168.1.103 # LServer外網IP leftid=@LServer.FoxBB.Com # LServer的標識 leftsubnet=192.168.2.0/24 # LServer內網IP段 leftrsasigkey=0sAQOBIJFmj… # LServer的公鑰 rightnexthop=%defaultroute # correct in many situations right=%any # Laptop的外網IP,可能使用動態IP,所以用%any代替任意IP rightid=@Laptop.FoxBB.Com # Laptop的標識 rightrsasigkey=0sAQOa8tu4E… # Laptop的公鑰 auto=add # 添加這個鏈接,但是在OpenSWan啟動時不自動連接
注意:在Network-To-Network方式下,兩邊網關/etc/ipsec.conf中的鏈接配置是一樣的,即left和right是相同的, 而在Road Warrior方式Laptop和網關上的鏈接配置是不同的,即left指正在配置的本地主機,right指與本地主機對應的遠程主機。
11)在LServer、RServer及Laptop上執行下面的命令啟動OpenSWan
service ipsec start
12)在LServer及RServer上執行下面的命令驗證OpenSWan是否正常運行
ipsec verify
如果OpenSWan正常運行,將會得到類似下面的輸出
Checking your system to see if IPsec got installed and started correctly: Version check and ipsec on-path [OK] Linux Openswan U2.4.7/K2.6.9-42.EL (netkey) Checking for IPsec support in kernel [OK] NETKEY detected, testing for disabled ICMP send_redirects [OK] NETKEY detected, testing for disabled ICMP accept_redirects [OK] Checking for RSA private key (/etc/ipsec.secrets) [OK] Checking that pluto is running [OK] Two or more interfaces found, checking IP forwarding [OK] Checking NAT and MASQUERADEing Checking for ‘ip’ command [OK] Checking for ‘iptables’ command [OK] Opportunistic Encryption Support [DISABLED]
顯示詳細信息
13)在LServer或RServer上執行下面的命令進行LServer-RServer之間的Network-To-Network連接
ipsec auto –up net-to-net
將會得到類似下面的輸出(如果最后的輸出行中出現IPsec SA established,說明連接成功 )
104 “net-to-net” #1: STATE_MAIN_I1: initiate 003 “net-to-net” #1: received Vendor ID payload [Openswan (this version) 2.4.7 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR] 003 “net-to-net” #1: received Vendor ID payload [Dead Peer Detection] 003 “net-to-net” #1: received Vendor ID payload [RFC 3947] method set to=110 106 “net-to-net” #1: STATE_MAIN_I2: sent MI2, expecting MR2 003 “net-to-net” #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): no NAT detected 108 “net-to-net” #1: STATE_MAIN_I3: sent MI3, expecting MR3 004 “net-to-net” #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536} 117 “net-to-net” #2: STATE_QUICK_I1: initiate 004 “net-to-net” #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0xa329d030
顯示詳細信息
14)在Laptop上執行下面的命令進行Laptop-LServer之間的Road Warrior連接
ipsec auto –up road
將會得到類似下面的輸出(如果最后的輸出行中出現IPsec SA established,說明連接成功)
104 “road” #1: STATE_MAIN_I1: initiate 003 “road” #1: received Vendor ID payload [Openswan (this version) 2.4.7 PLUTO_SENDS_VENDORID PLUTO_USES_KEYRR] 003 “road” #1: received Vendor ID payload [Dead Peer Detection] 003 “road” #1: received Vendor ID payload [RFC 3947] method set to=110 106 “road” #1: STATE_MAIN_I2: sent MI2, expecting MR2 003 “road” #1: NAT-Traversal: Result using RFC 3947 (NAT-Traversal): no NAT detected 108 “road” #1: STATE_MAIN_I3: sent MI3, expecting MR3 004 “road” #1: STATE_MAIN_I4: ISAKMP SA established {auth=OAKLEY_RSA_SIG cipher=oakley_3des_cbc_192 prf=oakley_md5 group=modp1536} 117 “road” #2: STATE_QUICK_I1: initiate 004 “road” #2: STATE_QUICK_I2: sent QI2, IPsec SA established {ESP=>0x070f9aae
顯示詳細信息
15)測試IPSEC鏈接在LClient上執行
ping 192.168.3.2
或在RClient上執行
ping 192.168.2.2
在ping命令執行期間,在LServer或RServer上執行
tcpdump -i eth0
如果LClient和RClient可以互相ping通,tcpdump有類似下面的輸出,說明Network-To-Network方式IPSEC已經成功連接
13:28:09.931263 IP 192.168.1.104 > 192.168.1.103: ESP(spi=0xa329d030,seq=0x126) 13:28:09.935244 IP 192.168.1.103 > 192.168.1.104: ESP(spi=0xae29b36c,seq=0x126) 13:28:10.818461 IP 192.168.1.104 > 192.168.1.103: ESP(spi=0xa329d030,seq=0x127) 13:28:10.823472 IP 192.168.1.103 > 192.168.1.104: ESP(spi=0xae29b36c,seq=0x127)
16)設置自動連接測試通過后,可以把連接配置中
auto=add
更改為:
auto=start
這樣當OpenSWan啟動時就可自動進行連接
以上就是關于“Linux下怎么安裝OpenSWan”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。