Como instalar e configurar o servidor OpenVPN no Ubuntu Linux

Índice

OpenVPN É sem dúvida a melhor forma de estabelecermos uma ligação segura a uma rede através da Internet.

OpenVPN é um recurso VPN de Código aberto Isso nos permite, como usuários, mascarar nossa navegação para evitar ser vítimas de roubo de informações na rede. São aspectos muito importantes no nível de segurança que devemos levar em consideração e desta vez vamos analisar o processo de configuração do OpenVPN em um ambiente Ubuntu 16.04.

OpenVPN usaGraças ao OpenVPN podemos realizar tarefas como:

  • Proteja o trânsito durante o processo de navegação na web.
  • Funciona como um túnel em qualquer endereço IP usando uma única porta TCP ou UDP.
  • Configuração múltiplos servidores VPN escalável.
  • Usar funções de criptografia e autenticação para proteger o tráfego.
  • Troca de chaves dinâmicas.
  • Crie pontes de Ethernet segura.
  • Gerenciamento VPN usando uma interface gráfica de ambientes Windows e Mac OS.

Requisitos de OpenVPNAntes de iniciar o processo de instalação, é importante atender a certos requisitos, estes são:

  • Usuário root
  • Droplet Ubuntu 16.04

1. Como instalar Atualize e instale o OpenVPN no Ubuntu 16.04

Passo 1
Em primeiro lugar, atualizaremos o Ubuntu 16.04 usando o seguinte comando:

 sudo apt-get update 
Passo 2
Assim que o sistema for atualizado, prosseguimos com a instalação do OpenVPN usando o seguinte comando. Aceitamos o download e respectiva instalação dos pacotes OpenVPN.
 sudo apt-get install openvpn easy-rsa 

PROLONGAR

Deste modo instalamos OpenVPN no Ubuntu 16 e agora será necessário realizar o processo de configuração.

2. Como definir o diretório CA no Ubuntu 16.04


O Diretório CA (Autoridade de Certificação- Certificado de Autoridade) é o meio pelo qual podemos emitir certificados confiáveis, uma vez que OpenVPN é uma VPN que usa o Protocolos TLS / SSL.

Passo 1
Para isto vamos copiar os modelos do easy-rsa em nosso diretório inicial usando o comando make-cadir, inseriremos o seguinte no terminal Ubuntu 16.04:

 make-cadir ~ / openvpn-ca 
Passo 2
Agora acessaremos a rota criada anteriormente:
 cd ~ / openvpn-ca 

PROLONGAR

3. configurar variáveis ​​de certificados de autoridade no Ubuntu 16.04


É necessário que configuremos os valores que serão utilizados pela autoridade ou certificados CA e para isso devemos editar o arquivo vars dentro do diretório.

Passo 1
Podemos abrir este arquivo usando o editor de sua preferência, neste caso será nano:

 sudo nano vars 

PROLONGAR

Passo 2
Neste arquivo encontramos as variáveis ​​que podemos ajustar e configurar para determinar a forma como os certificados de autoridade serão criados. Rolaremos para o final do arquivo até encontrarmos estas variáveis:

 export KEY_COUNTRY = "US" export KEY_PROVINCE = "CA" export KEY_CITY = "SanFrancisco" export KEY_ORG = "Fort-Funston" export KEY_EMAIL = "[email protected]" export KEY_OU = "MyOrganizationalUnit"

PROLONGAR

etapa 3
Editamos esses valores com base nos parâmetros necessários. Da mesma forma, vamos editar a linha exportar KEY_NAME atribuído o nome apropriado, neste caso, nós o chamamos de servidor.

PROLONGAR

Passo 4
Nós mantemos mudanças usando a combinação:

Ctrl + O

Y nós saímos do editor usando

Ctrl + X

4. Como criar o certificado de autoridade no Ubuntu 16.04


Com estes valores definidos procedemos à criação do certificado de autoridade.

