linux下 IPSec 应用案例

 

====================    A与B主机直接相连 (相对简单)     =============================

准备工作: 

 准备2台电脑(建议linux),每台电脑配置一个虚拟机并以bridaged的模式配置虚拟机网络,如果都弄好了可以看以下内容(配置内容可以看在我之前的几篇文章)

   先来看一下2台电脑的网络配置清单:

 

     机器A1(物理机)有2个网卡 eth0 和 tap0, 还一台虚拟机记为A2有一个网卡 eth0

 

     机器B1(物理机)有2个网卡 eth0 和 tap0, 还一台虚拟机记为B2有一个网卡 eth0

 

Ip地址如下,

      机器           网卡接口                       IP/Mask

      A1                eth0                    192.168.1.11/24

      A1                tap0                    10.0.1.1/24

      A2                eth0                    10.0.1.2/24

 

      B1                eth0                    192.168.1.10/24

      B1                tap0                    10.0.2.1/24

      B2                eth0                    10.0.2.2/24

 

 

1. 安装racoon (一个专用于IPSec的工具.), 官方网站 http://ipsec-tools.sourceforge.net/

   $apt-get install racoon

 2. 在home目录下创建一个spd.txt文档,定义ipsec tunnel的配置

 

3.编辑 racoon 的配置文件

$ vi /etc/racoon/racoon.conf


 

 

4.  在 "/localhome/localuser/Bureau/ipsec"目录下创建 psk.txt

   然后权限更改

   $chmod 600 /localhome/clement/Documents/ipsec/psk.txt

           $ chdown root /localhome/clement/Documents/ipsec/psk.txt

5. 输入命令

   $setkey -f spd.txt

6.运行racoon,

   $racoon -F -d -d  /etc/racoon/racoon.conf

 

7.到此,一台主机配置完成,将另一台主机相同配置,不过把source和dest完全颠倒

 

8.如果所以配置都正确,现在我们从任意一台虚拟机 ping 另一台 虚拟机,数据包采取的IPSec协议(而不是传统的数据包)

 

 

如果你成功模拟了以上例子,有兴趣的话可以看一下如果A与B是通过另一台电脑相连的,那应该设置让从A到B的IPSec包经过C (就是B接受A的数据包,然后转发给B,而这些都也要采取IPSec协议)

====================    A与B主机通过C主机间接相连 (相对复杂)     =========================

当然要配置的文件跟上面的例子一样3个: spd.txt, psk.txt, racoon.conf

 

    机器A1(物理机)有2个网卡 eth0 和 tap0, 还一台虚拟机记为A2有一个网卡 eth0

 

     机器B1(物理机)有2个网卡 eth0 和 tap0, 还一台虚拟机记为B2有一个网卡 eth0

 

     机器C有一个网卡eth0,不需要虚拟机

 

Ip地址清单如下,

      机器           网卡接口                     IP/Mask

      A1                eth0                    192.168.1.11/24

      A1                tap0                    10.0.1.1/24

      A2                eth0                    10.0.1.2/24

 

      B1                eth0                    192.168.1.10/24

      B1                tap0                    10.0.2.1/24

      B2                eth0                    10.0.2.2/24

 

      C                  eth0                     192.168.1.12/24


以下在A主机上操作:

1. 更改文件 spd.txt

 

 

2.更改文件 psk.txt

 

3.更改 racoon.conf

 

以下在B 主机上操作:

跟A机器一样,只是在3个文件中出现A机器地址192.168.1.11 的地方换成B机器地址192.168.1.10

 

 

以下在C主机上操作:

C机器前提是已经按照了 racoon, 3个文件所在路径也跟AB相同

 

spd.txt 配置

 

racoon.conf 配置

 

spk.txt

 

 

好,到这里3台主机的IPSec配置都完成, 分别在3台电脑运行racoon

. 输入命令

   $setkey -f spd.txt

运行racoon,

   $racoon -F -d -d  /etc/racoon/racoon.conf

 

现在从A的虚拟机 A2 ping B2ip:10.0.2.1(可以在3台主机上运行 Wireshark,并监视eth0网络接口 ),如果在B机上看到收到 icmp 来自10.0.1.1 的数据包,就说明设置成功

如果不成功也不要泄气,肯定是因为某台电脑3个文件设置出问题了,因为ip太多混淆很正常

 

 

 

PS: IPSec-tools还不完善

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值