No meu VPS (Ubuntu 14.04 - 64-bit), que possui o OpenVPN 2.3.2-server instalado, estou tendo um desempenho decepcionante. O servidor VPN usa a codificação AES-128-CBC para criptografia e não tenho firewall instalado.
O problema é que a velocidade de download / upload é baixa. Ao fazer alguns testes de velocidade, a média é de cerca de 45 Mbps. A velocidade real cairá para 20 Mbps e chegará a 50 Mbps. Ao fazer esses testes, a CPU e a carga do servidor parecem bastante baixas.
Eu tentei alterar o valor de tun-mtu no servidor e no cliente, usando diferentes cifras (blowfish etc.), aumentando o buffersize etc. Minha velocidade de download sem a conexão VPN é de 180 - 190 Mbps ( meu ISP promete 200 Mbps), meu upload é de 10 Mbps. Como você pode ver, a diferença é bastante drástica e eu gostaria de aumentar a velocidade de download o máximo possível.
Usando programas como a geração de entropia disponível, nenhum desempenho parece ser obtido. Minha entropia disponível está sempre em torno de 3000 com a atividade ativa, o que é suficiente?
O próprio servidor tem uma conexão de 1 Gbit. Um teste de download para o servidor confirma essa velocidade (em torno de 800+ Mbps). Também testei o download de um arquivo aleatório de 1 GB do servidor para um dos clientes VPN sem usar a conexão VPN, e isso me deu uma velocidade de download de 180 Mbps (meu máximo) em média.
Não consegui encontrar muita informação na internet sobre velocidades baixas / baixas de download com um servidor OpenVPN que estava ajudando. O que me preocupa é que a CPU e a carga do servidor são muito baixas (o uso da CPU é de cerca de 16% em apenas um núcleo (o OpenVPN não suporta multi / hyper-threading?) Durante testes de velocidade).
Se você quiser mais informações ou detalhes sobre minha configuração ou instalação, pergunte.
EDIT 2015-02-28:
Estou mais uma vez tentando usar um servidor OpenVPN com apenas três (3) clientes. Mais uma vez, estou enfrentando o problema em que a velocidade de download não atinge o máximo (nem mesmo a metade) da minha velocidade de conexão com a Internet nos clientes.
Eu testei a instalação do servidor OpenVPN na própria máquina host, e isso me deu bons resultados! Mas, eu preciso usar o servidor VPN em um VPS (máquina virtual) e não em uma máquina host. Ao fazer o download de um arquivo de 10 GB, posso chegar a 10 MB / s (800 Mb / s) e a uma média de 7,5 MB / s (60 Mb / s). Minha conexão de internet onde os clientes estão se conectando é uma conexão de 200 Mb / s. Ao fazer vários testes de velocidade sem uma conexão VPN, posso atingir uma média de 180 Mb / s. Ao conectar-se através do servidor VPN (no VPS!), As velocidades não chegam nem a metade da velocidade que eu deveria obter. Ao conectar-se através do servidor VPN (no HOST!), Posso alcançar até 120 Mb / s.
Ambos os servidores usam o mesmo uso de CPU ao executar os testes e ambos têm suporte a aeni na CPU. Eu fiz alguns testes de velocidade com o openssl, mas eles parecem muito bons e máx. os núcleos da CPU. Também executei o comando -n 1 cat / proc / sys / kernel / random / entropy_avail durante a execução desses testes, mas a entropia disponível não parece mudar muito ao executar um teste de download. Tanto no host quanto no VPS, é de 850 a 900.
Estou sem ideias a respeito do motivo pelo qual o (s) servidor (es) VPS diferem muito em velocidade do host. Poderia ser a interface de rede virtualizada do Qemu (qemu-kvm)?