IPsec分析/測試/


一   局域網拓撲圖

局域網環境搭建步驟:

           (升級最新版本 ,恢復出廠設置后) 

          1 兩台網關wan口直連,分別接兩台pc ,

          2 局域網網絡測試,正常情況下PC1 和PC2 互通 ,測試通過在進行ipsec的配置

          (參考     http://blog.csdn.net/zhangyang0402/article/details/5730123)

         3 常見問題 兩台電腦 有一邊能ping通,又一邊ping不通  ,可能是兩張網卡的原因, 有線 無線 

            route print 查看路由情況  

        

           一台電腦兩張網卡,兩個網關, 你的數據出去該走那個呢? 有個優先級, 這里注意兩個網關的問題, 最好就用有線連接 

            由於是兩台電腦, 兩台電腦的防火牆都要關掉, 這樣才可以ping的通  ,

            wan口有向外ping包檢測機制, 抓WAN口的包能看到ICMP 

 

二    IPSec配置  

       配置流程:首先配置【IKE提議】 -> 然后【IKE策略】 -> 【IPSec提議】 -> 【IPSec策略】 ->最后【啟用IPSec功能】

       配置修改:對流程配置里的任意一個環節進行修改,請點擊IPSec策略重新生成配置文件

       傳輸模式和隧道模式的區別 : 這個很重要的, 涉及到NAT,在中國人那么多, 地址轉換就很必要的

          

     1. 配置文件說明: 

        具體參數說明參考:  https://www.freebsd.org/cgi/man.cgi?query=racoon.conf&sektion=5&apropos=0 英文資料, 很詳細的,最后面還有個例子教你怎么配置 

                                       常用指令說明 :  https://www.freebsd.org/cgi/man.cgi?query=setkey&sektion=8

        原版的才是最好的,我就個人觀點僅供參考 :

        racoon.conf  配置文件分析: 

log notify;    // 
log info;       //啟動后會顯示日記記錄, 這個方便調試 ,日志的等級, 等級越高方便調試, 默認值是info

remote anonymous{               // 就按字面意思翻譯, 遠端匿名主機 
  exchange_mode main;   // 交互模式,有兩種, 主模式,瘋狂模式/積極模式 區別的話看下文 
  my_identifier asn1dn;     // The type is an ASN.1 distinguished name. Ifstring is omitted,racoon(8) will get the DN fromthe Subject field in the certificate

  ca_type x509 "cacert.pem";     //這個是根證書,X.509是一種非常通用的證書格式。所有的證書都符合ITU-T X.509國際標准,
  certificate_type x509 "mycert.pem" "mykey.pem";   //這個而是本設備證書 本設備秘鑰 
  generate_policy on;                //  按名字翻譯即可, 和下面一個參數配合,能夠自動生成策略 
  passive on;                             //   被動 打開 ,這個打開就是個服務器 , 
  verify_cert on;                        //   證書檢查 ,如果不了解證書 請參考 :  http://blog.csdn.net/oldmtn/article/details/52208747  對作者表示感謝!
  proposal_check claim;           //   
  ph1id 7665;                           // 第一階段id  這個參數很重要, 兩側必須一致, 否則協商不了的
  nat_traversal on;                  // NAT穿越 , 如果不了解NAT ,那就沒辦法了....
  script "/usr/sbin/phase1-up.sh" phase1_up;          //第一階段起來了 執行的腳本, 第一階段進行的是網絡秘鑰交換  IKE 
  script "/usr/sbin/phase1-down.sh" phase1_down; //  ... 
  script "/usr/sbin/phase1-down.sh" phase1_dead;  // ...  翻譯單詞就行 起來了 ,倒下了,然后死了  ....  

  proposal {
    encryption_algorithm 3des;     // 加密算法 3des  什么是3des? 將des算法執行3次  什么是des算法? 有興趣研究下吧  
    hash_algorithm md5;               //  驗證算法 md5  這個比較常用, 只是聽到的比較多而已....
    authentication_method rsasig; // 這個參數是授權方式, 兩端選擇用什么方式進行授權 , 一般為兩種, 預共享秘鑰 證書  ,那這個是? 查下rsasig單詞吧,再分析下證書就會明白
    dh_group modp768;                 // DH組的本質是使用非對稱密鑰來加密對稱密鑰  

    lifetime time 86400 sec;            //這個翻譯即可  
  }
}
sainfo address 10.10.10.0/24 any address 192.168.10.0/24 any  // 重要概念 SA 安全通道  就表示兩個局域網之間建立隧道  
{
  remoteid 7665;                                    //和這個ph1id   有關系                                      
  pfs_group 2;
  authentication_algorithm hmac_md5;// 不解釋了...
  lifetime time 28800 sec;
  encryption_algorithm des;                 // 有沒有感覺和上面的一樣?
  compression_algorithm deflate;        //  壓縮算法 算法問題不懂 .... 
}
sainfo anonymous {                                 // 有沒有發現和上面的是一樣的呢? 這個最好還是有個, 對端的匹配不到上面的就會來匹配這個 ,備胎?
  remoteid 7665;
  pfs_group 2;
  authentication_algorithm hmac_md5;
  lifetime time 28800 sec;
  encryption_algorithm des;
    compression_algorithm deflate;

}

ipsec.conf 

  spdadd 192.168.0.0/24 192.168.1.0/24 any -P in  ipsec esp/transport//require

  spdadd 192.168.1.0/24 192.168.0.0/24 any -P out ipsec esp/transport//require 

spd : SPD 的內容用來存放IPSec 的規則,而這些規則用來定義哪些流量需要走IPSec,這些信息有目的端IP、來源端IP、只執行AH 或ESP、同時執行AH 及ESP、目的端Port、來源端Port、          走Transport 或Tunnel 模式  這個就是定義興趣流的 ,所謂興趣流就是就是我對你訪問這個地址感興趣 ,比如上面 你訪問 192.168.1.2  就在我的興趣中  ,命中興趣之后就走隧道  

        這個概念一定要先建立起來 , 隧道是單向的  就好比雙車道 , 進來的數據走一個隧道,出去的走一個隧道, 

   

 

  2 .常用指令(詳細及准確參考  -------------> https://www.freebsd.org/cgi/man.cgi?query=setkey&sektion=8)

      setkey -D   看建立狀態    

      setkey -DP  看spd  

      setkey -DF  清除策略

      setkey -FP  清除spd 

      setkey -C   手動加spd

3 . 防火牆說明 

     IPtable 的參數說明后面補上 , 

 

4 信息來源與網絡,回報給網絡 ,

  啟動的流程:
    1 通過uci生成配置文件racoon.conf
    2 增加防火牆的規則,打開端口4500 與500 ,增加策略 執行的腳本 racoon_ipsec_ipt.sh
    3 清除原有的所有策略,興趣流,停止進程,預共享秘鑰需要權限600/400,然后再把進行拉起來, 再增加策略執行的腳本是racoon_restart.sh 就是一次重啟
    4 訪問興趣流觸發隧道,兩個內網地址之間訪問

     

 

   

 

  

          

 

         

 

   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM