Idioma
Categoria
Pesquisar

Como configurar servidor openVPN com Easy-RSA no Linux

Guia completo para instalar e configurar o OpenVPN Server com Easy-RSA no Slackware Linux. Aprenda a criar certificados e chaves para estabelecer uma VPN segura e funcional

Como configurar servidor openVPN com Easy-RSA no Linux
Em Código aberto Por Rudi Drusian Lange
Publicado em
Última atualização

Introdução

O OpenVPN é uma solução de rede privada virtual (VPN) de código aberto que permite criar conexões seguras entre dispositivos, protegendo o tráfego de rede contra interceptações. Sua flexibilidade e suporte a criptografia forte o tornam ideal para empresas e usuários que precisam de acesso remoto seguro ou interligação entre redes.

Este artigo detalha o processo de instalação e configuração de um servidor e de um cliente OpenVPN no Linux, abordando também a criação de certificados digitais utilizando o script Easy-RSA. O processo de geração de certificados será apresentado de forma breve e técnica, com foco na aplicação prática para o funcionamento do OpenVPN.

Para um entendimento mais aprofundado sobre o gerenciamento de certificados, incluindo aspectos conceituais, critérios de segurança e detalhes sobre o uso do Easy-RSA, recomendamos a leitura do artigo complementar:

Ambiente de instalação

As configurações demonstradas neste artigo foram testadas no Slackware Linux 15.0 (64 bits), utilizando o OpenVPN 2.5.5 e o Easy-RSA 3.3.0.

Este tutorial pode ser adaptado para outras distribuições Linux com poucas modificações, principalmente no comando de instalação do OpenVPN e no método de inicialização automática do serviço. Sempre que possível, serão apresentados comandos específicos para diferentes distribuições, porém esses comandos não foram testados.

No restante, os passos para download do Easy-RSA, configurações e criação de certificados devem ser os mesmos na maioria das distribuições.

Instalação do OpenVPN

O OpenVPN está disponível nos repositórios oficiais do Slackware.

# bash

# Slackware
slackpkg install openvpn

Comandos para instalação em outras distribuições:

# bash

# Debian e Ubuntu
sudo apt install openvpn

# Fedora
sudo dnf install openvpn

# Arch Linux
sudo pacman -S openvpn

# openSUSE
sudo zypper install openvpn

Download Easy-RSA

O Easy-RSA é um script que facilita a criação e o gerenciamento de chaves e certificados necessários para a comunicação segura entre cliente e servidor. O script deve ser executado como um usuário comum, sem a necessidade de permissões administrativas.

Por questões de segurança, o Easy-RSA será instalado em um pendrive, cujo caminho será representado aqui pelo ponto de montagem /mnt/usb. Utilizar um dispositivo removível permite manter a estrutura de gerenciamento de certificados offline, reduzindo riscos de exposição de chaves privadas. Para mais detalhes sobre as práticas de segurança envolvidas, consulte o artigo mencionado na introdução.

Observação: O pendrive deve ser formatado com um sistema de arquivos compatível com Linux (ext3, ext4, xfs, etc.). Caso contrário, não será possível executar o script.

Para fazer o download do Easy-RSA diretamente no pendrive, utilize os seguintes comandos:

$ bash

cd /mnt/usb
git clone https://github.com/OpenVPN/easy-rsa

Configurando EasyRSA

Antes de iniciar, é necessário ajustar o valor de algumas variáveis padrão dos scripts para garantir a consistência dos dados durante a emissão de certificados. Faça uma cópia do arquivo de exemplo vars.example para vars:

$ bash

cd easy-rsa/easyrsa3/
cp vars.example vars
vi vars

Agora, personalize o arquivo vars com seu editor favorito. Remova o comentário das linhas abaixo e configure com suas informações:

vars

# Campos organizacionais
set_var EASYRSA_REQ_COUNTRY  "BR" # Pais
set_var EASYRSA_REQ_PROVINCE "São Paulo" # Estado
set_var EASYRSA_REQ_CITY     "Rinópolis" # Cidade
set_var EASYRSA_REQ_ORG      "Minha empresa LTDA" # Nome da organização
set_var EASYRSA_REQ_EMAIL    "contato@minhaempresa.com.br" # E-mail
set_var EASYRSA_REQ_OU       "Departamento de TI" # Unidade Organizacional

