Parâmetros de configuração de VPN

Durante a configuração de uma conexão OpenVPN de um projeto, percebi que havia vários parâmetros dentro do arquivo aos quais eu desconhecia a utilidade, para tanto, fui a uma longa pesquisa na Internet e percebi que é muito difícil encontrar artigos explicativos desses parâmetros. Assim, juntei tudo que consegui encontrar e os que já conhecia, neste artigo.

[ Hits: 23.725 ]

Por: Bruna Pierri em 12/08/2013


Parâmetros



Parâmetros para servidor e cliente

mode server :: introduzido a partir da versão 2.0. Nas versões anteriores, tínhamos apenas o modo P2P (point-to-point). Aqui ele é utilizado para tornar o nosso servidor um servidor multi-client, é obrigatório também, quando utilizamos alguns parâmetros, como "ifconfig-pool".

tls-server :: habilita conexões SSL/TLS e assume ser o servidor, ajuda a bloquear ataques DDoS e Flooding na porta usada pelo OpenVPN.

local 0.0.0.0 :: IP que o OpenVPN utilizará para conexão externa.

port 5000 :: porta usada pelos clientes para conexão com o servidor, pode ser outra porta que esteja aberta para este tipo de comunicação.

proto udp :: protocolo usado na conexão, pode ser UDP ou TCP.

dev tun :: dispositivo que será criado, pode ser TAP ou TUN. O TAP permite propagação de broadcast NetBIOS (utilize este se a rede for Microsoft). O TUN, por outro lado, não permite, seria necessário possuir um servidor Windows para localizar as máquinas Windows pelo nome.

tun-mtu 1500 :: define o tamanho máximo em bytes que podem ser enviados.

tun-mtu-extra 32 :: este parâmetro controla o dimensionamento de buffer do OpenVPN, para que não haja sobrecarga de transmissão associado ao uso de um valor maior.

client-cert-not-required :: não exige o certificado do cliente.

topology net30 :: topologia utilizada pelo OpenVPN. "net30" é o padrão atual, que é apoiado pelas atuais versões. Isso informa ao servidor OpenVPN para distribuir 30 sub-redes para conectar clientes. A opção "p2p" define um ponto-a-ponto semântico. Este foi previamente conhecido na versão 2 "ifconfig-pool-linear". O problema com esta opção, é que ela não funciona com clientes Windows, por isso a sua aplicabilidade foi limitada.

mssfix 1400 :: utilizado para melhorar aplicações remotas.

user nobody :: usuário que o OpenVPN vai utilizar.

group nogroup :: grupo que o OpenVPN vai utilizar.

client-config-dir /etc/openvpn/clientes :: arquivo com as configurações dos clientes.

secret chave.key :: define a localização do arquivo, onde é marcada a chave da autenticação da VPN.

ca ca.crt :: define a localização do certificado de autoridade, este arquivo será utilizado pelas máquinas clientes.

cert matriz.crt :: define a localização do certificado do servidor. Deverá ser gerado um para cada cliente.

key matriz.key :: define a localização da chave de criptografia do servidor. Deverá ser gerada uma para cada cliente.

dh dh1024.pem :: define os parâmetros Diffie-Hellman, criptografia para troca de chaves.

tls-auth ta.key 0 :: define a localização do arquivo de chave compartilhada usada pelo TLS server, é uma camada a mais de segurança a ser usada, que habilita o controle de conexões. Opção 0 para server e 1 para client.

duplicate-cn :: este parâmetro permite o uso de um mesmo certificado por duas conexões.

cipher AES-128-CBC :: tipo de criptografia usada.

persist-key :: garante a disponibilidade das chaves, caso o serviço da VPN seja reiniciado.

persist-tun :: garante a disponibilidade da interface TUN caso a VPN seja reiniciada.

server 10.0.0.0 255.255.255.0 :: rede que será utilizada pelo OpenVPN, caso seja utilizado e não seja definido um IP para tun, o servidor irá utilizar o primeiro IP.

ifconfig 10.0.0.1 255.255.255.0 :: define um IP para a interface tun.

push "route 192.168.0.0 255.255.255.0 10.0.0.1&::8243; :: faz o roteamento do IP local para o IP do túnel. Utilizar apenas em caso de redes diferentes, o parâmetro "push" força o cliente a pegar a configuração.

push "dhcp-option DNS 192.168.0.1" :: IP do servidor DNS, o parâmetro "push" força o cliente a pegar a configuração.

push "dhcp-option WINS 192.168.0.1" :: IP do servidor WINS, para redes que contenham servidores Windows, o parâmetro "push" força o cliente a pegar a configuração.

