登录
  • 人们都希望被别人需要 却往往事与愿违
  • 欧美的精英们已经不再为生存而担忧, 不用因恐惧而说话。而中国的精英们还在为民主自由而耗尽精力甚至生命!

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

IT Benny小土豆 14322次浏览 1136字 9个评论
这篇文章在 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://dmesg.app/highload-softether.html
喜欢 (12)
分享:-)
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论(代码和日志请使用Pastebin或Gist)
取消评论

                     

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)
(9)个小伙伴在吐槽
  1. 保存数据包日志会给cpu和硬盘带来很大的负担(默认安装是开启的) ,所以我把管理HUA->日志保持设置里的安全日志和数据包日志都去掉打勾,以观后效
    光辉岁月2017-11-28 21:34 回复
    • 是的,没错,后来硬盘都满了……
      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 回复
    • 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小土豆2017-11-29 09:29
      • 哈哈 懂了,不过没用了2333,学校的开放wifi不登录的情况下只能上那几个网页,走不了流量
        鸡蛋君2017-11-30 17:43 回复
        • 是不是连接后用netstat -tunlp查看然后用kill 命令关掉VPNserver的进程?本地桥就关掉了?
          酷乐猫2019-05-21 21:23
        • 不是的哦,要改配置的,用图形和命令行都可以关
          Benny小土豆2019-05-22 12:55