Os usuários da Internet são mimados pela escolha quando se trata de serviços VPN, mas eles exigem uma assinatura mensal, não são seguros ou são muito lentos. Felizmente, existem alternativas. Eles exigem um conhecimento um pouco mais técnico, mas se você deseja que algo seja feito corretamente, você deve fazer isso sozinho.
Para aprender a criar sua própria VPN, você pode assistir ao vídeo ou ler o artigo. Observe que o artigo contém alguns comandos úteis e texto de configuração que você pode copiar e colar para sua conveniência. Atualizar: o vídeo usa uma versão antiga do easy-rsa que não está mais disponível. Quando você atingir a marca de 8 minutos, consulte este artigo para obter a configuração easy-rsa 3.
Começando
O Amazon Web Services oferece um ano de espaço livre no servidor virtual, desde que você use menos do que quantidades predeterminadas de largura de banda, tempo e espaço. Mesmo que você ultrapasse esse limite, o custo de executar uma imagem de servidor no Elastic Compute Cloud da Amazon é provavelmente menor do que você pagaria por uma assinatura VPN.
Aqui, explicaremos duas maneiras diferentes de usar o serviço Elastic Cloud da Amazon, também chamado de EC2, para desviar sua conexão por um local privado de sua escolha: encapsulamento SSH e OpenVPN. Cada um tem vantagens e desvantagens, portanto, use o que achar mais adequado às suas necessidades. Independentemente da sua escolha, você precisará do seguinte:
- Uma conta do Amazon Web Services. Isso requer um cartão de crédito, mas você só será cobrado pelo que usar, o que provavelmente não será nada se você for prudente quanto ao que está fazendo.
- PuTTy, se você estiver no Windows. O OpenSSH via Cygwin é outra opção, mas achei uma dor. Os computadores Linux e Mac já possuem prompts SSH embutidos em suas caixas e terminais. Você também precisará do programa de geração de chaves irmã de PuTTy, PuttyGen.
- WinSCP ou um cliente FTP equivalente para mover arquivos entre o computador local e a instância do EC2.
- Um conhecimento básico de trabalho dos comandos Unix e como os servidores trabalham com os clientes serão extremamente úteis na solução de problemas, caso algo não ocorra exatamente como planejado.
- GUI OpenVPN, instalada no local padrão e com as configurações padrão no seu PC
Configurando a AWS
Depois de se inscrever em uma conta Amazon Web Services, veja como iniciar o servidor que usaremos para nossa VPN:
- Faça login na sua conta Amazon Web Service e vá para o painel do EC2.
- No canto superior direito, você pode escolher o local em que configuraremos sua VPN. Clique em Iniciar Instância.
- Escolha o que a AMI do Linux estiver listada como “elegível para camada gratuita”. No momento em que este artigo foi escrito, essa é a Amazon Linux AMI. Vá para o próximo passo.
- Aqui, escolha uma instância t2.micro que também seja qualificada para o nível gratuito. Clique em “Revisar e iniciar”.
- Na próxima página, clique em Editar grupos de segurança.
- Você precisará editar o grupo de segurança para permitir que apenas o tráfego do seu computador acesse a VPN ou proxy. Você já deve ter uma regra em vigor para se conectar ao seu servidor via SSH, que usaremos mais tarde. Precisamos adicionar outro para permitir conexões OpenVPN, que usam a porta 1194 por padrão. Por uma questão de simplicidade, sob o De entrada guia, clique no Adicionar regra botão. Colocou o Tipo para UDP personalizado, a Port Range para 1194, e a fonte para Qualquer lugar.
- Bater Salve .
- Clique em “revisar e iniciar” e depois “iniciar” na próxima página.
- Agora, você deseja criar um par de chaves, que funciona como uma senha que você usará para se conectar ao servidor virtual que está criando. Selecione “criar um novo par de chaves” no menu suspenso e nomeie o que quiser. Clique no botão para baixar o par de chaves. Guarde-o em algum lugar seguro.
- A próxima página deve alertá-lo de que a instância está sendo iniciada. Role até a parte inferior e clique em “Visualizar instâncias”. Aqui você verá uma lista de todas as instâncias iniciadas, que, se for a primeira vez que você usa o EC2, serão apenas uma.
Conecte-se ao servidor com o PuTTy
Podemos nos conectar à nossa instância do EC2 com o PuTTy, mas primeiro precisamos de um arquivo de chave adequado para conectar-se. Ao instalar o PuTTy, você também deve ter instalado o PuTTygen. Vá em frente e execute-o agora. O PuTTy e o PuTTygen são executados imediatamente como arquivos .exe sem a necessidade de instalar.
- Abra o PuTTygen, clique em Carregar.
- Navegue até o arquivo de par de chaves .pem que você baixou anteriormente e carregue-o no Puttygen. Você precisará selecionar a opção para mostrar todos os tipos de arquivo para a chave .pem aparecer. Pressione “Salvar chave privada”. O nome do arquivo deve ser idêntico à chave .pem. Você pode criar uma senha para a chave privada, se desejar.
- Agora feche o PuTTygen e abra o PuTTy. Copie o IP público da sua instância do console do EC2 para o PuTTy. Digite um nome para sua sessão e pressione Salvar.
- No painel esquerdo, navegue para “Auth” em SSH. Clique no botão Procurar na parte inferior e navegue até a chave privada que você acabou de gerar.
- De volta à página principal da sessão, nomeie e salve o seu perfil de sessão para que você possa se conectar rapidamente na próxima vez que usar o PuTTy. Depois clique em Abrir.
- Um prompt aparecerá solicitando um nome de usuário. Isso varia de acordo com o tipo de servidor que você configurou no início. Para a Amazon Linux AMI, é “ec2-user”.
Túnel SSH (opcional)
Para começar, vamos redirecionar o tráfego da Web pela instância que criamos usando o encapsulamento SSH e um proxy. Essa é uma maneira rápida e suja de contornar um firewall ou bloqueio geográfico. Não é uma VPN, é melhor para tráfego leve na Web e não funciona com tudo, mas é muito mais simples de configurar. Contudo, configurar o tunelamento SSH é totalmente opcional, fique à vontade para pular para a próxima seção.
Abra o PuTTy e navegue para Tunnels na dor esquerda. Adicione a porta 8080 com Automático e Dinâmico selecionado. Volte para a página Sessão e clique em Salvar novamente para não precisar fazer tudo isso novamente. Depois clique em Abrir.
Agora você está conectado ao seu servidor, mas ainda precisa direcionar o tráfego do seu navegador através dele. Se você usa o Firefox, isso pode ser feito nas configurações do seu navegador. Se você usa o Chrome, baixe a extensão Proxy Switchy. Se você preferir criar uma VPN totalmente funcional, em vez de apenas um proxy para o seu navegador, pule para a próxima seção agora.
No Firefox:
- Vá para Ferramentas > Opções > Avançado > Rede > Conexão > Configurações > Configuração manual de proxy
- Defina o SOCKS Host como 127.0.0.1 e a porta como 8080 (ou o que você definir na porta de encapsulamento no PuTTy).
- Clique em OK para salvar
No Chrome Proxy Switchy
- Uma página de configuração deve aparecer assim que você instalar a extensão ou clique no ícone no canto superior direito do Chrome e clique em Opções.
- Nomeie o perfil como desejar. Em Configuração manual, defina o host SOCKS como 127.0.0.1 e a porta 8080 (ou o que você definir na porta de encapsulamento no PuTTy. Deixe tudo em branco.
- Clique em Salvar e clique no ícone novamente para selecionar seu perfil de proxy.
Voila! O tráfego do seu navegador agora está sendo canalizado através da sua instância do EC2. Isso funcionará bem para navegação básica, mas alguns sites podem ter problemas e aplicativos que não sejam o seu navegador da Web ainda usarão a conexão direta. Para criar uma VPN completa que redireciona todo o tráfego da Internet, continue lendo.
Configure o OpenVPN no servidor e no cliente
O OpenVPN é uma ferramenta gratuita de código aberto que permite executar uma VPN completa na sua instância do Amazon EC2. Isso significa que todo o tráfego da Internet passa por ele, não apenas o tráfego do navegador, como o proxy acima. Programas de desktop como Steam ou Spotify funcionam melhor com essa abordagem.
Conecte-se à sua instância do EC2 usando PuTTy de acordo com as instruções acima. Você deve ter um prompt de comando à sua frente que diga Amazon Linux AMI. Execute os seguintes comandos (digite ou copie / cole-os e pressione enter):
Instalação do sudo yum -y openvpn
sudo modprobe iptable_nat
eco 1 | sudo tee / proc / sys / net / ipv4 / ip_forward
sudo iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Apenas uma nota rápida aqui. Você deve ter notado na captura de tela que tentei incorretamente baixar e instalar o OpenVPN usando o comando “apt-get” em vez de “yum”. Algumas outras versões do Linux ainda usam o apt-get, portanto, se o yum não funcionar para você, tente este comando:
sudo apt-get install -y openvpn
Um monte de texto piscará no prompt de comando enquanto instala o OpenVPN. Os outros três comandos configuram o encaminhamento de IP, necessário para que a VPN funcione.
Método 1: configurando a autenticação PKI com o easy-rsa (recomendado)
Na versão original deste tutorial, configuramos o OpenVPN com criptografia estática e um arquivo .ovpn. Enquanto isso funciona, ele permite que apenas um dispositivo seja conectado por vez, e o fato de você usar apenas uma chave significa que é menos seguro. Agora, recomendamos que os leitores usem o easy-rsa para configurar a autenticação, o que é mais seguro e permite que qualquer número de dispositivos seja conectado simultaneamente. No entanto, se você quiser a versão antiga com criptografia estática, pule para ela clicando aqui.
Atualização de maio de 2023: este artigo foi atualizado para uso com o easy-rsa 3.
Configuração do servidor OpenVPN e easyrsa
Idealmente, você geraria todas as chaves e certificados necessários em um dispositivo separado do servidor VPN para obter segurança máxima. Isso pode ser bastante entediante, no entanto, apenas geraremos credenciais de cliente e servidor no servidor e moveremos os arquivos para onde precisamos deles a partir daí.
- O Easy-rsa não está disponível na lista de pacotes padrão do yum, portanto, precisamos ativar o repositório EPEL para instalá-lo. Digite o seguinte no terminal PuTTy e pressione Enter:
- sudo yum instalar easy-rsa -y –enablerepo = epel
- Crie um diretório easy-rsa no diretório de instalação do OpenVPN. Copie os arquivos da sua instalação easy-rsa (a versão mais recente é 3.0.3 no momento da gravação) para o novo diretório:
- sudo mkdir / etc / openvpn / easy-rsa
cd / etc / openvpn / easy-rsa
sudo cp -Rv /usr/share/easy-rsa/3.0.3/*
- sudo mkdir / etc / openvpn / easy-rsa
- Agora estamos prontos para configurar nossa autoridade de certificação. Comece inicializando um novo diretório PKI (infraestrutura de chave pública) e crie um par de chaves de autoridade de certificação.
- sudo ./easyrsa init-pki
sudo ./easyrsa build-ca
- sudo ./easyrsa init-pki
- Digite uma senha do PEM. Isso não é necessário, mas recomendado. Se alguém obtiver sua CA de alguma forma, ela não poderá criar chaves ou assinar certificados sem a senha.
- Você será solicitado a inserir um nome comum. Chame o que quiser ou apenas aperte Entrar para deixá-lo como o valor padrão.
- Em seguida, geraremos uma chave Diffie-Hellman, que fornece sigilo avançado perfeito:
- sudo ./easyrsa gen-dh
- Este comando pode demorar um pouco. Isso irá gerar um arquivo chamado dh.pem. Depois de concluído, passamos às credenciais do servidor. Por conveniência, não os protegeremos por senha, mas você certamente será bem-vindo se quiser uma segurança ainda maior.
- sudo ./easyrsa nopass do servidor gen-req
- Bater Entrar para deixar o nome comum como servidor. Depois que o par de chaves for gerado, assine o certificado:
- servidor do servidor sudo ./easyrsa sign-req server
- Tipo sim para confirmar e inserir sua senha de CA se você definir uma senha anterior.
- Agora vamos configurar o cliente. Novamente, não definiremos uma senha para isso, mas você é bem-vindo. Observe que, se você deseja configurar a inicialização automatizada da VPN, é melhor não definir uma senha.
- ./ easyrsa gen-req cliente nopass
- Bater Entrar para deixar o nome comum como cliente. Agora assine:
- cliente sudo ./easyrsa sign-req client
- Tipo sim para confirmar e inserir sua senha de CA se você definir uma.
- Em seguida, geraremos uma chave TLS para o perfeito sigilo de encaminhamento no OpenVPN, o que garante que os dados da sessão anterior não possam ser descriptografados, mesmo se um invasor se apossar da chave privada.
- cd / etc / openvpn
openvpn –genkey –secret pfs.key
- cd / etc / openvpn
- Agora, geramos todos os arquivos de credenciais de que precisamos. Em seguida, criaremos um arquivo de configuração do servidor OpenVPN. Já temos um escrito para você abaixo, então tudo o que você precisa fazer é copiar e colar, se você o seguiu desde o início. Comece navegando para o diretório OpenVPN e criando um novo arquivo:
- cd / etc / openvpn
sudo nano server.conf
- cd / etc / openvpn
- Agora você está no editor de nano texto. Copie e cole a seguinte configuração e pressione CTRL + O salvar, Entrar para confirmar e CTRL + X sair. (Dica: você pode colar o texto da área de transferência no PuTTy clicando com o botão direito do mouse)
- porta 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
chave /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh.pem
cifra AES-256-CBC
auth SHA512
servidor 10.8.0.0 255.255.255.0
empurrar "redirecionar-gateway def1 bypass-dhcp"
empurrar "dhcp-option DNS 8.8.8.8"
empurrar "dhcp-option DNS 8.8.4.4"
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
chave persistente
persist-tun
status openvpn-status.log
anexar log openvpn.log
verbo 3
tls-server
tls-auth /etc/openvpn/pfs.key
- porta 1194
- O servidor está agora configurado. Nós só precisamos iniciar o OpenVPN. Nós o iniciaremos como um serviço para que, mesmo depois de você fechar o PuTTy, ele continue em execução até que o servidor seja desligado ou você termine manualmente o serviço.
- serviço sudo openvpn start
Editar: Alguns leitores apontaram que seus servidores VPN param de funcionar após a reinicialização ou manutenção do servidor. Isso acontece ocasionalmente com instâncias EC2 de camada intermediária. Para evitar isso, usaremos um comando e um script de bash, cortesia de Matt Doyle na seção de comentários. Comece com este comando:
sudo chkconfig openvpn em
Enquanto você ainda está no etc / openvpn, use nano server.sh para criar um novo arquivo de texto e cole o seguinte:
#! / bin / sh
eco 1 | sudo tee / proc / sys / net / ipv4 / ip_forward
sudo iptables -t nat -A POSTROUTING -s 10.4.0.1/2 -o eth0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Usar CTRL + O para salvar e CTRL + X sair.
O comando garantirá que o OpenVPN seja iniciado quando o servidor inicializar e o script garantirá que as rotas necessárias sejam configuradas no iptables para permitir o tráfego do OpenVPN.
Configuração do cliente OpenVPN e easyrsa
Agora que o servidor está configurado, precisamos configurar o cliente. Para fazer isso, teremos que mover o certificado e os arquivos de chave necessários do nosso servidor para o dispositivo do cliente. Com o PuTTy ainda aberto e em execução como root, primeiro precisamos alterar as permissões nesses arquivos para poder acessá-los. Também colocaremos todos em um só lugar para facilitar um pouco as coisas.
- Para acessar alguns desses arquivos, precisamos ser usuários root. Para fazer isso, digite:
- sudo su
- Isso fará de você o usuário root e concederá privilégios administrativos. Agora digite os seguintes comandos. O último comando reduz as permissões necessárias para acessar esses arquivos. Observe que é importante alterá-los novamente quando terminar.
- cd / etc / openvpn
chaves mkdir
chaves cp pfs.key
Chaves cp /etc/openvpn/easy-rsa/pki/dh.pem
chaves cp /etc/openvpn/easy-rsa/pki/ca.crt
cp /etc/openvpn/easy-rsa/pki/private/ca.key keys
cp /etc/openvpn/easy-rsa/pki/private/client.key keys
chaves cp /etc/openvpn/easy-rsa/pki/issued/client.crt
chmod 777 *
- cd / etc / openvpn
- Para retirar os arquivos do servidor e do PC, usaremos um programa gratuito chamado WinSCP. Basta usar as opções de instalação padrão. Feito isso, uma janela deve aparecer solicitando que você importe os detalhes de autenticação do servidor do PuTTy. Selecione o que fizemos acima e continue.
- Selecione myvpn (ou o que você nomeou como seu) e pressione o botão Editar. Digitar usuário ec2 sob nome de usuário. Clique em Login.
- Se não é a primeira vez que você usa o WinSCP, você pode definir o arquivo .ppk usado no PuTTy clicando em Editar e Avançado. Vamos para SSH > Autenticação > Arquivo de chave privada e navegue para o seu arquivo PPK.
- No campo nome do host na página principal, você pode inserir o endereço IP ou o domínio da sua instância do EC2. Certifique-se de salvar suas configurações e pressione Conecte-se.
- No painel direito, navegue até o diretório que contém seus arquivos de chave, nesse caso / etc / openvpn / keys
- Destaque os seis arquivos necessários: client.crt, client.key, ca.crt, dh.pem, pfs.key, e ca.key (não mostrado devido à atualização do artigo). Acerte o verde Baixar botão. Realmente não importa para onde eles vão no painel esquerdo, desde que você não precise de privilégios de administrador para acessá-lo. Colocamos os arquivos em nossa área de trabalho por uma questão de simplicidade. No entanto, você deseja armazenar o arquivo ca.key em algum lugar seguro, como uma unidade USB.
- A última ponta solta que precisamos amarrar é removendo o arquivo ca.key do servidor. A CA, ou autoridade de certificação, é usada para assinar certificados de clientes e, se alguma vez for comprometida, você nunca poderá confiar nos certificados emitidos por essa CA novamente. Embora isso não seja necessário para o funcionamento da VPN, é altamente recomendável fazê-lo, especialmente se você não configurou uma senha para a autoridade de certificação. Verifique se você possui todas as chaves e certificados de todos os dispositivos que deseja conectar antes de remover o arquivo. Se você quiser adicionar mais posteriormente, precisará mover o arquivo ca.key de volta para o servidor.
- Depois de ter a chave CA armazenada com segurança em algum lugar que não seja o servidor, entre no PuTTy e remova a ca.key original e a cópia que fizemos do servidor:
- sudo rm /etc/openvpn/easy-rsa/pki/private/ca.key
sudo rm /etc/openvpn/keys/ca.key
- sudo rm /etc/openvpn/easy-rsa/pki/private/ca.key
- Após o download dos arquivos, precisamos restaurar suas permissões mais rígidas no servidor para que ninguém possa acessá-los. De volta ao PuTTy:
- cd / etc / openvpn / keys
sudo chmod 600 *
- cd / etc / openvpn / keys
- No seu PC, recorte e cole esses cinco arquivos de onde você os baixou na pasta de configuração do OpenVPN. Nesse caso, isso é C: // Arquivos de programas // OpenVPN // config.
- Por fim, precisamos criar um arquivo de configuração do cliente. Abra seu editor de texto sem formatação favorito (o Bloco de Notas funciona bem) clicando com o botão direito e selecionando Executar como administrador e cole a seguinte configuração, substituindo YOUR.EC2.INSTANCE.IP pelo endereço IP da sua instância do EC2:
- cliente
dev tun
proto udp
remoto YOUR.EC2.INSTANCE.IP 1194
ca ca.crt
cert client.crt
chave client.key
tls-version-min 1.2
tls-cifra TLS-ECDHE-RSA-COM-AES-128-GCM-SHA256: TLS-ECDHE-ECDSA-COM-AES-128-GCM-SHA256: TLS-ECDHE-RSA-COM-AES-256-GCM-SHA384 : TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
cifra AES-256-CBC
auth SHA512
resolver-repetir infinito
nenhuma tentativa de autenticação
nobind
chave persistente
persist-tun
servidor do tipo ns-cert
comp-lzo
verbo 3
tls-client
tls-auth pfs.key
- cliente
- Este é um arquivo de configuração do Windows para a GUI do OpenVPN, por isso, o salvaremos como client.ovpn. Outros clientes OpenVPN podem usar a extensão .conf. Seja qual for o caso, verifique se o editor de texto não adiciona a extensão .txt após salvar. Salve-o no mesmo local que seus arquivos de chave e certificação: C: \\ Arquivos de Programas \\ OpenVPN \\ config
- Agora execute o GUI do OpenVPN no modo administrador clicando com o botão direito do mouse e selecionando Executar como administrador. Clique com o botão direito do mouse no ícone na bandeja do sistema e conecte-se ao cliente configuração que acabamos de configurar. Uma tela de status com muito texto piscará na tela e o ícone ficará verde.
Parabéns! Agora você está conectado à sua VPN caseira.
Método # 2: Criptografia estática (mais fácil, mas não recomendado)
Nesse método, criaremos uma chave compartilhada para autenticação. É como um arquivo que age como uma senha. É mais fácil de configurar, mas apenas permite que um único dispositivo seja conectado à VPN a qualquer momento e é menos seguro que o método easy-rsa acima.
- Em PuTTy Digite os seguintes comandos e pressione Enter:
- cd / etc / openvpn
sudo openvpn –genkey –secret ovpn.key
- cd / etc / openvpn
- Agora vamos criar um arquivo de configuração do servidor para nossa VPN. Digite o seguinte comando para criar um arquivo de texto em branco em um editor de texto muito básico dentro do terminal:
- sudo nano openvpn.conf
- Digite a seguinte configuração. Você pode encontrar mais opções no site do OpenVPN, se quiser brincar com isso mais tarde, mas saiba o que está fazendo primeiro.
- porta 1194
proto tcp-server dev tun1
ifconfig 10.4.0.1 10.4.0.2
status server-tcp.log
verbo 3
segredo ovpn.key
- porta 1194
- Agora pressione CTRL + O (que é a letra ‘O’ diferente de zero) e pressione Enter para salvar o arquivo. Em seguida, pressione CTRL + X para sair do editor de texto. De volta ao prompt de comando, é hora de iniciar o OpenVPN:
- serviço sudo openvpn start
- Em seguida, precisamos obter a chave compartilhada do servidor para o computador local. Primeiro, precisamos alterar as permissões nesse arquivo para acessá-lo usando o seguinte comando:
- sudo chmod 777 ovpn.key
- Se, a qualquer momento, você fechar o PuTTy acidentalmente ou ele simplesmente sair, você poderá navegar de volta para o diretório de instalação da VPN aberta depois de reconectar usando este comando:
- cd / etc / openvpn
- Para tornar isso o mais fácil possível, faça o download e instale este aplicativo gratuito, WinSCP (os usuários de Mac precisarão encontrar outro cliente de FTP. Não se preocupe, existem muitos). Basta usar as opções de instalação padrão. Feito isso, uma janela deverá aparecer solicitando que você importe os detalhes de autenticação do servidor do PuTTy. Selecione o que fizemos acima e continue.
- Selecione myvpn (ou o que você nomeou como seu) e pressione o botão Editar. Digite “ec2-user” sob o nome do usuário. Clique em Login.
- Agora você pode mover arquivos entre o servidor de instância do EC2 e o computador local. No painel direito, navegue o máximo que puder e vá para etc / openvpn. Aqui você encontrará o arquivo ovpn.key de que precisamos. Clique e arraste-o para a pasta de sua escolha, mas lembre-se de onde você o coloca, pois queremos movê-lo mais tarde.
- Agora que você possui a chave, precisamos reaplicar as permissões antigas para que ninguém possa obtê-las. De volta ao seu terminal PuTTy, digite:
- sudo chmod 600 ovpn.key
- É hora de baixar o cliente OpenVPN e a GUI para o seu computador local. Vá para a página de downloads do OpenVPN e escolha a versão apropriada para o seu sistema operacional. Instale-o com as configurações padrão.
- Inicie o OpenVPN e ele deve aparecer como um ícone na bandeja do sistema. Abra um explorador de arquivos e navegue até onde você instalou o OpenVPN, provavelmente na sua pasta Arquivos de Programas. Mova o arquivo opvn.key que baixamos do servidor para a pasta de configuração encontrada aqui (C: / Arquivos de Programas / OpenVPN / config… se você usou o diretório de instalação padrão no Windows).
- Em seguida, precisamos criar um arquivo de configuração para a máquina local para corresponder à que fizemos no nosso servidor. Abra o Bloco de notas e cole o seguinte, substituindo o endereço IP após “remoto” pelo IP da sua instância do EC2 (se você o esqueceu, localize-o no console da AWS em Instâncias do EC2). Além disso, verifique se o caminho completo do arquivo apontando para sua chave está correto.
- proto tcp-client
controlo remoto
porta 1194
dev tun
segredo "C: \\ Arquivos de Programas \\ OpenVPN \\ config \\ ovpn.key"
redirecionamento-gateway def1
ifconfig 10.4.0.2 10.4.0.1
- proto tcp-client
- Salve-o como myconfig.ovpn (verifique se o editor de texto não o anexou como myconfig.ovpn.txt por engano) na pasta de configuração da sua instalação do OpenVPN, o mesmo local do arquivo opvn.key.
- Clique com o botão direito do mouse no ícone OpenVPN na bandeja do sistema e clique em Sair para sair. Agora, inicie-o novamente – no atalho da área de trabalho ou na pasta Arquivos de programa -, mas desta vez, clique com o botão direito do mouse e clique em “Executar como administrador”. Se você não executar o OpenVPN como administrador no Windows, provavelmente não funcionará.
- Clique com o botão direito do mouse no ícone da bandeja do sistema e clique em Conectar. A GUI do OpenVPN deve aparecer mostrando o status da conexão. Supondo que funcionou, o ícone da bandeja do sistema ficará verde. Vá para o Google e digite “Qual é o meu IP?”, E ele deve retornar o endereço IP da sua instância do Amazon EC2.
Parabéns, você acabou de criar sua própria VPN!
Notas Adicionais
Se você deseja proteger sua VPN da inspeção profunda de pacotes, uma técnica usada pelos regimes de censura em lugares como China e Síria para bloquear conexões OpenVPN, confira nosso tutorial sobre como configurar o Obfsproxy. Observe que este tutorial foi escrito como uma espécie de sequela do método nº 2 mais antigo deste artigo; portanto, se você usou o easy-rsa, será necessária alguma configuração adicional.
Lembre-se de manter sua largura de banda dentro dos limites da camada gratuita da Amazon. A maneira mais fácil de fazer isso é clicar com o botão direito do mouse na sua instância no Console da AWS e clicar no link “Adicionar / editar alarmes”. Você pode configurar o servidor para parar ou até terminar após algumas horas de inatividade. O nível gratuito permite 750 horas por mês (que cobre todo o mês), portanto você não precisa fazer isso. Os usuários que passaram pelo último ano de serviço gratuito ou fizeram mais com o servidor, no entanto, podem evitar cobranças desnecessárias pelo tempo não utilizado do servidor.
Em algum lugar deste tutorial, algo provavelmente dará errado para você. Se você realmente deseja uma VPN, mas não deseja fazer sua parte justa na solução de problemas, provavelmente é melhor optar por um serviço de VPN pago. Eles também permitem que você canalize seu tráfego da Internet através de várias localizações geográficas, enquanto uma instância do EC2 é limitada a apenas uma. Confira nossos comentários sobre VPN aqui!
Codificar servidores DNS na sua VPN
Se você precisar configurar servidores DNS específicos para usar com sua VPN, existem algumas opções.
Para “enviar” o servidor DNS ao cliente, adicione esta linha à configuração do servidor. Isso afetará todos os dispositivos que se conectam à sua VPN (citações incluídas):
empurrar "dhcp-option DNS 45.56.117.118"
Como alternativa, você pode definir o DNS em uma configuração de cliente individual usando:
dhcp-option DNS 45.56.117.118
Nestes exemplos, usei um servidor DNS público OpenNIC com log anônimo localizado nos EUA. Você pode encontrar um servidor OpenNIC no país de sua escolha e filtrar por recursos como registro anônimo e DNSCrypt aqui.
Agradecimentos especiais ao blog de Dctr Watson, no qual me apoiei como recurso ao escrever este artigo.
Jon Watson (nenhuma relação, eu acho) contribuiu para este artigo.
Eu concordo que os usuários da Internet têm muitas opções quando se trata de serviços VPN, mas muitas vezes eles são caros, inseguros ou lentos. É ótimo saber que existem alternativas, mesmo que elas exijam um pouco mais de conhecimento técnico. Aprender a criar sua própria VPN pode ser uma ótima solução para aqueles que desejam mais controle e segurança. O artigo fornece instruções claras e úteis para configurar uma VPN usando o Amazon Web Services, e é ótimo que eles incluam comandos e configurações para facilitar o processo. O conhecimento básico de Unix e servidores é útil, mas com as instruções fornecidas, acredito que muitas pessoas poderão criar sua própria VPN com sucesso. Obrigado por compartilhar essas informações úteis!