一   局域网拓扑图

局域网环境搭建步骤:

(升级最新版本 ,恢复出厂设置后)

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 访问兴趣流触发隧道,两个内网地址之间访问

IPsec分析/测试/的更多相关文章

  1. DockerScan:Docker安全分析&测试工具

    DockerScan:Docker安全分析&测试工具 今天给大家介绍的是一款名叫DockerScan的工具,我们可以用它来对Docker进行安全分析或者安全测试. 项目主页 http://gi ...

  2. XSS (跨站脚本攻击) 的原理分析,测试 && 应对措施

    1 1 1 XSS (跨站脚本攻击) 的原理分析,测试 1 demo: <!DOCTYPE html> <html lang="en"> <head& ...

  3. Bika LIMS 开源LIMS集—— SENAITE的使用(分析/测试、方法)

    分析/测试项目分类(Test Category) 定义检测项目的分类,例如理化检测.微生物检测,或者按样品的维度定义,例如食品检测.水质检测等. 分析方法(Test Method) 定义实验室分析方法 ...

  4. mybatis 04: mybatis对象分析 + 测试代码简化 + 配置优化

    MyBatis对象分析 测试代码示例 package com.example.test; import com.example.pojo.Student; import org.apache.ibat ...

  5. mysql千万级测试1亿数据的分页分析测试

    本文为本人最近利用几个小时才分析总结出的原创文章,希望大家转载,但是要注明出处 http://blog.sina.com.cn/s/blog_438308750100im0e.html 有什么问题可以 ...

  6. 转:LR性能测试结果样例分析 测试结果分析

    LoadRunner性能测试结果分析是个复杂的过程,通常可以从结果摘要.并发数.平均事务响应时间.每秒点击数.业务成功率.系统资源.网页细分图.Web服务器资源.数据库服务器资源等几个方面分析,如图1 ...

  7. 工作总结--如何定位web系统前后台的bug,以及bug分析/测试感想

    对于web项目前台和后台bug定位分析:一. 系统整体了解 懒企鹅营销服务平台用的架构:web前端: Bootstrap 3.0 组件丰富,兼容性好,界面美观 Server端: jsp+Servlet ...

  8. 001Spark文件分析测试

    使用spark-1.4.1-bin-hadoop2.6进行处理,测试文件大小为3G, 测试结果: 1:统计一个文件中某个字符的个数 scala> sc.textFile("/home/ ...

  9. Mybatis+mysql批量插入性能分析测试

    前言 今天在网上看到一篇文章(后文中的文章指的就是它) https://www.jianshu.com/p/cce617be9f9e 发现了一种有关于mybatis批量插入的新方法,而且看了文章发现我 ...

随机推荐

  1. 自记录:git如何上传文档到git@osc

    前提: D盘有gitserver文件夹 双击桌面的git.exe文件,打开git命令窗口 输入cd  d: 命令进入D盘 输入cd gitserver命令进入 找到git@osc自己参与项目里的htt ...

  2. 辞职信也要玩出高big

    辞职信尊敬的各位公司领导:值此用人之际,不期请辞,实属不敬.历经四季,余以凡才,承蒙殊待,幸受公司各位领导知遇之恩,得以与诸位贤达公事.时光荏苒,吾经竭力而为,以图报效,虽幸遇领导执手相教,然资质愚钝 ...

  3. 加载ubuntu的时候卡在‘SMBus Host Controller not enabled'错误

    实验系统:ubuntu-16.04.6-server-amd64 我在VMware安装完这个系统后进入发现卡在了’SMBus Host Controller not enabled‘里,后来查过网络发 ...

  4. Tools: geos 使用指南

    1. 下载geos 2. 进入VS开发人员命令提示3.依次执行如下命令 >VCVARS32.BAT>cd D:\DevTool\geos-3.7.0>atuogen.bat>n ...

  5. Exception一自定义异常

    异常体系的根类是:Throwable Throwable: Error:   重大的问题,我们处理不了.也不需要编写代码处理.比如说内存溢出. Exception:   一般性的错误,是需要我们对编写 ...

  6. Springboot 上传文件

    @PostMapping("/upload")//springboot可以直接扫描resource下的static文件夹下的静态文件 public String upload(@R ...

  7. spring5.02版快速入门

    spring5.02版快速入门分为以下 四步, 1. 引入依赖 2. 创建beans.xml配置文件 3 创建相应的接口实现类(仅仅是快速创建,实现类不给任何方法) 4. 创建容器对象,根据id获取对 ...

  8. PHP headers_list() 函数

    定义和用法 headers_list() 函数返回已发送的(或待发送的)响应头部的一个列表. 该函数返回包含报头的数组. 语法 headers_list() 提示和注释 提示:如需确定是否已发送报头, ...

  9. django简单实现短url

    一.短url的原理 什么是短url: 简单讲就是把普通正常访问的网址,转换成比较短的网址,例如:https://www.cnblogs.com/angelyan/articles/10667354.h ...

  10. NX二次开发-删除经典工具栏UF_UI_remove_toolbar

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...