加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 教程 > 正文

Linux下openvpn进程异常退出如何解决

发布时间:2022-06-16 14:13:05 所属栏目:教程 来源:互联网
导读:OpenVPN是Linux下开源VPN,提供了良好的性能和友好的用户GUI,本文来看看openvpn服务多次异常退出的解决办法. 最近的openvpn服务异常退出了多次,由于当初为了排查问题记录大量的debug日志,导致出现问题的时候想定位问题很难,瞬间日志就被刷没了,进程掉了,瞬
  OpenVPN是Linux下开源VPN,提供了良好的性能和友好的用户GUI,本文来看看openvpn服务多次异常退出的解决办法.
 
  最近的openvpn服务异常退出了多次,由于当初为了排查问题记录大量的debug日志,导致出现问题的时候想定位问题很难,瞬间日志就被刷没了,进程掉了,瞬间启动、瞬间又掉了,导致很多订单丢了,由于日子文件记录了太多无用信息,不敢通过查日志来定位问题,开始大胆猜测.
 
  1.openvpn 服务器(虚拟机)的 内存不够了 因为只有 2G 内存.
 
  2.I/O过高,因为日志开启了 DEBUG 的原因,大量写日志操作.
 
  3.打开文件描述符不够,系统默认 1024.
 
  4.有人恶意攻击openvpn 服务.
 
  根据猜测的4点,开始应对.
 
  1.首选把openpvn服务器(虚拟机)内存调整到了4G,重启后发现openvpn 服务在启动后的 几分钟还是异常掉.
 
  2.把日志调整为 error,openvpn 在启动后,几分钟还是异常退出了,查看日志发现是.
 
  Feb 18 17:17:42 localhost openvpn[1219]: qn_anqiu/xxx.xxx.xxx.xx:27351 CRL: cannot read: /usr/local/cine/etc/keys/crl.pem: Too many open files (errno=24)  
  3.有上面的错误日志提示,说明猜想的 第三点是对的,执行命令:
 
  shell $> ulimit -SHn 65535
 
  在启动 openvpn 进程后,正常了没有再次退出了.
 
  4.查看日志 发现有一个 IP 每分钟都在非正常请求 openvpn 服务器,直接在 iptables 过滤掉此IP.
 
  Feb 16 13:06:16 localhost openvpn[1219]: 58.244.191.51:47374 WARNING: Bad encapsulated packet length from peer (18245), which must be > 0 and < = 1544 -- please ensure that --tun-mtu or --link-mtu is equal on both peers -- this condition could also indicate a possible active attack on the TCP link -- [Attemping restart...]
  Feb 16 13:07:21 localhost openvpn[1219]: 58.244.191.51:6043 WARNING: Bad encapsulated packet length from peer (18245), which must be > 0 and < = 1544 -- please ensure that --tun-mtu or --link-mtu is equal on both peers -- this condition could also indicate a possible active attack on the TCP link -- [Attemping restart...]   --phpfensi.com
  经过上面的修改,经过两天后 openvpn 还是异常掉了一次,经过查看日志还是老问题:
 
  Feb 18 17:17:42 localhost openvpn[1219]: qn_anqiu/xxx.xxx.xxx.xx:27351 CRL: cannot read: /usr/local/cine/etc/keys/crl.pem: Too many open files (errno=24)  
  就算打开文件描述符进程也不应该掉啊,这说明是openvpn 的 BUG,crl.pem 该文件里存的是注销的证书,如果是注销的证书验证是不能通过,openvpn服务就会拒绝连接,我目前有 800多个客户端来连接,难道是每个连接都要请求该文件没有释放吗?就算没有释放65535 个文件描述符还是不够么?
 
  为了解决问题只好修改配置文件把这个验证注销证书的参数去掉,在重启 openvpn 进程,就正常了再也没有出现过问题,具体如何产生还需要进一步观察和研究.
 
 

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读