# Expiração (em dias)
set_var EASYRSA_CA_EXPIRE   7300 # Validade da CA
set_var EASYRSA_CERT_EXPIRE 3650 # Validade dos certificados emitidos

O primeiro conjunto de variáveis refere-se aos campos organizacionais, valores que serão incorporados aos certificados emitidos. O segundo conjunto de variáveis define o tempo de expiração do certificado da (CA) e dos certificados gerados para o servidor e clientes da VPN.

As demais variáveis presentes no arquivo vars só devem ser alteradas com conhecimento prévio de suas funções e não serão abordadas neste artigo.

Executando o Easy-RSA

O script easyrsa está localizado em easy-rsa/easyrsa3, a partir do diretório inicial clonado com o comando git. O formato básico de execução do comando é:

./easyrsa comando [ opções ]

Onde comando é o nome do comando a ser executado e opções são os parâmetros que personalizam o comando. Para obter ajuda sobre um comando específico use:

./easyrsa help [ comando ]

Quando executado sem nenhum parâmetro, o script ./easyrsa exibirá uma lista de comandos disponíveis.

Iniciando a PKI

Em português, PKI significa Infraestrutura de Chaves Públicas. Este passo cria a estrutura básica de diretórios necessários para o gerenciamento das chaves e certificados. Execute o comando ./easyrsa init-pki.

Atenção! Esse comando remove todos os certificados criados anteriormente. Utilize-o apenas quando estiver iniciando uma nova configuração ou se precisar reconfigurar todo o sistema.

$ bash

# Acesse o diretório do EasyRSA
cd /mnt/usb/easy-rsa/easyrsa3/

# Inicie a PKI
./easyrsa init-pki

Com a Infraestrutura de Chaves Públicas criada, você está pronto para criar uma Autoridade Certificadora (CA). Observe que foi criada uma nova pasta chamada pki/ na qual serão armazenadas, entre outras coisas, as requisições, as chaves privadas e os certificados emitidos.

Criando sua própria Autoridade Certificadora (CA)

Uma CA é a entidade responsável por emitir e gerenciar certificados digitais, que garantem a segurança e a autenticidade nas comunicações online.

Durante a criação da chave privada da CA, será solicitado uma senha a partir da qual a criptografia do arquivo será gerada. Digite uma senha forte e lembre-se dela, pois será necessária ao assinar novos certificados.

Também será necessário digitar um nome (Common Name) que será usado somente para exibição. Escolha um nome para representar sua CA; opções comuns incluem: nome do usuário, do host ou do servidor.

Execute o comando ./easyrsa build-ca:

# bash

# Acesse o diretório do EasyRSA
cd /mnt/usb/easy-rsa/easyrsa3/

# Crie a CA
./easyrsa build-ca

Se tudo ocorrer corretamente, será possível visualizar alguns novos arquivos dentro da pasta pki/, entre eles o certificado ca.crt.

Gerando a chave TLS e os parâmetros Diffie-Hellman (DH)

Antes de prosseguir com a criação das chaves e certificados para o cliente e o servidor da VPN, ainda são necessários mais dois arquivos. A chave TLS impede que terceiros interfiram ou descubram que a VPN está em operação, enquanto os parâmetros Diffie-Hellman (DH) permitem que o OpenVPN crie um segredo compartilhado sem que a chave real seja transmitida.

$ bash

# Gera a chave TLS
./easyrsa gen-tls-crypt-key

# Gera os parâmetros Diffie-Hellman (DH)
./easyrsa gen-dh

A chave TLS poderá ser encontrada em pki/private/easyrsa-tls.key e o arquivo contendo os parâmetro DH em pki/dh.pem.

Ambiente fictício

Para ilustrar os próximos exemplos, consideremos um cenário fictício em que funcionários de um escritório trabalham remotamente e precisam se conectar à rede da empresa para desempenhar suas funções.

Nesse contexto, o servidor OpenVPN será instalado no escritório, enquanto os clientes VPN serão configurados nos dispositivos dos funcionários em suas residências.

Gerando chave e certificado para o servidor

Neste passo, serão gerados uma chave privada e uma requisição para o servidor da VPN. A requisição, ao ser assinada pela CA, será convertida em um certificado. Será usado o parâmetro nopass para desabilitar o uso de senha na criptografia da chave.

O uso de uma senha exige que ela seja digitada sempre que o serviço de VPN for iniciado, o que pode não ser viável em servidores remotos ou que não possuam um teclado de fácil acesso. O comando segue o formato:

