ubuntu10.4使用openswan搭建ipsec基于RSA认证方式的环境搭建排错记录

来源:岁月联盟 编辑:exp 时间:2012-04-05

附上 虚拟器 加载共享文件 方式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的专栏