中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CentOS 6.5 ipesc下Openswan實現雙IDC互聯

發布時間:2020-07-06 02:51:22 來源:網絡 閱讀:2317 作者:crazy_charles 欄目:網絡安全

一、軟件說明
1、Openswan簡介   

 Openswan是Linux下IPsec的最佳實現方式,其功能強大,最大程度地保證了數據傳輸中的安全性、完整性問題。   openswan支持2.0、2.2、2.4以及2.6內核,可以運行在不同的系統平臺下,包括X86、X86_64、IA64、MIPS以及ARM。   

 Openswan是開源項目FreeS/WAN停止開發后的后繼分支項目,其分裂為兩個項目,Openswan與 Strongswan,Openswan由三個主要組件構成:配置工具(ipsec命令腳本)、Key管理工具(pluto)、內核組件(KLIPS/26sec)26sec使用2.6內核內建模塊Netkey,用來替代Openswan開發的KLIPS模塊,2.4及以下版本內核無Netkey模塊支持,只能使用KLIPS。如果你用的是2.6.9以上的內核,推薦使用26sec,可以不用給內核打Nat-T補丁就可以使用NAT,2.6.9以下版本內核的NETKEY存在Bug,推薦使用KLIPS。IPSec差不多是最老的×××標準了,她的依然很安全,當然是在配置好以后。言下之意,她的配置比較麻煩。本文下面將做說明。 
 因為FreeS/WAN已經在2004年三月停止開發,所以我們使用她的后繼項目Openswan來做我們的IPSec實驗。其相比FreeS/WAN有個好處,如果使用 26sec 的時候,Openswan不用打補丁,就可以用nat。
2、Openswan的安裝  

  因為IPSec工作在網絡層,所以需要系統內核態的支持,上面說過,有兩個選擇,用自帶(26sec)的或用Openswan(KLIPS)的,為了方便(如何打補丁和編譯內核不是本文討論的重點),本文使用CentOS源中編譯好的Openswan來進行實驗。# yum install openswan    如果你想從源碼安裝,到http://www.openswan.org/code  下載軟件包,然后按照包中的說明安裝。由于我們使用26sec,所以只要make programs;make install就可以搞定。值得注意的是,現在的Openswan已經內建些個好用的補丁,比如x.509和NAT Traversal的支持,使用起來非常的方便。你也可以用下面的命令來檢驗你的安裝。
# ipsec verify
3、Openswan的認證方式   
Openswan支持許多不同的認證方式,包括 :

RSA keys、   (RSA Signature比較簡單)

pre-shared keys、

xauth或x.509證書方式。.


4、Openswan的連接方式:
1)  Network-To-Network方式   本文重點是以此來完成企業需求的

   Network-To-Network方式是把兩個網絡連接成一個虛擬專用網絡。當連接建立后,每個子網的主機都可透明地訪問遠程子網的主機。

要實現此種連接方式,要滿足以下兩個條件:  

  I. 每個子網各自擁有一臺安裝有OpenSWan的主機作為其子網的出口網關或者路由; 

  II.每個子網的IP段不能有疊加

(2)Road Warrior方式  

  當使用Network-To-Network方式時,作為每個子網網關的主機(openswan server)不能像子網內部主機那樣透明訪問遠程子網的主機,也就是說:如果你是一個使用LClient的移動用戶,經常出差或是在不同的地點辦公,你的LClient將不能用Network-To-Network方式與公司網絡進行連接。Road Warrior方式正是為這種情況而設計的,連接建立后,你的LClient就可以連接到遠程的網絡了。(或者使用SSL ***的開源產品open***來實現出差時候,遠程撥號訪問的需求)

   更多詳情請參見OpenSWan項目主頁:http://www.openswan.org
5、本文將從以下幾點進行測試
net-to-net模型  **********
1)基于pre-shared keys認證方式(PSK)
2)基于RSA Signature認證方式(RSA數字簽名)
3)基于數字證書認證方式(x.509證書)
4)基于XAUTH認證方式(IPSec/Xauth PSK)
RoadWarrior
5)基于pre-shared keys認證方式(PSK)
6)基于RSA Signature認證方式(RSA數字簽名)
7)基于數字證書認證方式(x.509證書)
8)基于XAUTH認證方式(IPSec/Xauth PSK)


二、環境說明
1、網絡拓撲

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


2、實驗目的


  本使用目的是為了實現client1和client2兩個不同地區不同子網的互通。即不同機房,不同網段的內網機器通信


3、實驗環境介紹 
設備名稱
IP地址信息
所屬機房

