阅读内容

使用openswan在Linux下构建IPSec VPN过程

[日期:2007-12-03] 来源:Linux公社  作者:Linux


6. 重新修订/etc/ipsec.conf文件(如果你想系统启动时会自动启用连接的话)

在各网关主机上找到:

auto=add

修改为:

auto=start

好了,如此你便可以尽情享用VPN给你带来的便利了。

[color=Blue](二)Road warrior[/color]

1.用到的网络模型如下:

  left network<--------->left gateway<-------|------->laptop(linux)
(192.168.10.0/24)    (eth1:192.168.10.254            eth0:192.168.1.202             
                                  eth0:192.168.1.201              defaultGW:192.168.1.1)     
                                 defaultGW:192.168.1.1)        

2.前提要求:

    网关要有一个静态的外网IP,并要确定好网关后的子网IP地址范围;
    本地网关和laptop都已经正确安装了openswan
      网关和laptop都要有一个标识,以便在ipsec协商中区分彼此。可以是FQDN,也可以是任意编配的名字,只要能把二者区别开来即可。

3.获得双方公钥:

先获得laptop的公钥(以其为左)

#ipsec showhostkey --left

这个公钥和底下网关上的公钥都要追加至laptop以及网关的/etc/ipsec.conf文件中(但由于这次的配置中双方/etc/ipsec.conf有很大不同,故要自己想办法实现)。

然后,在网关上获得其公钥(以其为右):

#ipsec showhostkey --right

4.修改/etc/ipsec.conf,定义连接

在laptop上,你需要用编辑器打开/etc/ipsec.conf,并在其后添加如下内容。你可以根据自己的情况进行修改。

conn road
        left=%defaultroute             #如果是动态IP的话,把left指向默认网关。若是静态IP,填上,并新增一项leftnexthop=%defaultroute即可。      
        leftid=@laptop                       #标识
        leftrsasigkey=……               #此处为laptop的公钥
        right=192.168.1.201               #要拨入的网关的IP
        rightsubnet=192.168.10.0/24    #远端子网
        rightid=@vpnserver               #远程网关标识
        rightrsasigkey=……               #远程网关的公钥
        auto=add                       #连接方式,不自动启用

在远程网关上,用编辑器编辑/etc/ipsec.conf,添加如下内容(可以概据自己的情况修改)。注意,在Road Worrior方式中,left和right的指定跟net-to-net方式有很大不同。在这种方式中,left表示本地机器,right表式远程主机。

conn road
    left=192.168.1.201               #网关主机ip        
    leftid=@vpnserver                #网关主机标识
    leftsubnet=192.168.10.0/24       #子网
    leftrsasigkey=...                #
    rightnexthop=%defaultroute       #
    right=%any                       # 远程主机(laptop)的IP未知
    rightid=@laptop                  #
    rightrsasigkey=...               #远程主机(laptop)公钥
    auto=add                         #


5. 启动连接

启动Road Worrior连接要在laptop端进行

#ipsec auto --up road

若输出结果类同以下,则表示启动成功

104 "net-net" #223: STATE_MAIN_I1: initiate
106 "road" #301: STATE_MAIN_I2: sent MI2, expecting MR2
108 "road" #301: STATE_MAIN_I3: sent MI3, expecting MR3
004 "road" #301: STATE_MAIN_I4: ISAKMP SA established
112 "road" #302: STATE_QUICK_I1: initiate
004 "road" #302: STATE_QUICK_I2: sent QI2, IPsec SA established

6. 测试连接

在laptop端,ping远程网关后的任一结点进行测试,注意不要ping网关本身。

#ping 192.168.10.7

然后在网关主机上查看ESP数据包的通过情况,如果类同如下,恭喜,你成功了。

13:46:18.529865 192.168.1.201 > 192.168.1.202: ESP(spi=0x32db83e2,seq=0x154)
13:46:18.530521 192.168.1.202 > 192.168.1.201: ESP(spi=0x7e2b7039,seq=0x154)


可能大家已经注意到了,这种方式仍然只能对网关后的主机与laptop之间的数据流进行加密,而并不能保护网关本向到laptop之间的数据。

7. 修改配置,使“road”连接可以自动启动

在双方主机的/etc/ipsec.conf中,找到

auto=add

修改为:

auto=start

8. 在如上的RSA的Road Warriors中,如果有多个laptop需要拨入,则需要配置多路的Road Warrior来实现。通过区分每个laptop的公匙,以及每个连接中left/right其它参数可以使网关主机轻而易举的区别每个拨入的laptop。但如果是通过PSK的认证方式来实现这种应用,将不得不让每个laptop使用同一个密钥,这将带来极大的安全隐患。

上一页1234  GO



本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google