ubuntu10.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   www.2cto.com  
    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:  www.2cto.com   
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协商报文  www.2cto.com  
 
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状态;  www.2cto.com  
 
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第一阶段问题判断基本都是基于主模式。  www.2cto.com  
 
   故障二: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;  www.2cto.com  
 
2.   通过show cry ipsec sa查看两端SPI是否不相同;
 
3.   在两端手工清除隧道重新建立或者设置DPD解决不同步问题。
 
3.分支机构VPN配置重复
 
1.         隧道时断时连表现为当只有一个下端的时候一切正常,但当第二个或某个特定下端连接上来的时候,出现只有一个能正确建立IPsec隧道或时断时连;
 
2.         在中心VPN设备检查某个分支机构不能建立VPN隧道时却有相关的IPsec数据流;
 
3.         可以在分支机构VPN上更换网段测试或者配置使用积极模式,配置不通的标识ID。
 
以上信息仅供参考
 
 
 
摘自 dainiao01的专栏

相关内容

    暂无相关文章