ObservaçãoLembre-se disso devemos estar no diretório ~ / openvpn-ca.

Passo 1
Assim que estivermos no diretório, executaremos o seguinte comando:

 fonte vars 

PROLONGAR

Passo 2
Prosseguimos para executar o comando indicado para ter um ambiente limpo:

 ./limpar tudo 
etapa 3
Agora vamos criar o certificado de CA raiz usando o seguinte comando:
 ./build-ca 
Passo 4
Podemos ver uma série de questões que já configuramos no arquivo vars para as quais só temos que pressionar Digitar para ser completado automaticamente. Desta forma nós criamos o certificado que será útil para o resto do processo.

PROLONGAR

5. Como criar certificado de servidor, chave e arquivos criptografados no Ubuntu 16.04


Neste ponto, vamos criar o certificado do servidor e suas respectivas chaves.

Passo 1
Para isso vamos executar o seguinte comando:

 ./build-key-server server 
Devemos substituir o nome do servidor por aquele atribuído na linha exportar KEY_NAME do arquivo vars). Os valores já definidos no arquivo vars serão emitidos automaticamente, para os quais pressionamos Enter.

Passo 2
Podemos ver que o certificado foi criado corretamente.

PROLONGAR

etapa 3
A seguir, criaremos outros parâmetros, como o Criptografia Diffie-Hellman que pode ser usado durante a troca de chaves, para isso usaremos a seguinte linha.

 ./build-dh 

PROLONGAR

Passo 4
Esse processo leva alguns minutos para ser concluído. Também podemos gerar uma assinatura HMAC que nos permite melhorar os níveis de integridade TLS do servidor, para isso inserimos o seguinte.

 openvpn --genkey --secret keys / ta.key 

6. Como criar certificado de servidor, chave e arquivos criptografados no Ubuntu 16.04


Este processo pode ser realizado na máquina cliente e posteriormente assinado no servidor CA, mas desta vez vamos executá-lo diretamente para economizar tempo, acessamos novamente o diretório, se ainda não estivermos lá. ~ / openvpn-ca e lá iremos executar o comando source vars.

Passo 1
Agora vamos inserir a seguinte linha onde definimos o nome do cliente:

 ./build-key solvetic1 
Devemos pressionar Digitar nas respectivas questões já configuradas acima

PROLONGAR

Passo 2
Este comando cria credenciais sem exigir uma senha, se por motivos de segurança quisermos estabelecer uma credencial com uma senha, devemos executar a seguinte linha:

 ./build-key-pass (nome do cliente) 

7. Como configurar o serviço OpenVPN no Ubuntu 16.04


A próxima etapa é configurar o serviço OpenVPN para que tudo funcione da maneira que você deseja. Em primeiro lugar iremos copiar os arquivos que criamos no caminho ~ / openvpn-ca para o caminho / etc / openvpn, lembre-se de que os certificados de CA, as chaves, o arquivo Diffie-Hellman e o arquivo HMAC.

Passo 1
Para isso acessaremos o seguinte diretório:

 cd ~ / openvpn-ca / keys 
Passo 2
Uma vez lá, iremos executar a seguinte linha para o processo de cópia:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
etapa 3
Agora devemos copiar e descompactar um Arquivo de configuração OpenVPN nesse diretório para usar como base. Para isso, vamos inserir o seguinte:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

PROLONGAR

8. Como ajustar as configurações do OpenVPN no Ubuntu 16.04

Passo 1
Assim que tivermos esses arquivos no caminho necessário, procedemos ao ajuste da configuração do OpenVPN acessando o arquivo server.conf:

 sudo nano /etc/openvpn/server.conf 

PROLONGAR

Passo 2
Lá faremos os seguintes ajustes. Vamos para a linha tls-auth ta.key 0 # Este arquivo é secreto e abaixo dele adicionaremos o seguinte.

 direção-chave 0 
