![](https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Openvpn%E9%AB%98%E5%BC%BA%E5%BA%A6%E5%8A%A0%E5%AF%86%E4%BC%A0%E7%BB%9F%E5%8A%A0%E5%AF%86.png/800px-Openvpn%E9%AB%98%E5%BC%BA%E5%BA%A6%E5%8A%A0%E5%AF%86%E4%BC%A0%E7%BB%9F%E5%8A%A0%E5%AF%86.png?20210710064751)
Esse artigo irá ser baseado na página oficial do openvpn.net. Sim, não há nada mais seguro do que seguir a documentação oficial.
Antes de tudo, vamos ver o que é uma VPN,
VPN é um acrônimo(abreaviação) para Virtual Private Network ou, em português, Rede Privada Virtual. A função de uma vpn é fornecer ao usuário privacidade e segurança enquanto esse navega pela internet.
Até hoje, a internet que temos não é segura. Quando a internet foi criada não havia preocupação com segurança, o foco até então era praticamente em deixar a conectividade da internet sem cair, manter a conexão.
categoriaoutros
Veja mais em: O que É uma VPN e Quando Usar?
Sobre o OpenVPN
Segundo a página openvpn.net:
O OpenVPN é uma solução SSL VPN de código aberto com todos os recursos que acomoda uma ampla variedade de configurações, incluindo acesso remoto, VPNs site a site, segurança Wi-Fi e soluções de acesso remoto em escala empresarial com balanceamento de carga, failover e controles de acesso refinados. Partindo da premissa fundamental de que a complexidade é inimiga da segurança, o OpenVPN oferece uma alternativa econômica e leve a outras tecnologias de VPN, bem adaptada para os mercados de PME e empresas.
O modelo de segurança OpenVPN é baseado em SSL, o padrão da indústria para comunicações seguras via internet. O OpenVPN implementa extensão de rede segura OSI camada 2 ou 3 usando o protocolo SSL/TLS, oferece suporte a métodos de autenticação de cliente flexíveis baseados em certificados, cartões inteligentes e/ou autenticação de 2 fatores e permite políticas de controle de acesso específicas de usuários ou grupos usando regras de firewall aplicado à interface virtual VPN. O OpenVPN não é um proxy de aplicativo da web e não opera por meio de um navegador da web.
Requisitos de instalação e preparação
- Certifique-se de que seu servidor pode acessar a Internet.
- Você precisa de um sistema operacional Linux compatível com acesso root. Poderá usar seu próprio usuário desde que o use com sudo. Você pode se conectar diretamente pelo console ou por meio de uma sessão SSH usando uma ferramenta como o PuTTY.
- Certifique-se de que seu servidor tenha a hora e a data corretas, necessárias para a geração e verificação do certificado, bem como para implementar a autenticação multifator.
- É recomendado instalar o servidor Openvpn atrás de um firewall como parte de uma abordagem de segurança em camadas. Encaminhe as portas TCP 443, TCP 943, TCP 945 e UDP 1194 da Internet pública para o endereço privado do Access Server atrás do firewall.
- Verifique se a resolução DNS funciona corretamente. Teste fazendo ping em um domínio, como www.google.com, para verificar se o servidor o resolve para um endereço IP.
Instalando o Openvpn no Debian, Ubuntu e Derivados
O Debian já vem com um pacote disponível em seu repositório. Para instalar o openvpn basta executarmos, apt update e apt install openvpn
maria@debian11VM:~$ sudo apt update -y
e
maria@debian11VM:~$ sudo apt install openvpn -y
Determinando se Devemos Usar uma VPN Roteada ou em Bridge
No geral, o openvpn roteada é provavelmente uma escolha melhor para a maioria das pessoas, pois é mais eficiente e fácil de configurar (no que diz respeito à própria configuração do OpenVPN) do que a ponte. O roteamento também fornece uma maior capacidade de controlar seletivamente os direitos de acesso com base no cliente específico.
A página openvpn recomenda usar a vpn com roteamento,
usar o roteamento, a menos que você precise de um recurso específico que exija ponte, como:
- a VPN precisa ser capaz de lidar com protocolos não IP, como IPX,
- você está executando aplicativos na VPN que dependem de transmissões de rede (como jogos de LAN) ou
- você gostaria de permitir a navegação de compartilhamentos de arquivos do Windows na VPN sem configurar um servidor Samba ou WINS.
Numeração de sub-redes privadas
A configuração de uma VPN geralmente envolve a vinculação de sub-redes privadas de diferentes locais. A Internet Assigned Numbers Authority (IANA) reservou os seguintes três blocos do espaço de endereço IP para internets privadas (codificados em RFC 1918):
10.0.0.0 | 10.255.255.255 | (10/8 prefixo) |
172.16.0.0 | 172.31.255.255 | (172.16/12 prefixo) |
192.168.0.0 | 192.168.255.255 | (192.168/16 prefixo) |
Mas é importante selecionar endereços que minimizem a probabilidade de conflitos de endereço IP ou sub-rede, como conflitos de sites diferentes na VPN usando a mesma numeração de sub-rede LAN, ou conexões de acesso remoto de sites que usam sub-redes privadas que entram em conflito com suas sub-redes VPN.
O site openvpn cita um exemplo,
Por exemplo, suponha que você use a popular sub-rede 192.168.0.0/24 como sua sub-rede LAN privada. Agora você está tentando se conectar à VPN de um cibercafé que está usando a mesma sub-rede para sua LAN WiFi. Você terá um conflito de roteamento porque sua máquina não saberá se 192.168.0.1 se refere ao gateway WiFi local ou ao mesmo endereço na VPN.
A melhor solução é evitar o uso de 10.0.0.0/24 ou 192.168.0.0/24 como endereços de rede LAN privada. Em vez disso, use algo que tenha menor probabilidade de ser usado em um café, aeroporto ou hotel com WiFi, de onde você espera se conectar remotamente. Os melhores candidatos são sub-redes no meio do vasto netblock 10.0.0.0/8 (por exemplo, 10.66.77.0/24).
Configurando sua própria Autoridade de Certificação(CA) e gerando certificados e chaves para um servidor OpenVPN e vários clientes
A primeira etapa na construção de uma configuração do OpenVPN 2.x é estabelecer uma PKI(infraestrutura de chave pública). A PKI é composta por:
- um certificado separado (também conhecido como chave pública) e chave privada para o servidor e cada cliente, e
- um certificado mestre de Autoridade de Certificação(CA) e chave que é usado para assinar cada um dos certificados de servidor e cliente.
O OpenVPN oferece suporte à autenticação bidirecional baseada em certificados, o que significa que o cliente deve autenticar o certificado do servidor e o servidor deve autenticar o certificado do cliente antes que a confiança mútua seja estabelecida.
Tanto o servidor quanto o cliente autenticarão um ao outro verificando primeiro se o certificado apresentado foi assinado pela autoridade de certificação mestre(CA) e, em seguida, testando as informações no cabeçalho do certificado agora autenticado, como o nome comum(CN) do certificado ou o tipo de certificado(cliente ou servidor).
Segundo o site openvpn.net,
Este modelo de segurança possui vários recursos desejáveis do ponto de vista da VPN:
- O servidor só precisa de seu próprio certificado/chave — ele não precisa conhecer os certificados individuais de cada cliente que possa se conectar a ele.
- O servidor aceitará apenas clientes cujos certificados foram assinados pelo certificado mestre da CA (que geraremos a seguir). E como o servidor pode realizar essa verificação de assinatura sem precisar acessar a própria chave privada da CA, é possível que a chave da CA (a chave mais sensível de toda a PKI) resida em uma máquina completamente diferente, mesmo sem uma conexão de rede .
- Se uma chave privada for comprometida, ela pode ser desativada adicionando seu certificado a uma CRL (lista de revogação de certificados). A CRL permite que os certificados comprometidos sejam seletivamente rejeitados sem exigir que toda a PKI seja reconstruída.
- Se uma chave privada for comprometida, ela pode ser desativada adicionando seu certificado a uma CRL (lista de revogação de certificados). A CRL permite que os certificados comprometidos sejam seletivamente rejeitados sem exigir que toda a PKI seja reconstruída.
- O servidor pode impor direitos de acesso específicos do cliente com base em campos de certificado incorporados, como o Nome comum.
Observe que os relógios do servidor e do cliente precisam estar praticamente sincronizados ou os certificados podem não funcionar corretamente.
Instalando easyrsa3 para Gerar certificado e a chave mestre da Autoridade de Certificação (CA)
Atenção: A melhor maneira de criar uma PKI para OpenVPN é separar seu dever de CA de cada servidor e cliente. Idealmente, a CA deve estar em um ambiente seguro (o que quer que isso signifique para você). A perda/roubo da chave da CA destrói a segurança de toda a PKI.
Acesse a página https://github.com/OpenVPN/easy-rsa e baixe o easyrsa. Vamos extrair o arquivo baixado e criando a pasta /easy-rsa3.
Acesse usando cd a pasta /easy-rsa3/easy-rsa-master/easyrsa3
#1 agora execute sudo ./easyrsa init-pki para iniciarmos a estrutura de chave pública(PKI)
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa init-pki Notice ------ 'init-pki' complete; you may now create a CA or requests. Your newly created PKI dir is: * /easy-rsa3/easy-rsa-master/easyrsa3/pki * Using Easy-RSA configuration: /easy-rsa3/easy-rsa-master/easyrsa3/vars * The preferred location for 'vars' is within the PKI folder. To silence this message move your 'vars' file to your PKI or declare your 'vars' file with option: --vars=<FILE> * Using x509-types directory: /easy-rsa3/easy-rsa-master/easyrsa3/x509-types
#2 execute sudo ./easyrsa build-ca para criarmos a CA.
Coloque uma senha quando solicitado e dê um nome para a CA. Eu coloquei o nome de OpenVPN-CA
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa build-ca * Using Easy-RSA configuration: /easy-rsa3/easy-rsa-master/easyrsa3/vars * The preferred location for 'vars' is within the PKI folder. To silence this message move your 'vars' file to your PKI or declare your 'vars' file with option: --vars=<FILE> * Using SSL: openssl OpenSSL 1.1.1n 15 Mar 2022 Enter New CA Key Passphrase: Confirm New CA Key Passphrase: ..............................+++++ ...........+++++ You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]:OpenVPN-CA Notice ------ CA creation complete. Your new CA certificate is at: * /easy-rsa3/easy-rsa-master/easyrsa3/pki/ca.crt
Observe que na sequência acima, a maioria dos parâmetros consultados foram padronizados(retirados) para os valores definidos nos arquivos vars ou vars.bat .
Também nos avisa que o certificado da CA é /easy-rsa3/easy-rsa-master/easyrsa3/pki/ca.crt
Gerar certificado e chave para o servidor OpenVPN
Em seguida, geraremos um certificado e uma chave privada para o servidor. No Linux/BSD/Unix. Execute sudo ./easyrsa build-server-full debian11VM
Abaixo, podemos usar nopass para não sermos solicitados a criar uma senha.
Quando o Common Name(Nome comum) for solicitado, digite “server”.
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa build-server-full debian11VM
Como na etapa anterior, a maioria dos parâmetros pode ser padronizada.
Nas linhas exibidas, preste atenção para o local das chaves,
- Solicitação de par de chaves e certificado concluída. Seus arquivos são:
- req: /easy-rsa3/easy-rsa-master/easyrsa3/pki/reqs/debian11VM.req
- key: /easy-rsa3/easy-rsa-master/easyrsa3/pki/private/debian11VM.key
- Certificado criado em
- /easy-rsa3/easy-rsa-master/easyrsa3/pki/issued/debian11VM.crt
- arquivo .inline criado
- /easy-rsa3/easy-rsa-master/easyrsa3/pki/inline/debian11VM.inline
Gerando certificados e chaves para 3 clientes
A geração de certificados de cliente é muito semelhante à etapa anterior. Execute sudo ./easyrsa build-client-full cliente01
Repetiremos o comandoa cima 3 vezes
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa build-client-full cliente01
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa build-client-full cliente02
maria@debian11VM:/easy-rsa3/easy-rsa-master/easyrsa3$ sudo ./easyrsa build-client-full cliente03
Preste atenção aos arquivos gerados,
- Solicitação de par de chaves e certificado concluída. Seus arquivos são:
- req: /easy-rsa3/easy-rsa-master/easyrsa3/pki/reqs/cliente01.req
- key: /easy-rsa3/easy-rsa-master/easyrsa3/pki/private/cliente01.key
- Certificado criado em
- /easy-rsa3/easy-rsa-master/easyrsa3/pki/issued/cliente01.crt
- arquivo .inline criado
- /easy-rsa3/easy-rsa-master/easyrsa3/pki/inline/cliente01.inline
Gerando parâmetros Diffie Hellman
Os parâmetros Diffie Hellman devem ser gerados para o servidor OpenVPN. Execute sudo ./easyrsa gen-dh
Gerando um “HMAC Firewall” para Segurança Extra
Para termos uma segurança extra contra ataques DoS e UDP port Flooding, vamos criar um Firewall HMAC. Execute
sudo openvpn --genkey tls-auth ta.key
Arquivos de Chaves
Agora encontraremos nossas chaves e certificados recém-gerados no subdiretório keys . Aqui está uma explicação dos arquivos relevantes:
Nome de Arquivo | Necessário Para | Propósito | Secreto |
ca.crt | servidor + todos clientes | Certificado Raiz da CA | NÃO |
ca.key | Apenas o servidor CA que assinará as chaves. | Chave Raiz da CA | SIM |
dh{n}.pem | Apenas Servidor | Parâmetros Diffie Hellman | NÃO |
server.crt | Apenas Servidor | Certificado do Servidor | NÃO |
server.key | Apenas Servidor | Chave do Servidor | SIM |
cliente1.crt | Apenas cliente1 | Certificado Cliente1 | NÃO |
cliente1.key | Apenas cliente1 | Chave Cliente1 | SIM |
cliente2.crt | Apenas cliente2 | Certificado Cliente2 | NÃO |
cliente2.key | Apenas cliente2 | Chave Cliente2 | SIM |
cliente3.crt | Apenas cliente3 | Certificado Cliente3 | NÃO |
cliente3.key | Apenas cliente3 | Chave Cliente3 | SIM |
ta.key | servidor e clientes | segurança adicional | SIM |
A etapa final no processo de geração de chaves é copiar todos os arquivos para as máquinas que precisam deles, tomando cuidado para copiar arquivos secretos por um canal seguro. Você pode dizer: “Opa! Espere! Não deveria ser possível configurar o PKI sem um canal seguro pré-existente? Você não tinha dito acima que o correto é ter um servidor dedicado para CA e gerar as chaves em seus respectivos servidores? Mas aqui você gerou tudo em um só servidor.”
No exemplo acima, por uma questão de brevidade, geramos todas as chaves privadas no mesmo local. Com um pouco mais de esforço, poderíamos ter feito isso de maneira diferente. Por exemplo, em vez de gerar o certificado e as chaves do cliente no servidor, poderíamos fazer com que o cliente gerasse sua própria chave privada localmente e, em seguida, enviasse uma solicitação de assinatura de certificado(CSR) para a máquina de assinatura de chaves. Por sua vez, a máquina de assinatura de chave poderia ter processado o CSR e devolvido um certificado assinado ao cliente. Isso poderia ter sido feito sem exigir que um arquivo .key secreto saísse do disco rígido da máquina em que foi gerado. Faremos isso em um outro post e deixaremos aqui o link. Mas, para sermos suscintos, rápidos, vamos continuar assim. 🙂
Criando arquivos de Configuração para Servidor e Clientes
Arquivos de Exemplo
É melhor usar os arquivos de configuração de exemplo do OpenVPN como ponto de partida para sua própria configuração. Esses arquivos também podem ser encontrados em
- o diretório sample-config-files da distribuição de origem do OpenVPN
- No Debian, há a pasta /usr/share/doc/openvpn/examples/sample-config-files/
- o diretório sample-config-files em /usr/share/doc/packages/openvpn ou /usr/share/doc/openvpn se você instalou a partir de um pacote RPM ou DEB
- Menu Iniciar -> Todos os programas -> OpenVPN -> Arquivos de configuração de exemplo do OpenVPN no Windows
Em sistemas operacionais Linux, BSD ou semelhantes a unix, os arquivos de configuração de amostra são denominados server.conf e client.conf. No Windows, eles são nomeados server.ovpn e client.ovpn.
Editando o Arquivo de Configuração do Servidor
Vou copiar o arquivo de exemplo para a pasta /etc/openvpn/server
cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server/
Acesse a pasta /etc/openvpn
cd /etc/openvpn/
Agora, copiamos os arquivos para a pasta /etc/openvpn/server também
cp /easy-rsa3/easy-rsa-master/easyrsa3/pki/ca.crt ./server/ cp /easy-rsa3/easy-rsa-master/easyrsa3/pki/dh.pem ./server/ cp /easy-rsa3/easy-rsa-master/easyrsa3/pki/private/debian11VM.key ./server/ cp /easy-rsa3/easy-rsa-master/easyrsa3/pki/issued/debian11VM.crt ./server/
Abra o arquivo de exemplo
vim ./server/server.conf
E altere as seguintes linhas conforme a seguir,
ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/debian11VM.crt key /etc/openvpn/server/debian11VM.key dh /etc/openvpn/server/dh.pem
Poderá agora iniciar o servidor openvpn,
openvpn --config /etc/openvpn/server/server.conf
Vamos acrescentar algumas explicações
O arquivo de configuração de servidor de amostra é um ponto de partida ideal para uma configuração de servidor OpenVPN. Ele criará uma VPN usando uma interface de rede TUN virtual (para roteamento), escutará as conexões do cliente na porta UDP 1194 (número da porta oficial do OpenVPN) e distribuirá endereços virtuais para conectar os clientes da sub-rede 10.8.0.0/24.
Antes de usar o arquivo de configuração de amostra, você deve primeiro editar os parâmetros ca, cert, key e dh para apontar para os arquivos gerados na seção PKI acima, conforme já fizemos.
Neste ponto, o arquivo de configuração do servidor pode ser usado, mas você ainda pode querer personalizá-lo ainda mais:
- Se você estiver usando Ethernet bridging, deverá usar server-bridge e dev tap em vez de server e dev tun.
- Se você deseja que seu servidor OpenVPN escute em uma porta TCP em vez de uma porta UDP, use proto tcp em vez de proto udp(se você deseja que o OpenVPN escute em uma porta UDP e TCP, execute duas instâncias OpenVPN separadas).
- Se você quiser usar um intervalo de endereço IP virtual diferente de 10.8.0.0/24, modifique a diretiva server. Lembre-se de que esse intervalo de endereço IP virtual deve ser um intervalo privado que não é usado atualmente em sua rede.
- Remova o comentário da diretiva client-to-client(cliente para cliente) se desejar que os clientes conectados possam se comunicar pela VPN. Por padrão, os clientes só poderão acessar o servidor.
- Se você estiver usando Linux, BSD ou um sistema operacional semelhante ao Unix, poderá melhorar a segurança removendo os comentários das diretivas user nobody e group nobody.
Se você deseja executar várias instâncias do OpenVPN na mesma máquina, cada uma usando um arquivo de configuração diferente, é possível se você:
- Use um número de porta diferente para cada instância (os protocolos UDP e TCP usam espaços de porta diferentes para que você possa executar um daemon escutando em UDP-1194 e outro em TCP-1194).
- Se você estiver usando o Windows, cada configuração do OpenVPN precisa ter seu próprio adaptador TAP-Windows. Você pode adicionar adaptadores adicionais acessando Menu Iniciar -> Todos os Programas -> TAP-Windows -> Adicionar um novo adaptador ethernet virtual TAP-Windows.
- Se você estiver executando várias instâncias do OpenVPN no mesmo diretório, certifique-se de editar as diretivas que criam arquivos de saída para que várias instâncias não sobrescrevam os arquivos de saída umas das outras. Essas diretivas incluem log, log-append, status e ifconfig-pool-persist.
Editando os arquivos de configuração do cliente
O arquivo de configuração do cliente de amostra (client.conf no Linux/BSD/Unix ou client.ovpn no Windows) espelha as diretivas padrão definidas no arquivo de configuração do servidor de amostra.
- Assim como o arquivo de configuração do servidor, primeiro edite os parâmetros ca, cert e key para apontar para os arquivos gerados na seção PKI acima. Observe que cada cliente deve ter seu próprio par de certificados/chaves. Somente o arquivo ca é universal no servidor OpenVPN e em todos os clientes.
- Em seguida, edite a diretiva remote para apontar para o nome do host/endereço IP e o número da porta do servidor OpenVPN (se o seu servidor OpenVPN for executado em uma máquina de NIC única por trás de um firewall/gateway NAT, use o endereço IP público do gateway , e um número de porta que você configurou o gateway para encaminhar para o servidor OpenVPN).
- Por fim, certifique-se de que o arquivo de configuração do cliente seja consistente com as diretivas usadas na configuração do servidor. A principal coisa a verificar é se as diretivas dev (tun ou tap) e proto (udp ou tcp) são consistentes. Certifique-se também de que comp-lzo e fragment, se usados, estejam presentes nos arquivos de configuração do cliente e do servidor.
Iniciando a VPN e testando a conectividade inicial
INICIANDO O SERVIDOR
Primeiro, certifique-se de que o servidor OpenVPN esteja acessível pela Internet. Que significa:
- abrindo a porta UDP 1194 no firewall (ou qualquer porta TCP/UDP que você configurou), ou
- configurar uma regra de encaminhamento de porta para encaminhar a porta UDP 1194 do firewall/gateway para a máquina que executa o servidor OpenVPN.
- Em seguida, verifique se a interface TUN/TAP não está protegida ou impedida por firewall.
Para simplificar a solução de problemas, é melhor iniciar inicialmente o servidor OpenVPN a partir da linha de comando (ou clicar com o botão direito do mouse no arquivo .ovpn no Windows), em vez de iniciá-lo como um daemon ou serviço:
Execute, no terminal ,
openvpn nome_arquivo_configuracao
Uma inicialização normal do servidor deve ser semelhante a esta (a saída varia entre as plataformas):
Sun Feb 6 20:46:38 2005 OpenVPN 2.0_rc12 i686-suse-linux [SSL] [LZO] [EPOLL] built on Feb 5 2005 Sun Feb 6 20:46:38 2005 Diffie-Hellman initialized with 1024 bit key Sun Feb 6 20:46:38 2005 TLS-Auth MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] Sun Feb 6 20:46:38 2005 TUN/TAP device tun1 opened Sun Feb 6 20:46:38 2005 /sbin/ifconfig tun1 10.8.0.1 pointopoint 10.8.0.2 mtu 1500 Sun Feb 6 20:46:38 2005 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.2 Sun Feb 6 20:46:38 2005 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:23 ET:0 EL:0 AF:3/1 ] Sun Feb 6 20:46:38 2005 UDPv4 link local (bound): [undef]:1194 Sun Feb 6 20:46:38 2005 UDPv4 link remote: [undef] Sun Feb 6 20:46:38 2005 MULTI: multi_init called, r=256 v=256 Sun Feb 6 20:46:38 2005 IFCONFIG POOL: base=10.8.0.4 size=62 Sun Feb 6 20:46:38 2005 IFCONFIG POOL LIST Sun Feb 6 20:46:38 2005 Initialization Sequence Completed
Fonte: openvpn, openvpn-repositorios
INICIANDO O CLIENTE
Como na configuração do servidor, é melhor iniciar inicialmente o servidor OpenVPN a partir da linha de comando (ou no Windows, clicando com o botão direito do mouse no arquivo client.ovpn), em vez de iniciá-lo como um daemon ou serviço:
openvpn nome_arquivo_configuracao
Uma inicialização de cliente normal no Windows será semelhante à saída do servidor acima e deve terminar com a mensagem Initialization Sequence Completed.
Agora, tente um ping na VPN do cliente. Se você estiver usando roteamento (ou seja, dev tun no arquivo de configuração do servidor), tente:
ping 10.8.0.1
Se você estiver usando bridging (ou seja, dev tap no arquivo de configuração do servidor), tente fazer ping no endereço IP de uma máquina na sub-rede Ethernet do servidor.
Se o ping for bem-sucedido, parabéns! Agora você tem uma VPN funcionando.