Configurar OpenVPN no CentOS 7: Guia Completo e Passo a Passo

O OpenVPN destaca-se como uma solução de Rede Privada Virtual (VPN) de código aberto, robusta e segura, ideal para estabelecer conexões protegidas através de redes públicas ou privadas. Sua versatilidade permite o acesso remoto a recursos, a proteção da privacidade online e a superação de restrições geográficas. Este guia detalha o processo de instalação e configuração de um servidor OpenVPN no CentOS 7.

Requisitos Essenciais

  • Um servidor CentOS 7 com privilégios de root.
  • Um endereço IP estático ou um nome de domínio totalmente qualificado (FQDN).
  • Conhecimento básico de comandos da linha de comando.

Instalação do OpenVPN

Para instalar o OpenVPN, execute os seguintes comandos:


yum install epel-release
yum install openvpn

Configuração do Servidor OpenVPN

Primeiro, crie o diretório para os arquivos de configuração do OpenVPN:


mkdir /etc/openvpn

Em seguida, crie e edite o arquivo de configuração do servidor:


vim /etc/openvpn/server.conf

Insira as seguintes configurações no arquivo:


port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

Geração de Certificados e Chaves

Gere o certificado e a chave da Autoridade de Certificação (CA):


openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/openvpn/ca.key -out /etc/openvpn/ca.crt

Gere o certificado e a chave do servidor:


openssl req -new -nodes -days 3650 -keyout /etc/openvpn/server.key -out /etc/openvpn/server.csr
openssl x509 -req -days 3650 -in /etc/openvpn/server.csr -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -CAcreateserial -out /etc/openvpn/server.crt

Gere o arquivo Diffie-Hellman (DH):


openssl dhparam -out /etc/openvpn/dh.pem 2048

Configuração do Firewall

Permita o tráfego na porta do OpenVPN:


firewall-cmd --zone=public --add-port=1194/udp --permanent
firewall-cmd --reload

Iniciando o Servidor OpenVPN

Inicie o serviço OpenVPN:


systemctl start openvpn@server

Ative o serviço para iniciar automaticamente na inicialização do sistema:


systemctl enable openvpn@server

Criação de Arquivos de Configuração do Cliente

Para gerar arquivos de configuração de clientes, utilize a ferramenta easy-rsa do OpenVPN:


yum install easy-rsa

Adicione o usuário openvpn ao grupo easyrsa:


usermod -aG easyrsa openvpn

Inicialize a pasta easy-rsa:


su - openvpn
cd /usr/share/easy-rsa/3
./easyrsa init-pki

Gere uma nova autoridade de certificação:


./easyrsa build-ca nopass

Crie uma nova chave e certificado de servidor:


./easyrsa gen-req server nopass
./easyrsa sign-req server server

Crie um novo arquivo de chave Diffie-Hellman:


./easyrsa gen-dh

Para se conectar ao servidor OpenVPN como cliente:


openvpn --config client.ovpn &

Conclusão

Parabéns, o servidor OpenVPN está configurado no seu sistema CentOS 7! Agora você pode usufruir de conexões seguras, proteger sua privacidade online e acessar conteúdo com restrições geográficas. É importante realizar testes detalhados e ajustes conforme necessário para garantir uma conexão segura e estável.

Perguntas Frequentes (FAQs)

1. Posso usar um nome de domínio em vez de um endereço IP para o servidor OpenVPN? Sim, um FQDN é aceitável. Garanta que o registro DNS aponte para o IP do servidor.
2. Como gerenciar usuários e controlar o acesso ao servidor OpenVPN? Use arquivos de autorização e políticas de acesso no arquivo de configuração do OpenVPN.
3. O que é um arquivo de autorização do OpenVPN? É um arquivo que lista os certificados de clientes autorizados a se conectar.
4. Como renovar certificados OpenVPN? Use a ferramenta easy-rsa, seguindo um processo semelhante à criação inicial.
5. O OpenVPN suporta outros protocolos além do UDP? Sim, TCP e TLS são suportados, embora UDP seja o padrão por seu desempenho.
6. Posso usar o OpenVPN para criar um túnel ponto a ponto (PTP)? Sim, configure clientes OpenVPN para conectar diretamente entre si.
7. O OpenVPN é seguro contra ataques? É uma solução VPN segura, mas a segurança depende da robustez de seus certificados e chaves.
8. Quais são as vantagens do OpenVPN?
  • Criptografia forte
  • Autenticação mútua
  • Compatibilidade com várias plataformas
  • Fácil configuração e gerenciamento