etapa 3
Na linha cifra AES-128-CBC removemos o símbolo; localizado no início dele e abaixo desta linha vamos inserir o seguinte.
 auth SHA256 
Passo 4
Isso é para criar uma linha de autenticação para escolha o algoritmo de mensagem. Nas linhas do utilizador Y grupo removemos o símbolo de; localizado no início.

PROLONGAR

Como alternativas opcionais, podemos adicionar o seguinte.

Envio de tráfego DNS por meio da VPNEsta opção é prática quando queremos rotear todo o tráfego exclusivamente através da VPN.

 Para isso, faremos as seguintes alterações no arquivo anterior: Descomentamos as linhas: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Modifique a porta no OpenVPNPor padrão, o OpenVPN usa a porta 1194 e o protocolo de rede UDP para conexões de cliente. Se quisermos modificar esta porta vamos para a linha porta e atribuímos a nova porta de acordo com a necessidade atual.

PROLONGAR

Da mesma forma, podemos ajustar o protocolo na linha proto.

Ajustando as configurações de rede - Encaminhamento de IPEste ponto é importante porque permite que todo o tráfego OpenVPN seja roteado corretamente.

Primeiro vamos habilitar o Encaminhamento de endereço IP, ou seja, que o servidor encaminhe o tráfego, para isso devemos editar o arquivo /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
Dentro do arquivo vamos colocar a linha net.ipv4.ip_forward = 1 e removemos o comentário removendo o símbolo # localizado no início dele.

PROLONGAR

Nós mantemos as alterações e saímos do arquivo. Para todas as alterações a serem aplicadas na sessão atual, executaremos o seguinte comando.

 sudo sysctl -p

Definir as regras no firewall Ubuntu 16.04O uso do firewall é essencial, pois nos protege de conexões de entrada para o sistema, neste ponto devemos edite o arquivo de regras para configurar o tráfego mascarado. Primeiramente, devemos conhecer a interface de rede pública do servidor, para isso executamos o seguinte comando:

 rota ip | grep default 

PROLONGAR

Neste exemplo, a interface de rede pública é enp0s3. Agora vamos acessar para o arquivo de configuração de regras para o seu ajuste, inserimos o seguinte:

 sudo nano /etc/ufw/before.rules 
A seguinte janela será exibida.

PROLONGAR

Este arquivo gerencia a configuração que deve ser precedida antes que as regras UFW típicas sejam executadas. No topo, inseriremos as seguintes linhas que estabelecerão a configuração POSTROUTING:

 # START OPENVPN RULES # NAT table rules * nat: POSTROUTING ACCEPT [0: 0] # Permitir tráfego do cliente OpenVPN para (interface) -A POSTROUTING -s 10.8.0.0/8 -o (interface) -j MASQUERADE COMMIT # END OPENVPN AS REGRAS

PROLONGAR

É importante que no campo enp0s3 vamos definir o nome correto da interface a ser usada. Nós mantemos mudanças usando a combinação:

Ctrl + O

Y nós saímos do editor usando:

Ctrl + X

Agora devemos permitir o UFW aceitar pacotes pelo caminho padrão, para isso vamos executar o seguinte comando:

 sudo nano / etc / default / ufw 
Na linha DEFAULT_FORWARD_POLICY modificamos o termo DROP por ACCEPT.

PROLONGAR

Nós mantemos as mudanças.

Abrindo as portas VPN e habilitando as mudançasA próxima etapa é ajustar as configurações do firewall para permitir todo o tráfego para OpenVPN. Para isto nós executamos o seguinte comando.

 sudo ufw allow 1194 / udp 
ObservaçãoSe editamos a porta e o protocolo, devemos alterá-lo neste comando, esses são os valores padrão do OpenVPN.

Nós também adicionamos o Porta SSH:

 sudo ufw allow OpenSSH 

PROLONGAR

