Como instalar o OpenVPN no CentOS 7

Como instalar o OpenVPN no CentOS 7

Neste tutorial, mostraremos como instalar e configurar um servidor OpenVPN no CentOS 7. O OpenVPN é uma das soluções de software VPN mais populares que implementa técnicas de redes privadas virtuais para criar ponto-a-ponto seguro ou site-a-site conexões. Este guia também deve funcionar em outros sistemas Linux VPS , mas foi testado e escrito para um CentOS 7 . Instalar o OpenVPN no CentOS7 é uma tarefa fácil, siga cuidadosamente as etapas abaixo e você deve fazer isso em menos de 10 minutos.

Entre no seu VPS via SSH

ssh user@vps_IP

Atualize o sistema

yum update

1. Instale OpenVPN

O OpenVPN não está disponível nos repositórios oficiais do CentOS 7, então primeiro precisamos adicionar o repositório EPEL e, em seguida, instalar o pacote:

Para habilitar o repositório Epel, execute o seguinte comando:

yum install epel-release

Uma vez que o repositório esteja habilitado, instale os pacotes openvpn e openssl:

yum install openvpn openssl

2. Gerar autoridade de certificação local

Primeiro, gere os parâmetros Diffie-Hellman (arquivo DH) que é usado para proteger a troca de chaves entre o servidor e o cliente. Este comando pode demorar um pouco para ser executado dependendo do servidor.

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

Gerar ca.crt  (autoridade de certificação) arquivo:

openssl genrsa -out /etc/openvpn/ca.key 2048
chmod 600 /etc/openvpn/ca.key
openssl req -new -key /etc/openvpn/ca.key -out /etc/openvpn/ca.csr -subj /CN=OpenVPN-CA/
openssl x509 -req -in /etc/openvpn/ca.csr -out /etc/openvpn/ca.crt -signkey /etc/openvpn/ca.key -days 365
echo 01 > /etc/openvpn/ca.srl

3. Configurar o servidor OpenVPN

Criar certificado e chave do servidor com os seguintes comandos gerará um certificado e chave do servidor:

openssl genrsa -out /etc/openvpn/server.key 2048
chmod 600 /etc/openvpn/server.key
openssl req -new -key /etc/openvpn/server.key -out /etc/openvpn/server.csr -subj /CN=OpenVPN/
openssl x509 -req -in /etc/openvpn/server.csr -out /etc/openvpn/server.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 365

4. Criar arquivo de configuração do servidor OpenVPN

Você pode copiar e editar a configuração padrão do OpenVPN ou criar um novo a partir do zero.

nano /etc/openvpn/server.conf
server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server.key
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
dh /etc/openvpn/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

user nobody
group nogroup

proto udp
port 1194
dev tun1194
status openvpn-status.log

salve o arquivo e ative e inicie o serviço OpenVPN com:

systemctl enable openvpn@server
systemctl start openvpn@server

Adicione a seguinte iptablesregra para que o tráfego possa sair da VPN. Mude o eth0com a interface de rede pública do seu servidor.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Nota: Se você estiver executando um VPS baseado em openvz em
vez da regra acima, adicione:iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source YOUR_SERVER_IP>

Finalmente, também precisamos permitir o encaminhamento IP:

sysctl -w net.ipv4.ip_forward=1

5. Criar certificado e chave do cliente

Os seguintes comandos gerarão um certificado e chave do cliente:

openssl genrsa -out /etc/openvpn/client.key 2048
chmod 600 /etc/openvpn/client.key
openssl req -new -key /etc/openvpn/client.key -out /etc/openvpn/client.csr -subj /CN=OpenVPN-Client/
openssl x509 -req -in /etc/openvpn/client.csr -out /etc/openvpn/client.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 36525

Em seguida, copie os seguintes arquivos para a máquina do cliente

/etc/openvpn/ca.crt
/etc/openvpn/client.crt
/etc/openvpn/client.key

6. Inicie OpenVPN no CentOS 7

Inicie o seu cliente OpenVPN com a seguinte configuração.

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote YOUR_SERVER_IP 1194 udp
comp-lzo yes
duplicate-cn

key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt

Não se esqueça de mudar YOUR_SERVER_IP com o endereço IP do servidor OpenVPN.

É isso aí. Você instalou com sucesso um servidor OpenVPN configurado no seu CentOS 7 VPS.

Leave a Reply

Your email address will not be published.