Eu tenho tentado melhorar meu desempenho OpenVPN e esta é minha configuração atual:
cat /etc/openvpn/server.conf
port 443 #- port
proto tcp #- protocol
dev tun
#tun-mtu 1500
tun-mtu-extra 32
#mssfix 1450
tun-mtu 64800
mssfix 1440
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login
#plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf #- Uncomment this line if you are using FreeRADIUS
client-to-client
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3
CLIENTE:
client
dev tun
proto tcp
remote 18.4.26.8 443
resolv-retry infinite
nobind
tun-mtu 64800
tun-mtu-extra 32
mssfix 1440
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3
Fiz algumas alterações no MTU e no MSSFIX a partir do que encontrei na web.
Há alguma alteração no kernel que eu possa fazer? Esta é uma caixa do CentOS 6.x. Encontrei algumas coisas para o BSD, mas nada funcionou no Linux.
Sei que o TCP é mais lento que o UDP, mas preciso ser parecido com o tráfego SSL para passar por um firewall na rede.
Outras idéias?
PING para outro cliente na rede na qual eu RDP.
Pinging 10.8.0.6 with 32 bytes of data:
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=565ms TTL=128
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=782ms TTL=128
Ping statistics for 10.8.0.6:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 152ms, Maximum = 782ms, Average = 412ms
Existem maneiras de melhorar o desempenho ou eliminar alguns ping?
EDIT: Definir a configuração de fragmentação ajudaria alguns?
I know TCP is slower then UDP but I need to be able to look like SSL traffic to get thru a firewall on the network.
Por que não pedir ao administrador da rede que abra a porta openvpn no trabalho? Em uma nota relacionada, esta questão como está pode violar os termos das Perguntas frequentes queLicensing, legal advice, and *circumvention of security or policy*
eu esclareceria.Respostas:
Resposta curta: desativar
comp-lzo
.Percebo que este é um post antigo, mas também sofria com o fraco desempenho do OpenVPN. Eu tinha tentado de tudo, ajustando o MTU, mudando os buffers snd e rcv, mss clamping, o que você quiser. A carga da CPU era insignificante.
Por capricho, desabilitei a compactação (removida
comp-lzo
do cliente e do servidor) e o desempenho aumentou 2-4x.Assim, com
comp-lzo
ativado, meu desempenho máximo foi em torno de 25-30 Mbit / s, e sem ele atingi 120 Mbit / s (velocidade da minha conexão com a Internet).O servidor é um Xeon E5-2650, o cliente é o Core i5-3320M. Ambos executando o OpenVPN 2.3.10, AES-256-CBC, SHA512. Meu Chromebook Intel também aumentou a velocidade da Internet. O desempenho dobrou nos meus clientes Android (14 Mbit / s -> 30 Mbit / s), correspondendo à velocidade do túnel IKEv2.
fonte
O TCP será / muito / mais lento que o UDP, causado pelo problema de TCP sobre TCP . Basicamente, o TCP depende de quedas / congestionamento de pacotes para identificar parâmetros de conexão, e suas conexões TCP-sobre-OpenVPN não apresentam nenhuma delas. Mas você disse que não é uma opção.
Você também pode tentar a
mtu-disc
opção de descobrir automaticamente as configurações ideais da MTU para sua conexão. Existem pequenas diferenças em locais diferentes, como a configuração MTU do OpenVPN, incluindo o tamanho do cabeçalho Ethernet. [ 1 ]Sua
tun-mtu
configuração é enorme, pois um pacote de 65 KB terá muitos problemas de latência na Internet (os pacotes IPv4 jumbo têm cerca de 9000 bytes de tamanho e funcionam principalmente em redes locais). Tente algo abaixo de 1460, como 1300, para ver se o problema é MTU.fonte
Mesmo que isso seja um pouco tarde, você pode tentar o que eu fiz:
remova todas as opções relacionadas a mss, mtu etc.
faça uma varredura de porta em sua instituição e selecione uma porta UDP, geralmente 53 portas GRE / 123 NDP devem estar abertas:
Adicione estas linhas à sua configuração de servidor (ref aqui )
Eu não entendo completamente essas configurações, mas elas certamente ajudaram, alguns dizem que ajuda muito, na minha experiência, aumentou minha taxa de transferência em +/- 30%
Inicie o servidor em uma dessas portas e você deve estar pronto: P
Espero que isto ajude!
fonte
sndbuf e rcvbuf corrigem uma configuração ANTIGA no linux / unix / openvpn desde os dias de discagem para otimizar as configurações mais lentas, mesmo que o sistema operacional seja otimizado para as mais rápidas
sndbuf / rcvbuf definido como 0 simplesmente usará as configurações do sistema operacional
push é usado para garantir que o cliente esteja definido corretamente, mas é necessário um valor.
fonte