route 10.0.0.0 255.255.255.0 :: roteamento do cliente.

ifconfig-pool 10.0.0.2 10.0.0.100 255.255.255.0 :: define o range de endereços IPs que serão utilizados pelas conexões dos clientes. Se usado o valor server, não precisa deste parâmetro.

ping 10 :: envia um pacote ping a cada 10 segundos. Este parâmetro deve ser colocado no servidor e no cliente. O ping é criptografado quanto utilizado TLS.

ping-restart 120 :: envia um sinal SIGUSR1 restart após o tempo determinado. Necessário apenas no servidor.

ping-timer-rem :: habilita o ping conforme programado no parâmetro keepalive.

keepalive 10 120 :: o primeiro valor é o intervalo de ping, o segundo se refere ao tempo em que a VPN é reiniciada. Este parâmetro monitora a conexão entre servidor e cliente.

reneg-sec 0 :: define o tempo em segundos que será refeita a conexão. Recomendável deixar em "0" para desabilitar, assim, o cliente não tem que ficar digitando a senha a todo momento.

client-to-client :: permite que os clientes se comuniquem entre si sem precisar de um outro túnel.

ifconfig-pool-persist ipp.txt :: define o arquivo onde serão armazenados os IPs utilizados pelos clientes. Assim, os IPs serão sempre os mesmos.

client-config-dir ccd :: define onde ficarão as configurações individuais de cada cliente.

max-clients 10 :: define um número máximo de clientes conectados simultaneamente.

auth-nocache :: não efetua cache de autenticação.

fast-io :: modo UDP sem bloqueio.

mlock :: otimização no uso da memória.

inactive 3600 :: define um tempo em segundos para que as tentativas de conexão sejam feitas.

float :: utilizado em caso de IP dinâmico, o túnel continua aberto mesmo que o IP seja alterado.

comp-lzo :: habilita compressão no link VPN via LZO.

status /var/log/openvpn-status.log :: define o local onde será armazenado o log de status das conexões

log /var/log/openvpn.log :: local para onde o verb irá enviar a saída.

log-append /var/log/openvpn.log :: local onde está armazenado o log da VPN.

verb 6 :: verbose mode, define o nível de log, os valores podem ir de 0 até 11:
  • 0 :: silencioso, só gera log de erros fatais.
  • 3 :: razoável, recomendável.
  • 5 e 6 :: ajudam a resolver problemas de conexões, traz caracteres W e R.
  • 9 para cima :: utilizado para descobrir erros quando a VPN não sobe.

mute 20 :: desabilita mensagens de log repetidas.

Parâmetros exclusivos para cliente

client :: especifica que esta configuração é de um cliente.

ns-cert-type server :: informa que o certificado é autoassinado.

tls-client :: habilita conexões TLS.

nobind :: não especifica uma porta local para o cliente se conectar.

remote 200.200.200.200 :: IP fixo do servidor ao qual deseja se conectar.

pull :: parâmetro utilizado para puxar as configurações do servidor.

remote-cert-tls server :: certificado remoto com protocolo TLS utilizado para permitir acesso do cliente ao servidor.

resolv-retry infinite :: define se o cliente continuará a tentar a conexão ou não com o servidor. Valor "0" para desabilitar.

   

Páginas do artigo
   1. Parâmetros
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

JMeter - Saiba como testar o desempenho dos principais serviços de rede

Acesso remoto entre GNU/Linux e Windows

Cliente Nagios no Windows - Instalação e Configuração

DHCP com controle de IP e compartilhamento no Debian Squeeze

Testando velocidade entre equipamentos Ubiquiti

  
Comentários
[1] Comentário enviado por JJSantos em 13/08/2013 - 21:54h

Muito bom.

[2] Comentário enviado por MarceloTheodoro em 15/08/2013 - 16:41h

Esses artigos que explicam todos os parâmetros são ótimos para aprender a configurar qualquer serviço.
Muito bom ;)

[3] Comentário enviado por renatoamorim em 21/11/2013 - 00:26h

Parabéns!

[4] Comentário enviado por mbrainiac em 29/01/2014 - 18:56h

Congratulations Bruna!

Adorei, queria ter visto antes seu artigo, me ajudaria muito.



Seu artigo é muito bom.

O ambiente que montei era o seguinte

1 Debian 7 com virtual box e nele uma MV Debian com o Server e internet por 3G (Claro)


2 Debian 7 com virtual box e uma MV com o DEbian 7 cliente internet vivo dsl (antiga speedy) e roteador D-link 524 DI


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts