ubuntu 10.4 使用 openswan 搭建 ipsec 基於RSA認證方式的環境搭建 排錯記錄


附上 虛擬器 加載共享文件 方式
sudo mount -t vboxsf down /mnt/share

其中 虛擬機用的 oracle 的 virtualbox 所以文件系統是  vboxsf  
前提 虛擬機安裝增強功能
down 是 在虛擬機中的設備--》分配數據空間 查找win上的某個目錄 數據空間命名爲 down
/mnt/share  掛載在 /mnt/share 目錄上。


1.Checking that pluto is running  
Checking that pluto is running                                  [FAILED]
  whack: is Pluto running?  connect() for "/var/run/pluto/pluto.ctl" failed (111 Connection refused)
如果出現如上問題, 可以嘗試 sudo service ipsec restart  重啓服務 本人重啓後解決

2. NETKEY detected, testing for disabled ICMP send_redirects           [FAILED]
   NETKEY detected, testing for disabled ICMP accept_redirects          [FAILED]
   
   可以創建文件 dis.sh 放在 /home/xjp 目錄下 然後在 rc.local 中添加  /home/xjp/dis.sh  系統在每次開機時
   執行  dis.sh  中內容,dis.sh 中內容如下:
   #!/bin/bash
    # Disable send redirects
    echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
    echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
    echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
    echo 0 > /proc/sys/net/ipv4/conf/eth1/send_redirects
    echo 0 > /proc/sys/net/ipv4/conf/lo/send_redirects
    # Disable accept redirects
    echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/eth0/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/eth1/accept_redirects
    echo 0 > /proc/sys/net/ipv4/conf/lo/accept_redirects


3.修改內核參數,防火牆
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   
4.可以將nat設置添加到/etc/rc.local裏面,讓開機時自動執行
在LServer上執行以下命令設置NAT:
iptables -t nat -A POSTROUTING -o eth0 -s 10.10.10.0/24 -d 10.10.20.0/24 -j MASQUERADE
在RServer上執行以下命令設置NAT:
iptables -t nat -A POSTROUTING -o eth0 -s 10.10.20.0/24 -d 10.10.10.0/24 -j MASQUERADE

   
   
 其他操作 可上google 搜索

另附上 網上找的 問題排查手冊

 

3.1 IPsec VPN故障排除基本思路

       當IPsec VPN出現問題時,最直接的表現就是無法通過IPsec VPN訪問遠端內部網絡。按照具體的情況又分爲:IPsec隧道無法建立、IPsec隧道建立但無法訪問遠端內部網絡和IPsec隧道時斷時連。通過IPsec的debug信息檢測問題是比較快的,但需要使用者對debug信息比較熟悉。所以這裏介紹針對上面三種情況的一般檢測方法。

1.  IPsec VPN隧道無法建立

檢測方法:使用show cry ike proposal <string>和sh cry ipsec proposal <string>命令查看ike和ipsec的策略兩端是否相同。使用sh cry policy <string>查看兩端數據流是否匹配。

2.  IPsec隧道建立但無法訪問遠端內部網絡

檢測方法:sh ip esp查看是否有in和out的數據;查看訪問列表是否deny了受保護的數據流。

3.  IPsec隧道時斷時連

檢測方法:查看物理線路是否時通時斷;查看是否有網點衝突。

 

3.2 IPsec VPN常見故障處理

故障一:IPsec VPN隧道無法建立

可能的原因

判斷方法和解決方案

1.兩端VPN設備無法互通

1. 從一端VPN設備ping另外一端,看是否能否ping通。如果不通,首先檢查網絡連接情況。

2.兩端VPN可以ping通,但是相互收不到IKE協商報文

1. 檢查VPN是否配置ACL或者前端是否有防火牆,禁止了IKE協商報文,需要在ACL或者防火牆上開放UDP500/4500端口;

2. 檢查發起方VPN的內網口是否UP,特別是3005C-104以SW接口作爲內網口,LAN口上沒有接PC,SW口無法UP,將導致擴展ping不通對端。

3.兩端VPN採用證書認證方式,但是沒有證書或者證書無效;採用預共享密鑰方式認證沒有配置密碼

1.  通過show cry ike sa查看IKE隧道狀態沒有任何信息;

2.  打開debug cry ike normal,提示%IKE-ERR: can't initiate, no available authentication material (cert/psk) ;

3.  sh crypto ca certificates,查看證書是否有效。

4.兩端IKE和IPsec策略不一致

1.         如果採用主模式,查看IKE狀態停止在STATE_MAIN_I1,採用積極模式,IKE狀態停止在STATE_AGGR_I1,說明可能是兩端策略不一致,通過show cry ike proposal和show cry ipsec proposal查看兩端策略是否相同;

