这篇文章在 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一起开启了。
删了本地桥就好了。就是这么简单的办法...
原先错误的教程《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