与vpnc永久VPN连接

我需要知道如何在Centos 5.6上使用vpnc与Cisco VPNbuild立VPN连接。 我可以启动连接,但经过一段时间后,运行时进程列表中不存在vpnc进程

# pgrep vpnc 

我不知道是因为连接本身坏了还是怎么了?如果是的话,那我该如何使连接永久?

configuration文件看起来像这样

 ## generated by pcf2vpnc IPSec ID xxxx IPSec gateway xx.xx.xx.xx IPSec secret xxxxx Xauth username xxxxxx Xauth password xxxxxx 

我在这篇文章中尝试了解决scheme,但是这并没有解决问题!

任何人都可以帮助我呢?

提前致谢,

vpnc没有特别的关系,但我会提供我能想到的…

通常情况下,客户端VPN连接断开,因为整个隧道有一段时间不活动。 克服这个问题的最简单的方法就是对隧道另一端的已知设备进行ping -t

否则,如果您的vpnc进程正在closures,可能是因为VPN端点过载,或者端点正在发送另一端点认为无效的数据包,从而导致其被终止,或者vpnc表面上被破坏。 查看是否在相关的日志文件中提到了anythin。

应该指出的是,据我所知, vpnc是一个客户端工具,而不是服务/守护进程。 为您的端点使用更多面向服务的工具(甚至是便宜的硬件点对点网关/防火墙/路由器)可能更合适。 不知道基于软件的解决scheme可以做到这一点。

其余的select是脚本/编码您的进程,以便他们检查目标服务器地址和/或vpnc进程的存在,并在每个工作单元之前,如果找不到,则启动vpnc

但是,实际上,硬件设备应该用于永久连接。 你可以拿起一个基本的Linksys / Netgear / D-Link / etc设备,可以便宜地谈论基本的协议。

我已经做了一个脚本来照顾它。

Linux vpnc – 如何在vpnc中定义一个特定的tunX号码

也许你想尝试一下必要的修改:

 #!/bin/bash # Run script as # nohup ./vpn-monitor.sh /dev/null 2>&1 & vpn_clientA(){ vpnName="clientA" endpoint="10.10.10.10" # endpoint1 inside tunnel endpoint2="10.20.30.40" # endpoint2 inside tunnel count=$( ping -c 3 $endpoint | grep icmp* | wc -l ) count2=$( ping -c 3 $endpoint2 | grep icmp* | wc -l ) if [ $count -eq 0 -a $count2 -eq 0 ] # Echo reply not received. then # Ping failed echo "Ping FAILED $(date)" >> /var/log/vpnc/$vpnName.log # Sending email notification echo "Ping for $endpoint FAILED! More info /var/log/vpnc/$vpnName.log " | mail -s "VPN $vpnName failed " [email protected] # restart connection # pkill vpnc /usr/sbin/vpnc /etc/vpnc/vpn_clientA --local-port 0 >> /var/log/vpnc/$vpnName.log & else echo "Ping replied $(date)" >> /var/log/vpnc/$vpnName.log fi } while : # infinite cycle do # call function every 30 seconds vpn_clientA sleep 30 done