2.         打開debug cry ike normal,提示ignoring notification payload, type NO_PROPOSAL_CHOSEN 。

5.兩端VPN設備配置了ID不是IP地址作爲身份標識,而是域名或者其他,但是採用IKE協商採用主模式

1.  查看IKE KEY配置了identity,但是tunnel配置中配置了set mode main;

2.  查看IKE狀態停止在STATE_MAIN_I1狀態。

6.對端VPN設備配置錯誤ID或者沒有配置ID

1.  查看IKE KEY配置了identity,但是tunnel配置中沒有配置ID;

2.  查看IKE狀態停止在STATE_AGGR_I1狀態;

3.  有%IKE-ERR: Aggressive Mode packet from 20.0.0.2:500 has invalid ID報錯。

7.兩端VPN設備不支持NAT穿越

1.  如果採用主模式,查看IKE狀態停止在STATE_MAIN_I2狀態,說明有可能VPN不支持NAT穿越,我們VPN默認支持,一般可能其他廠家VPN不支持。

8.兩端VPN設備預共享密鑰不一致

1.   如果採用主模式,查看IKE狀態停止在STATE_MAIN_I3狀態,說明有可能兩端VPN預共享密鑰配置不一致;

2.   通過show run cry key查看兩端的KEY是否相同。

9.兩端保護數據流不匹配

1.   查看IKE狀態停止在STATE_QUICK_I1狀態,說明有可能兩端VPN預共享密鑰配置不一致;

2.   通過show cry ipsec sa查看沒有ipsec隧道;

3.   日誌中有報錯:%IKE-ERR: cannot respond to IPsec SA request for instance-65666: 30.0.0.0/8:0/0 === 20.0.0.2 (20.0.0.2)... 20.0.0.1 (20.0.0.1)=== 192.168.0.0/16:0/0

& 注:

IKE第一階段採用積極模式,因爲積極模式進行IKE協商同時傳送與SA、密鑰交換和認證相關的載荷,所以一般IKE的錯誤都將導致IKE SA的狀態爲STATE_AGGR_I1。因此上述對IKE第一階段問題判斷基本都是基於主模式。

 

   故障二:VPN隧道通,無法辦理業務

可能的原因

判斷方法和解決方案

1.業務數據走NAT,沒有走VPN隧道

1.         設備配置了NAT轉換,訪問列表沒有將VPN的業務數據deny,可以查看訪問列表來判斷;

2.         可以通過show cry ipsec sa或者show ip esp查看output的數據一直沒有增加;

3.         修改訪問列表,拒絕VPN數據走NAT轉換。

2.要訪問服務器沒有路由指向對端VPN網關或者網關設置不對

1.   在中心端VPN設備上ping服務器看能否ping通;

2.   第一步可以ping通,則可以在客戶端VPN設備上通過show cry ipsec sa或者show ip esp查看output的數據有增加,但是input的數據一直沒有增加,在中心端VPN設備相反,有input的數據,但是沒有output;

3.   設置服務器對應的下端網段路由應該指向中心IPsec VPN設備的內網口。

3.線路PMTU導致大數據包丟棄

1.         某些業務軟件(例如一些財務軟件或者登陸需要下載大量數據的應用程序)可以出現登陸界面,但是輸入用戶名密碼後一直沒有反應;

2.         客戶端採用默認ping包可以ping通服務器,ping大包不通;

3.         可以修改服務器網卡的MTU=線路PMTU。

 

故障三:VPN時通時斷

可能的原因

判斷方法和解決方案

1.公網連接不穩定

1.         通過ping測試檢測物理線路問題;

2.         直接用PC接在公網線路測試看看是否會斷;

3.         如果是動態撥號,可以更改idle-timeout爲0。

2.某次線路故障造成兩端的IPsec SA不能夠同步

1.   查看兩端VPN設備是否關閉了DPD;

2.   通過show cry ipsec sa查看兩端SPI是否不相同;

3.   在兩端手工清除隧道重新建立或者設置DPD解決不同步問題。

3.分支機構VPN配置重複

1.         隧道時斷時連表現爲當只有一個下端的時候一切正常,但當第二個或某個特定下端連接上來的時候,出現只有一個能正確建立IPsec隧道或時斷時連;

2.         在中心VPN設備檢查某個分支機構不能建立VPN隧道時卻有相關的IPsec數據流;

3.         可以在分支機構VPN上更換網段測試或者配置使用積極模式,配置不通的標識ID。


以上信息僅供參考


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章