Requisitos de hardware do OpenVPN

2

Estou planejando uma nova rede. Todo o tráfego que sai desta rede será encaminhado para uma VPN, a fim de sair para a Internet em um servidor distante. Isso será feito via OpenVPN. Haverá apenas um túnel.

Estamos a ver uma ligação à Internet a alta velocidade com uma velocidade a jusante de 100 Mbit / se uma velocidade a montante de 5 Mbit / s.

Que tipo de hardware precisarei para suportar essas velocidades? Existem regras mínimas para o dimensionamento de hardware dos servidores OpenVPN?

Uma placa atômica será suficiente? Que tal um AMD Geode 800Mhz?

Obrigado antecipadamente pela sua ajuda,

    
por Antoine Benkemoun 25.06.2009 / 15:47

4 respostas

4

Eu diria que uma CPU Atom irá lidar com 100mbit de tráfego OpenVPN. Sob carga, você pode achar que um Atom introduzirá um pouco mais de latência do que uma CPU mais rápida, mas isso provavelmente não será significativo quando considerado contra a latência de links muito distantes entre o servidor e os clientes.

Alguns resultados de teste não científicos, executando dados entre meu netbook com uma CPU Atom para um servidor OpenVPN local (em uma rede de 1000mbit, mas o netbook tem apenas uma NIC de 100Mbit):

dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.43.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 91.2072 s, 11.8 MB/s
real        1m31.227s
user        0m1.792s
sys         0m25.874s
dspillett@minirant:~$ 

dspillett@minirant:~$ time dd if=/dev/zero bs=1024 count=1048576 | nc -q 0 192.168.44.1 3333
1048576+0 records in
1048576+0 records out
1073741824 bytes (1.1 GB) copied, 113.082 s, 9.5 MB/s
real        1m53.107s
user        0m1.468s
sys         0m15.337s
dspillett@minirant:~$

onde 192.168.43.1 é o servidor visto apenas através da rede local e 192.168.44.1 é a mesma máquina vista através de um link OpenVPN através dessa rede. A VPN está em modo de ponte, usando uma conexão baseada em UDP.

htop mostrou que a CPU foi taxada mais durante o teste de VPN do que as contagens de user + sys de time indicam porque time está contando apenas a atividade de CPU de dd e não as VPNs. Ele mostrou cpu0 em ~ 70% e cpu1 em ~ 30% durante o teste, o que sugere que a CPU está próxima do limite que pode transferir via OpenVPN naquele teste (que Atom era single core, mas com hyperthreading) - embora ainda gerencie para embaralhar a 9,5Mbyte / seg.

Como uma indicação da latência adicionada pela VPN (que será uma combinação de sobrecarga de dados de criptografia de trabalho da CPU e sobrecarga do método de encapsulamento), executando ping com pacotes pequenos (padrão, carga de 56 bytes):

--- 192.168.43.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8997ms
rtt min/avg/max/mdev = 0.138/0.166/0.183/0.015 ms
--- 192.168.44.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 8998ms
rtt min/avg/max/mdev = 0.544/0.614/0.860/0.091 ms

e maiores (carga útil de 2048 bytes):

--- 192.168.43.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet los
rtt min/avg/max/mdev = 0.514/0.521/0.531/0.021 ms
--- 192.168.44.1 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 0.710/0.997/1.437/0.173 ms

Obviamente, você obterá resultados diferentes com a VPN lidando com várias conexões exibindo padrões de tráfego do mundo real, portanto você mesmo poderá realizar alguns testes mais detalhados. Você pode ser capaz de extrair mais com alguns ajustes - meu conjunto OpenVPN está praticamente rodando em padrões fora da caixa.

    
por 25.06.2009 / 20:46
2

Não tenho conhecimento de quaisquer referências publicadas que não sejam alguns testes informais que algumas pessoas executaram e postaram em seus sites. Curiosamente, o código de criptografia (OpenSSL) não parece ser o mais otimizado do mundo, mas também não parece ser um porco. Um benchmark fácil para você seria configurar um servidor e cliente OpenVPN em alguns PCs em uma LAN e passar algum tempo através deles enquanto assiste a carga da CPU em ambos.

Eu posso dizer que sou capaz de saturar um link 802.11g operando a 54Mbps com tráfego criptografado sem esgotar a CPU em uma máquina Pentium II de 400Mhz que é o servidor OpenVPN na minha LAN doméstica. Isso me faz pensar que o Geode provavelmente poderia fazer isso também.

O OpenSSL (e, portanto, o OpenVPN) também suporta algumas soluções de descarregamento de hardware. Uma solução de baixo custo é o "cadeado" Via, incluído em alguns chipsets da Via. Isso também pode ser uma maneira de manter seus requisitos de CPU baixos. Veja:

por 25.06.2009 / 16:17
1

Eu configurei 2 servidores OpenVPN e os dois estão funcionando bem, eu fiz 3 clientes para cada um deles e eles precisam, estar trabalhando bem.

Um é baseado no RasPi 3 com MicroSD muito rápido de 32Gb e chave USB de 32Gb adicional, até aí tudo bem.

O outro é um laptop com 4Gb Ram e 500Gb HD rodando o UBUNTU, este também está funcionando bem.

Minha conclusão é essa; Se você não tem um monte de clientes no meu caso 3, você realmente não precisa de muita besta de processamento de números, portanto, muito pouco custo em configurá-lo.

A velocidade de download da minha Internet é de 60Mb / se a velocidade de upload é de 16 Mb / s, por isso tenho 3 clientes, ou seja, ~ 5Mb / s cada.

Felicidades

Siamak

    
por 10.08.2017 / 12:01
0

Eu recomendaria um VIA Nano. Com uma via VIA Nano L2200 @ 1600MHz eu sou capaz de empurrar 330 Mbits. O VIA nano está na mesma faixa de preço que o Atom e possui suporte a hardware AES. Para obter um desempenho como esse, você precisará alterar o blowfish do AES e incluir o seguinte no arquivo openssl.conf:

openssl_conf = openssl_def
[openssl_def]
engines = openssl_engines
[openssl_engines]
padlock = padlock_engine
[padlock_engine]
default_algorithms = ALL

Aqui está um link para um exemplo de uma combinação de mobo / CPU: link

    
por 31.10.2009 / 15:42