北京
***server1外網   eth0  192.168.2.48     
橋接內網         eth2  192.168.183.1     
VMnet1網關            192.168.2.1
上海
***server2
外網eth0  192.168.2.111     
橋接內網eth2  192.168.233.1     
VMnet2網關     192.168.2.1client1    


---北京
eth0      192.168.183.44   
VMnet網關      192.168.183.1     
說明,我使用的是網關路由模式,是client機器通過此網關來通信



client2    ----上海
eth0       192.168.233.44   VMnet4
網關       192.168.233.1


     

我本地的網絡是192.168.2.0/24網段,為了讓×××Server可以上網,我這邊把×××Server的eht0設定到了192.168.2.0/24網段,并且網卡設定為橋接,其他的網絡安裝上面表格配置好,這樣我們就可以全部遠程操作了,把每個主機的主機名修改好,這樣便于我們觀察。


三、Openswan環境部署

1、開啟數據轉發
# vim /etc/sysctl.conf
 net.ipv4.ip_forward = 1
 net.ipv4.conf.default.rp_filter = 0
2、關閉icmp重定向# sysctl -a | egrep "ipv4.*(accept|send)_redirects" | awk -F "=" '{print$1"= 0"}' >> /etc/sysctl.conf
# sysctl -p
3、關閉SELinux# setenforce 0
4、安裝openswan    (兩臺***serve上面都是同樣操作
# yum install openswan lsof -y
# rpm -ql openswan      //查看安裝了那些文件。
# ipsec --version       //查看ipsec的版本
[root@***server1 etc]# ipsec --version  
Linux Openswan U2.6.32/K2.6.32-431.el6.x86_64 (netkey)
See `ipsec --copyright' for copyright information.
這里并沒有加載任何的IPsec stack,當啟動IPsec后會自動加載系統自帶的netkey。
[root@***server1 etc]#service ipsec start
[root@***server1 etc]# ipsec verify    //對ipsec進行驗證(兩臺***serve上面都是同樣操作)


CentOS 6.5 ipesc下Openswan實現雙IDC互聯

#################

重要說明,如果前邊的步驟沒做安裝文檔完成,匯報一下錯誤,導致接下來的未知錯誤

[root@localhost ~]# ipsec verify
Checking your system to see if IPsec got installed and started correctly:
Version check and ipsec on-path                            [OK]
Linux Openswan U2.6.32/K(no kernel code presently loaded)
Checking for IPsec support in kernel                          [FAILED]
 SAref kernel support                                  [N/A]
Checking that pluto is running                             [FAILED]
  whack: Pluto is not running (no "/var/run/pluto/pluto.ctl")
Two or more interfaces found, checking IP forwarding              [FAILED]
  whack: Pluto is not running (no "/var/run/pluto/pluto.ctl") 
Checking NAT and MASQUERADEing                              [OK]
Checking for 'ip' command                                 OK]
Checking /bin/sh is not /bin/dash                            [OK]
Checking for 'iptables' command                             [OK]
cat: /etc/ipsec.d/examples/no_oe.conf: No such file or directory
cat: /etc/ipsec.d/examples/no_oe.conf: No such file or directory
Opportunistic Encryption Support



所以, 確保ipsec verify的結果都是如圖所示方可繼續接下來的配置

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


我們可以看到openswan監聽在UDP的500和4500兩個端口,其中500是用來IKE密鑰交換協商,4500的NAT-T是nat穿透的


四、Openswan配置(network-to-network)
1、基于pre-shared keys認證方式(PSK)

在***server1()上面作如下修改,里面的配置參數很多,大家可以參照man ipsec.conf里面的講解# vim /etc/ipsec.conf
[root@melin etc]# grep -Ev  '#|^$' ipsec.conf.psk 
config setup
     protostack=netkey
     nat_traversal=yes
     virtual_private=
     oe=off
conn net-to-net
     ike=aes256-sha2_256;modp2048
     phase2alg=aes256-sha2_256;modp2048
     authby=secret      
     type=tunnel
     left=192.168.2.48
     leftsubnet=192.168.183.0/24
     leftid=@test1 
     leftnexthop=%defaultroute
     right=192.168.2.111
     rightsubnet=192.168.233.0/24
     rightid=@test2
     rightnexthop=%defaultroute
     auto=add  /add代表只是添加,但并不會連接,如果為start則代表著啟動自動連接.


CentOS 6.5 ipesc下Openswan實現雙IDC互聯



同樣在另一臺***server2上面配置和***sever1一樣的配置文件

即: scp ipsec.conf 192.168.2.111:/etc/ (兩臺***serve上面的ipsec.conf配置文件是一樣的)

[root@***server1 etc]#  vim /etc/ipsec.secrets
192.168.2.48 %any 0.0.0.0 : PSK "123"
這個文件的格式為:“Local Ip address”  “remote ip address” : PSK “your key”
在192.168.2.111(***server2)上面修改成如下
[root@***server2 etc]# vim /etc/ipsec.secrets
192.168.2.111 %any 0.0.0.0 : PSK "123"
重啟兩個***服務
# service ipsec restart然后啟動一下我們的con
# ipsec auto --up net-to-net  (此處由于ipsec.conf中auto=add,所以需要手動添加)




CentOS 6.5 ipesc下Openswan實現雙IDC互聯

當我們看到ipsec sa estabilished,就證明我們連接成功了,也可以從中看到一些加密方法,密鑰交換參數,我們也可以在配置文件里面添加如下信息進行修改。(記得保持同步到***server2)


ike=aes256-sha2_256;modp2048
phase2alg=aes256-sha2_256;modp2048


然后在clinet1上面去ping對端子網的設備,可以看到如下,但是×××Server是不能ping通對方子網的設備的。

client1上的操作:

route add  default gw  192.168.183.1

CentOS 6.5 ipesc下Openswan實現雙IDC互聯



我們可以在任意×××Server網關上面抓包,查看數據信息

# tcpdump -i eth2 -nn

CentOS 6.5 ipesc下Openswan實現雙IDC互聯

# tcpdump -i eth0 -nn

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


其中ESP(Encapsulating Security Payload)就是加密數據。

echo request 

echo  reply

表明既可以發送請求,也可以收到回應包


測試通過后,可以把連接配置中 auto=add    

             更改為: auto=start 

這樣當Openswan啟動時就可自動進行連接。
到此我們net-to-net基于psk模式的×××就搭建成功了。


########################################################################################

二、基于RSA Signature認證方式(RSA數字簽名)


注:因為我是接著上面的實驗進行操作,一直有問題無法解決,后來重新安裝了一下,安裝下面的流程一次就成功了。
openswan的安裝方式同本文剛開始安裝一樣,下面我們主要講解配置的不同。

下面提到的L-Server指的是192.168.2..48(×××Server1),
R-Server指的是192.168.2.111(×××Server2)。
在L-Server上面進行如下操作生成一個新的RSA密鑰對
# ipsec newhostkey --output /etc/ipsec.secrets(可以先不操作)因為這個生成過程太過緩慢,我們使用下面方面進行加速生成
# rm -rf /dev/random# ln -s /dev/urandom /dev/random
# ipsec newhostkey --output /etc/ipsec.secrets

在R-Server上面執行一遍
# rm -rf /dev/random# ln -s /dev/urandom /dev/random
# ipsec newhostkey --output /etc/ipsec.secrets
在L-Server上執行ipsec showhostkey                   --left得到L-Server的公鑰
# ipsec showhostkey --left


CentOS 6.5 ipesc下Openswan實現雙IDC互聯


在R-Server上執行ipsec showhostkey --right得到R-Server的公鑰
# ipsec showhostkey --right

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


請記住這兩個key,后面會用到,也可以使用重定向加到配置文件里面



L-Sserver:
編輯/etc/ipsec.conf文件
# vim /etc/ipsec.conf

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


# scp /etc/ipsec.conf 192.168.2.111:/etc  (同步到R-server上)
# service ipsec restart

# ipsec auto --up net-to-net

CentOS 6.5 ipesc下Openswan實現雙IDC互聯

當我們看到ipsec sa estabilished,就證明我們連接成功了

測試通過后,可以把連接配置中 auto=add    

             更改為: auto=start 

# service ipsec restart

測試:

在一端client1去ping另一端的客戶機client2,然后我們在***server上面抓包查看。

我們可以在任意×××Server1網關上面抓包,查看數據信息

# tcpdump -i eth2 -nn

CentOS 6.5 ipesc下Openswan實現雙IDC互聯

# tcpdump -i eth0 -nn

CentOS 6.5 ipesc下Openswan實現雙IDC互聯


此時一切測試成功之后 
# chkconfig ipsec on

基于RSA Signature認證方式(RSA數字簽名)搭建完畢。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

徐闻县| 工布江达县| 揭西县| 高青县| 河北区| 东乡族自治县| 青冈县| 平湖市| 正镶白旗| 富川| 高安市| 兴城市| 潞西市| 鹤岗市| 青神县| 南京市| 南和县| 偃师市| 河西区| 诏安县| 汉川市| 阿克苏市| 龙井市| 康保县| 广宗县| 桦川县| 杭锦旗| 平谷区| 昌江| 乌兰县| 库车县| 陇川县| 道孚县| 西林县| 惠州市| 枣庄市| 台东县| 宜良县| 洪泽县| 尼玛县| 龙海市|