登录
  • 人们都希望被别人需要 却往往事与愿违
  • Java与JavaScript的关系, 如同雷锋与雷峰塔的关系。

SoftEther VPN Server 100% CPU高负载解决方案

IT那些事 Benny小土豆 1577次浏览 1136字 7个评论
这篇文章在 2016年08月16日19:28:49 更新了哦~

 


自从搭建好UDP 53 OpenVPN服务器之后,一直发现一个很奇怪的问题:

  • CPU满载,vpnserver程序占用接近100%的CPU
  • 客户端的Bytes in会以1Mbps的速度涨流量(服务器出网1Mbps)
  • 重启vpnserver,情况可能会缓解(大部分情况下是缓解了),也可能不会。
  • eth0的RX(下载)、TX(上传)存在大量流量,即使我并没使用服务器

我一直以为是SoftEther VPN Server设计上的bug,更新了最新版本的也依旧存在;开始考虑到OpenVPN性能问题,好像也没有这么严重的…

直到今天实在忍不了,问了万能的Google,看了官方论坛的讨论、troubleshooting

最后,在一个歪果仁的博客中找到了这么一句话

DO NOT enable both local bridge and SecureNAT at the same time. Packets will loop infinitly and make your server 100% CPU usage.

同时在官网的TroubleShooting中的11.1.6、11.1.7得到了High CPU load的解释,

3.7.4也有Virtual NAT的使用要点

所以问题就是,丫的别把本地桥和SecureNAT一起开启了。 :!: 客户端程序的记录里一直以1Mbps的带宽涨流量、ifconfig的网卡有流量计数也同样得到了解释。 :roll:

删了本地桥就好了。就是这么简单的办法...

原先错误的教程《SoftEther VPN Server安装手记+福利》已经修改了,对某些读者可能造成的困惑或者是损失,深表歉意。

注:本地桥性能上要略好于SecureNAT

在没找到真正原因之前,我甚至写了个脚本来监测15分钟平均负载来重启vpn服务,简直啦!不能浪费,贴出来,或许以后会用到呢!

#!/bin/bash
#15m average load
aload=0
aload=`uptime | awk '{print $11}'`
echo 15m load is $aload
if [ `expr 1 \> $aload` -eq 0 ]
then
echo !!!!!! >> /home/vpnload.log
echo `date` high load,restarting now >> /home/vpnload.log
/root/vpnserver/vpnserver stop >> /home/vpnload.log
/root/vpnserver/vpnserver start >> /home/vpnload.log
echo !!!!!! >> /home/vpnload.log
else
echo `date` 15m average load is $aload, keep it up
fi

文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://www.bennythink.com/highload-softether.html
喜欢 (3)
分享:-)
Benny小土豆
关于作者:

If you have any further questions, feel free to contact me in English or Chinese.

发表我的评论
取消评论

表情 代码 加粗 删除线 居中 斜体 链接 换行 签到

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(7)个小伙伴在吐槽
  1. 保存数据包日志会给cpu和硬盘带来很大的负担(默认安装是开启的) ,所以我把管理HUA->日志保持设置里的安全日志和数据包日志都去掉打勾,以观后效
    光辉岁月2017-11-28 21:34 回复
    • Benny小土豆
      是的,没错,后来硬盘都满了……
      Benny小土豆2017-11-28 22:33 回复
  2. 哈哈,今天才看到你的文章,我也是上个月才租的vps的(用来ssr的),请问豆大,vultr的vps会不会被禁53端口?我在一些网站上看说国外的vps无法用来免流,如果可以的话,我就不选用阿里的学生机了,毕竟才50g流量,感觉太不够用了233333333 :grin: 签到成功!签到时间:2017-11-27 23:23:05,每日打卡,生活更精彩哦~
    鸡蛋君2017-11-27 23:29 回复
    • Benny小土豆
      vultr不禁53。根据官方文档的说明
      We block several ports that are commonly abused for DDOS attacks. This includes TCP and UDP ports 17, 19, 1900. These blocks are permanent, and cannot be removed. Depending on your account, outbound 53413 UDP and SMTP (port 25) may also be blocked
      Benny小土豆2017-11-28 09:10 回复
      • 豆大,今天用你教程终于搭成功了,寝室网不是web认证,明天去教室试试,可惜没有看仔细,还是把本地网桥打开了2333,请问在哪里能把它关了啊5555
        鸡蛋君2017-11-29 00:39 回复
        • Benny小土豆
          删掉就关了~
          Benny小土豆2017-11-29 09:29
      • 哈哈 懂了,不过没用了2333,学校的开放wifi不登录的情况下只能上那几个网页,走不了流量
        鸡蛋君2017-11-30 17:43 (6天前)回复