./easyrsa gen-req [ nome-do-servidor ] [ opções ]

Confirmar o nome do servidor quando solicitado durante o processo.

$ bash

./easyrsa gen-req escritorio nopass

A requisição foi gerada em pki/reqs/escritorio.req e a chave privada está em pki/private/escritorio.key.

Assine a requisição com o comando a seguir. Responda yes quando solicitado para confirmar os detalhes da requisição e insira a senha da CA para concluir a assinatura.

$ bash

./easyrsa sign-req server escritorio

O certificado ficará disponível em pki/issued/escritorio.crt.

Configurando o servidor

A partir deste momento, todos os comandos devem ser executados como root ou usando sudo. Copie os seguintes arquivos gerados pelo Easy-RSA para o diretório de configuração do OpenVPN:

# bash

cp /mnt/usb/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/issued/escritorio.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/dh.pem /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/escritorio.key /etc/openvpn/keys/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/easyrsa-tls.key /etc/openvpn/keys/

No Slackware, o diretório de configuração do OpenVPN contém um link para arquivos de exemplo. Faça uma cópia do arquivo server.conf para a pasta do OpenVPN e renomeie-o para escritorio.conf. Caso utilize outra distribuição e não encontre esse arquivo, será disponibilizada uma versão completa do arquivo de configuração.

# bash

cd /etc/openvpn/
cp sample-config-files/server.conf escritorio.conf

Crie o diretório ccd/ dentro da pasta do OpenVPN. Ele será usado para configurações específicas dos clientes:

# bash

mkdir /etc/openvpn/ccd

Abra o arquivo escritorio.conf com seu editor de texto favorito. A seguir, um exemplo comentado de um arquivo de configuração funcional para um servidor OpenVPN:

escritorio.conf

#############################################
# Exemplo de configuração para um servidor  #
# OpenVPN com suporte a múltiplos clientes. #
#############################################

local x.x.x.x  # Endereço IP local no qual o OpenVPN deve escutar
port  1194     # Porta TCP/UDP utilizada pelo OpenVPN
proto udp      # Protocolo de transporte (TCP ou UDP)
dev   tun      # Tipo de túnel: roteado (tun) ou Ethernet (tap)

ca       /etc/openvpn/certs/ca.crt           # Certificado da CA
dh       /etc/openvpn/certs/dh.pem           # Parâmetros Diffie-Hellman (DH)
cert     /etc/openvpn/certs/escritorio.crt   # Certificado do servidor
key      /etc/openvpn/keys/escritorio.key    # Chave privada do servidor
tls-auth /etc/openvpn/keys/easyrsa-tls.key 0 # Chave TLS (0 no servidor e 1 no cliente)

;crl-verify  /etc/openvpn/crl.pem # Lista de Certificados Revogados

topology subnet                # Sub-rede /24 (255.255.255.0)
server 10.8.0.0 255.255.255.0  # Define a rede VPN, servidor será 10.8.0.1
ifconfig-pool-persist ipp.txt  # Mantém um registro dos IPs atribuídos aos clientes

# Envia uma rota para os clientes,
# permitindo acesso às redes internas
push "route 192.168.10.0 255.255.255.0"

# Define um diretório para configurações
# específicas de cada cliente. Permite
# atribuir IPs fixos e rotas. 
client-config-dir ccd

# Remova o comentário para permitir que
# os clientes se comuniquem entre si
;client-to-client

# Envia um ping a cada 10 segundos e considera
# o cliente offline após 120 segundos
keepalive 10 120

cipher AES-256-GCM # Algoritmo de criptografia padrão
data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC # Algoritmos suportados
;data-ciphers-fallback AES-256-CBC # Suporte para versões antigas

# Desativa a compressão por motivos de segurança
allow-compression no

# Número máximo de clientes conectados simultaneamente
max-clients 100

# Reduz privilégios após a inicialização
user nobody
group nobody

# Melhora a estabilidade da conexão
persist-key # Evita recarregar as chaves após uma reconexão
persist-tun # Mantém a interface VPN ativa durante uma reconexão

# Caminho para os arquivos de log
status      /var/log/openvpn-status.log
log-append  /var/log/openvpn.log

verb 3   # Nível de detalhamento dos logs
mute 20  # Silencia mensagens repetidas no log após 20 exibições