Para upload de alterações vamos usar os seguintes comandos.

 sudo ufw desativar sudo ufw ativar
Podemos verificar se as regras foram adicionadas usando o comando sudo ufw status:

PROLONGAR

9. Como iniciar e habilitar o serviço OpenVPN no Ubuntu 16.04


Com estes valores já definidos Podemos iniciar o serviço OpenVPN no Ubuntu e para isso será necessário especificar o nome que atribuímos.

Passo 1
Para isso vamos executar a seguinte linha:

 sudo systemctl start openvpn @ server 
Passo 2
Subseqüentemente validamos o status do OpenVPN usando a linha:
 sudo systemctl status openvpn @ server 

PROLONGAR

etapa 3
Podemos ver que seu status está correto e foi iniciado com sucesso. Pressionamos a letra q para retornar à linha de comando. Da mesma forma, podemos verificar a interface OpenVPN tun0 inserindo o seguinte:

 ip addr show tun0 

PROLONGAR

Passo 4
Para que o serviço OpenVPN seja executado automaticamente a cada login, devemos inserir o seguinte parâmetro:

 sudo systemctl enable openvpn @ server 

PROLONGAR

10. Como criar a estrutura do cliente OpenVPN no Ubuntu 16.04

Passo 1
A próxima etapa é criar os arquivos de configuração do cliente, para isso criaremos essa estrutura dentro do diretório pessoal executando o seguinte:

 mkdir -p ~ / client-configs / files 
Passo 2
Vamos bloquear as permissões nessa rota uma vez que as chaves criadas estão localizadas lá, vamos usar a seguinte linha:
 chmod 700 ~ / client-configs / files 

11. Como criar uma base de configuração OpenVPN no Ubuntu 16.04

Passo 1
Neste ponto, copiaremos uma base de configuração do cliente no diretório para tê-la como base, executamos o seguinte:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf 
Passo 2
Abrimos este arquivo com nosso editor preferido:
 sudo nano ~ / client-configs / base.conf 

PROLONGAR

etapa 3
Lá localizamos a linha controlo remoto e inseriremos o endereço IP do servidor, seguido pela porta UDP 1194:

PROLONGAR

Passo 4
Neste mesmo arquivo faremos as seguintes alterações:

  • Nós descomentamos as linhas do utilizador Y grupo removendo o sinal;
  • Nós comentamos, adicionando o símbolo #, às linhas AC, cert Y chave
  • Nós adicionamos as linhas cifra AES-128-CBC Y auth SHA256
  • Abaixo da linha anterior, escrevemos direção-chave 1
  • No final do arquivo, adicionamos as seguintes linhas:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Se não funcionar para você, tente esta outra forma de comando script-security:

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

PROLONGAR

Etapa 5
Nós mantemos mudanças usando a combinação:

Ctrl + O

Y nós saímos do editor usando:

Ctrl + X

12. Como criar um script para configuração OpenVPN no Ubuntu 16.04

Passo 1
Este script se encarregará de compilar os eventos mais importantes dos arquivos de certificado, chave e criptografia no caminho ~ / client-configs / files. Vamos criar um arquivo chamado make_config.sh usando a seguinte sintaxe:

 sudo nano ~ / client-configs / make_config.sh
Passo 2
Um arquivo em branco será aberto, onde adicionaremos as seguintes linhas:
 #! / bin / bash # Primeiro argumento: Identificador do cliente KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

PROLONGAR

etapa 3
Nós mantemos as mudanças e nós saímos do editor. Vamos tornar esse arquivo executável digitando o seguinte:

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Como configurar arquivos de cliente OpenVPN no Ubuntu 16.04


A próxima etapa é criar os arquivos de configuração para o cliente, que criamos como Solvetic1.

Passo 1
Para isso, vamos inserir as seguintes linhas:

 cd ~ / client-configs ./make_config.sh client1 [plain] Etapa 2 [/ plain] Podemos ver o conteúdo desta pasta usando o comando ls: ls ~ / client-configs / files