# Notifica os clientes quando o servidor é
# reiniciado para que ele possam se reconectar
explicit-exit-notify 1

Dicas

Você pode habilitar o serviço apenas para IPv4 usando proto udp4 ou apenas para IPv6 com proto udp6. Se preferir TCP, utilize proto tcp4 ou proto tcp6.

É possível configurar múltiplos servidores OpenVPN simultaneamente. Para isso, basta gerar os certificados correspondentes e criar um arquivo de configuração separado para cada servidor dentro do diretório do OpenVPN. Por exemplo, você pode ter escritorio.conf, rh.conf, ti.conf etc. No Slackware, o script de inicialização do OpenVPN carregará automaticamente todos os arquivos de configuração que terminam em .conf dentro de /etc/openvpn.

A entrada ;crl-verify /etc/openvpn/crl.pem refere-se à lista de certificados revogados. Mais informações sobre esse recurso podem ser encontradas aqui.

Permissões dos arquivos e diretórios

Para aumentar a segurança, é necessário definir permissões adequadas para os arquivos e diretórios dentro de /etc/openvpn, garantindo que apenas os usuários autorizados tenham acesso.

# bash

# Define root como proprietário dos
# arquivos e diretórios do OpenVPN
chown -R root:root /etc/openvpn

# Somente root pode ler e escrever
# nos arquivos de configuração
chmod 600 *.conf

# Define root como proprietário e
# atribui o grupo nobody a pasta
# ccd/ e ao arquivo ipp.txt
chown -R root:nobody ccd/ ipp.txt

# Somente leitura para root nas
# nas chaves e certificados
chmod -R 400 keys/ certs/

# Acesso total para root, leitura
# e execução para nobody em ccd/
chmod 750 ccd/

# Permite leitura e escrita para 
# root e nobody no arquivo ipp.txt
chmod 660 ipp.txt

No Linux, as pastas precisam da permissão de execução (x) para serem acessadas, exceto para o usuário root. Por isso, os diretórios que armazenam chaves e certificados são configurados como somente leitura.

As chaves, os certificados e os arquivos de configuração principais (.conf) são lidos antes de os privilégios serem reduzidos para o usuário nobody. Portanto, esses arquivos devem pertencer ao usuário e grupo root. As chaves e certificados precisam apenas de permissão de leitura (400). Já os arquivos de configuração principais (.conf) precisam de permissão de leitura e escrita (600) para root.

O usuário nobody precisa de permissão de leitura e execução no diretório ccd/ para acessar os arquivos de configuração específicos dos clientes. Além disso, ele precisa de permissão de leitura e gravação no arquivo ipp.txt, que registra os endereços IP atribuídos.

Para verificar a estrutura de diretórios e as permissões aplicadas, utilize o comando:

# bash

tree -ugp

├── [drwxr-x--- root     nobody  ]  ccd
├── [dr-------- root     root    ]  certs
│   ├── [-r-------- root     root    ]  ca.crt
│   ├── [-r-------- root     root    ]  dh.pem
│   └── [-r-------- root     root    ]  escritorio.crt
├── [-rw------- root     root    ]  escritorio.conf
├── [-rw-rw---- root     nobody  ]  ipp.txt
├── [dr-------- root     root    ]  keys
│   ├── [-r-------- root     root    ]  easyrsa-tls.key
│   └── [-r-------- root     root    ]  escritorio.key

Iniciando o servidor OpenVPN

Os comandos a seguir são específicos para o Slackware. Se estiver utilizando outra distribuição, consulte a documentação correspondente, pois o processo pode variar.

Antes de iniciar o serviço, conceda permissão de execução ao script de inicialização do OpenVPN:

# bash

chmod +x /etc/rc.d/rc.openvpn

Ao definir essa permissão, o script será executado automaticamente na inicialização do sistema.

Comandos para manipular o serviço:

# bash

# Inicia o serviço
/etc/rc.d/rc.openvpn start

# Interrompe o serviço
/etc/rc.d/rc.openvpn stop

# Reinicia o serviço
/etc/rc.d/rc.openvpn restart

Consultando os logs

Verificar os logs é essencial para garantir que o OpenVPN esteja funcionando corretamente. Para facilitar a depuração, recomenda-se abrir múltiplos terminais e monitorar os logs enquanto inicia e interrompe o serviço.

Para acompanhar os registros em tempo real, utilize os seguintes comandos:

# bash

# Log do serviço
tail -f /var/log/openvpn.log

# Log das conexões
tail -f /var/log/openvpn-status.log

# Log do sistema
tail -f /var/log/syslog

Os comandos acima exibem novas mensagens conforme são registradas, até que sejam interrompidos manualmente.

Depurando erros

Caso ocorra um problema na configuração, o OpenVPN geralmente indicará o erro nos logs. Por exemplo, se o diretório ccd/ não for criado ou se suas permissões não permitirem o acesso do usuário nobody, você poderá receber a seguinte mensagem:

Options error: --client-config-dir fails with 'ccd': No such file or directory (errno=2)

Verifique os logs para identificar e corrigir erros durante a inicialização do serviço. Se o OpenVPN for iniciado corretamente, o arquivo openvpn.log exibirá a seguinte mensagem: Initialization Sequence Completed.

Importante

Neste exemplo, o OpenVPN foi configurado para reduzir os privilégios após a inicialização, alternando para o usuário nobody. No entanto, ao encerrar o OpenVPN no Slackware, tanto no servidor quanto no cliente, ocorrem erros de permissão ao remover IPs e rotas. Essas falhas geram mensagens como as seguintes nos logs:

/var/log/openvpn.log

/usr/sbin/ip addr del dev tun0 10.8.0.1/24
RTNETLINK answers: Operation not permitted
Linux ip addr del failed: external program exited with error status: 2

Para contornar esse problema, foram testadas diversas abordagens sem sucesso, como a execução de scripts externos por meio das opções down e down-pre junto à diretiva script-security, a configuração do sudo para permitir que o usuário nobody execute o comando ip e o uso do plugin openvpn-plugin-down-root.so.

A boa notícia é que, mesmo com as mensagens de erro, as ações necessárias são executadas corretamente: os IPs e rotas são removidos e a interface VPN é desativada conforme esperado. Durante os testes realizados para este material, não foram identificados problemas funcionais decorrentes desse erro, portanto, a opção adotada foi simplesmente ignorá-lo.

Caso deseje evitar essas mensagens, uma alternativa é executar o OpenVPN diretamente como root, sem reduzir os privilégios. No entanto, isso pode ter implicações de segurança.

Checando a VPN

Confirme se a interface da VPN foi criada:

# bash

ifconfig

tun0: flags=4305[UP,POINTOPOINT,RUNNING,NOARP,MULTICAST]  mtu 1500
        inet 10.8.0.1  netmask 255.255.255.0  destination 10.8.0.1

Se a interface estiver ativa, seu servidor está funcionando e pronto para receber conexões. Agora, vamos à configuração do cliente.

Gerando chave e certificado para o cliente

Neste passo, será gerada uma chave privada e uma requisição de certificado para o cliente da VPN. Execute os comandos a partir do diretório base do Easy-RSA. No exemplo, usamos /mnt/usb/easy-rsa/easyrsa3/. Quando solicitado, confirme o nome do cliente. Aqui, utilizaremos casa.

$ bash

./easyrsa gen-req casa nopass

Isso gerará a requisição em pki/reqs/casa.req e a chave privada em pki/private/casa.key.

Assine a requisição usando a chave privada da CA. Responda yes quando solicitado para confirmar os detalhes e insira a senha da CA ao ser solicitado:

$ bash

./easyrsa sign-req client casa

O certificado do cliente será gerado em pki/issued/casa.crt.

Configurando o cliente

Copie os arquivos gerados pelo Easy-RSA para o diretório de configuração do OpenVPN. Neste artigo, os arquivos estão armazenados em um pendrive. Se for transferi-los para um local remoto, utilize métodos seguros como SSH (scp, sftp) ou HTTPS:

# bash

cp /mnt/usb/easy-rsa/easyrsa3/pki/ca.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/issued/casa.crt /etc/openvpn/certs/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/casa.key /etc/openvpn/keys/
cp /mnt/usb/easy-rsa/easyrsa3/pki/private/easyrsa-tls.key /etc/openvpn/keys/

Crie o arquivo de configuração casa.conf no diretório de configuração do OpenVPN. Você pode usar o arquivo de exemplo client.conf, disponível em sample-config-files, como base.

Abra o arquivo casa.conf com seu editor favorito.

# bash

vi /etc/openvpn/casa.conf

A seguir, um exemplo comentado de um arquivo de configuração funcional para um cliente OpenVPN:

casa.conf

###################################################
# Exemplo de configuração para um cliente OpenVPN #
###################################################

client                # Configura como cliente
dev tun               # Utiliza um túnel roteado (tun)
proto udp             # TCP ou UDP?
remote 10.0.0.68 1194 # IP e porta do servidor

ca       /etc/openvpn/certs/ca.crt           # Certificado da CA
cert     /etc/openvpn/certs/casa.crt         # Certificado do cliente
key      /etc/openvpn/keys/casa.key          # Chave privada do cliente
tls-auth /etc/openvpn/keys/easyrsa-tls.key 1 # Chave TLS (1 no cliente)

# Se um nome de domínio for usado no parâmetro
# "remote", essa opção faz com que o cliente
# tente resolvê-lo indefinidamente
resolv-retry infinite

# Usa portas aleatórias na conexão com o servidor
nobind

# Reduz os privilégios após a inicialização
user nobody
group nobody

# Melhora a estabilidade da conexão
persist-key # Mantém as chaves carregadas após uma reconexão
persist-tun # Mantém a interface de rede ativa durante uma reconexão

# Exige que o certificado do servidor seja validado corretamente
remote-cert-tls server

# Define o algoritmo de criptografia para a comunicação
cipher AES-256-GCM

# Caminho para os arquivos de log
status      /var/log/openvpn-status.log
log-append  /var/log/openvpn.log

verb 3   # Nível de detalhamento das mensagens do log
mute 20  # Silencia mensagens repetidas no log após 20 ocorrências

Iniciando o cliente OpenVPN

Conceda permissão de execução ao script de inicialização do OpenVPN:

# bash

chmod +x /etc/rc.d/rc.openvpn

Com essa permissão, o script poderá ser executado manualmente e também será iniciado automaticamente junto com o sistema.

Comandos para manipular o serviço:

# bash

# Inicia o serviço
/etc/rc.d/rc.openvpn start

# Interrompe o serviço
/etc/rc.d/rc.openvpn stop

# Reinicia o serviço
/etc/rc.d/rc.openvpn restart

Consultando os logs

Assim como no servidor, os logs são essenciais para diagnosticar problemas e verificar se o cliente OpenVPN está funcionando corretamente.

Utilize os seguintes comandos para monitorar os registros em tempo real:

# bash

# Log do serviço
tail -f /var/log/openvpn.log

# Log das conexões
tail -f /var/log/openvpn-status.log

# Log do sistema
tail -f /var/log/syslog

Checando a VPN

Se a mensagem Initialization Sequence Completed for exibida no arquivo openvpn.log, isso indica que o cliente foi iniciado corretamente. Para confirmar que a VPN está funcionando como esperado, verifique se a interface da VPN foi criada e se as rotas configuradas com o comando push no servidor foram aplicadas corretamente:

# bash

# Verifica se a interface tun0 foi criada
ifconfig

tun0: flags=4305[UP,POINTOPOINT,RUNNING,NOARP,MULTICAST]  mtu 1500
        inet 10.8.0.2  netmask 255.255.255.0  destination 10.8.0.2

# Lista as rotas de rede configuradas
route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    10.8.0.1        255.255.255.0   UG    0      0        0 tun0

Se tudo estiver correto, seu túnel VPN está ativo e pronto para uso.

Conclusão

Este texto oferece um guia detalhado para a configuração de um túnel OpenVPN no Linux, utilizando o Easy-RSA para a gestão de certificados e chaves. Ele abrange desde a instalação dos pacotes necessários até a criação e assinatura de certificados, configuração do servidor e cliente OpenVPN, ajustes de permissões de arquivos e diretórios, e verificação de logs para assegurar o funcionamento correto do serviço.

Para um entendimento mais aprofundado sobre o gerenciamento de certificados, incluindo aspectos conceituais, critérios de segurança e detalhes sobre o uso do Easy-RSA, recomendamos a leitura do artigo complementar:

Referências

Artigos antigos deste próprio site serviu como ponto de partida para a elaboração deste texto. Também foram usados os manuais (man page) disponíveis no Slackware Linux.

Mural do site

Parte do conteúdo deste site, incluindo textos, imagens, gráficos e outros materiais, pode ser gerado ou aprimorado por ferramentas de inteligência artificial (IA). Para mais detalhes sobre o uso de IA, consulte nosso Termo de Uso.

Anúncio
Anúncio