PROLONGAR

Vemos que existe o cliente Solvetic1 criado corretamente.

14. Como transferir as configurações do OpenVPN para máquinas clientes OpenVPN no Ubuntu 16.04


Assim que tivermos todo o processo de configuração feito no Ubuntu 16, é hora de transferir o Arquivo Solvetic1.ovpn aos respectivos dispositivos, como computadores ou dispositivos móveis.

Passo 1
Podemos usar o cliente de transferência que desejamos com base no sistema que usamos, um exemplo de transferência pode ser o seguinte em um ambiente Fedora 25:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Passo 2
Neste exemplo, usaremos janelas e o cliente Filezilla:

PROLONGAR

15. Como instalar e executar o OpenVPN no Ubuntu 16.04


Passo 1
OpenVPN está disponível para Windows, Linux, Mac OS, Android, FreeBSD, etc. No link a seguir, podemos baixar a versão apropriada do OpenVPN:

Passo 2
A seguir, veremos como executar o OpenVPN nos vários sistemas operacionais.

Execute OpenVPN no WindowsEm janelas, que é o sistema de exemplo, devemos copie o arquivo .ovpn na rota:

 C: \ Arquivos de programas \ OpenVPN \ config 
etapa 3
A partir daí, podemos clicar com o botão direito no arquivo e selecionar a opção Inicie o OpenVPN neste arquivo de configuração

PROLONGAR

Desta forma, iremos nos conectar com o servidor OpenVPN.

ObservaçãoOpenVPN deve ser executado com privilégios administrativos.

Execute OpenVPN no LinuxO processo em sistemas Linux deve ser o seguinte:

Primeiro, atualizamos o sistema e instalamos o OpenVPN usando os seguintes comandos:

 sudo apt-get update 
 sudo apt-get install openvpn 
Se usarmos CentOS usaremos os seguintes comandos:
 sudo yum install epel-release sudo yum install openvpn
Uma vez instalado OpenVPN vamos executar o seguinte comando:
 ls / etc / openvpn 
A próxima etapa é edite o arquivo .ovpn transferido com o editor desejado.
 sudo nano arquivo.ovpn 
No arquivo aberto, devemos descomente as seguintes linhas:
 script-security 2 up / etc / openvpn / update-resolv-conf
 para baixo / etc / openvpn / update-resolv-con 
Agora podemos nos conectar à VPN usando a seguinte sintaxe:
 sudo openvpn --config File.ovpn

Execute OpenVPN no Mac OSSe usarmos Mac OS, isso se aplica a macOS Sierra, podemos usar o utilitário túnel que podemos baixar gratuitamente no seguinte link:

Ao executar o aplicativo na barra de título, veremos o ícone correspondente, clique lá e selecione Conectar e escolhemos o cliente que configuramos, por exemplo, Solvetic1.

Execute OpenVPN no AndroidPara usuários do Android que desejam se conectar ao Linux via VPN, podemos baixar o aplicativo OpenVPN Connect no seguinte link:

O arquivo .ovpn devemos transferi-lo via USB para o telefone para uso.
Ao executar a aplicação vamos ao menu e selecionamos o local onde está o arquivo .ovpn e de lá o importamos. Para conectar, clicamos no botão Conectar.

Em qualquer uma das formas indicadas, o objetivo é acessar o Ubuntu 16.04 via VPN, usufruindo das vantagens que o OpenVPN oferece.

PROLONGAR

Como você pode ver, configurar um servidor OpenVPN no Ubuntu é um tanto complexo, mas com este manual completo você tem passo a passo tudo o que deve fazer para colocá-lo neste sistema. Se além do Ubuntu você usa outras distros, aqui deixamos você como configurar e instalar um servidor OpenVPN no Debian.

Servidor OpenVPN Debian

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave