Crie sua VPN com Banana Pi OpenVPN

Crie sua VPN com Banana Pi

Houve uma campanha publicitária através da internet sobre a vigilância do governo e espionagem. Uma dos melhores formas para proteger a sua privacidade digital é usando uma VPN para acessar a internet.

Embora os locais onde podemos colocar nossa Banana Pi são limitados, uma rede privada virtual também pode ajudar a passar por cima de firewalls em locais remotos ou conectar com segurança a sua rede doméstica de seu trabalho.

Open VPN

OpenVPN é um software opensource que permite a conexão segura a partir de um computador, smartphone, para um servidor. VPN, redes privadas virtuais, podem ser usados para hop sobre firewalls, acessar a internet sem restrições, ou ocultar o seu tráfego por trás de um servidor.

Com o Banana Pi M1, estaremos criando um servidor OpenVPN que irá fornecer o seu com uma VPN pessoal livre.

O que vamos usar?

Uma Banana Pi M1 com cartão SD e Bananian instalado
Ligação à Internet (com cabo)
Port Forwarding no router
Um computador / Smartphone

Todo o processo pode ser realizado com JuiceSSH  no Android ao invés de usar um computador.

 

Vídeo

 

Fonte do Vídeo: https://www.youtube.com/watch?v=6FoSoC4AA5o

 

Outiline

Fazer um servidor OpenVPN é um dos projetos mais difíceis aqui. Trata-se de muita configuração. Não é simplesmente copiar e colar o projeto! Fiz um esboço que mostra as etapas envolvidas.

1 - Preparando-se (atualização, alteração de senhas padrão e instalar OpenVPN)
2 - Gerando chaves (definir o tamanho da chave e gerar chaves criptografadas)
3 - Configuração do lado do servidor para a conexão
4 - Criando perfil .ovpn para uso do lado do cliente
5 - Port Forwarding no router
6 - Teste de Conexão

Começando o Projeto

Primeiro, você vai ter que atualizar seu sistema operacional para ter certeza que está atualizado e não vulnerável a bugs conhecidos.

 

apt-get update
 apt-get upgrade

 

É altamente recomendável alterar a senha padrão, muitos roteadores foram hackeados porque as pessoas não se preocupam em mudar a senha padrão.

 

passwd

 

Em seguida, vamos instalar o OpenVPN

 

apt-get install openvpn 

 

 

Gerando Chaves

Uma vez o OpenVPN instalado, temos que começar a gerar chaves e modificar as configurações.
Em primeiro lugar, vamos fazer um novo diretório para as chaves.

 

mkdir /etc/openvpn/easy-rsa/
 cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

 

Então, nós apenas copiamos alguma configuração exemplo para o diretório que será modificado  e geramos as chaves.

Podemos continuar editando a configuração do servidor
Eu decidi mudar o tamanho da chave de criptografia de 1024 bits para 2048 bits para segurança extra.

 

 sed -i 's/KEY_SIZE=1024/KEY_SIZE=2048/' /etc/openvpn/easy-rsa/vars

 

Agora, mude o diretório easy-rsa para aquele que acabamos de criar

 

nano /etc/openvpn/easy-rsa/vars 

 

Altere o diretório theeasy-rsa do `pwd` para

/etc/openvpn/easy-rsa 

 

 

Agora podemos começar a gerar as chaves. Precisamos apagar todas as chaves de exemplo e gerar chaves para o novo servidor.

Eu tive problemas no vídeo, mas agora este comando irá ajudá-lo muito! Dá-lhe-á permissão para executar programas na pasta.

 

chmod  -R 777 /etc/openvpn/
 cd /etc/openvpn/easy-rsa
 source ./vars 
 ./clean-all

 

Construindo as Chaves

 ./build-ca

 

Uma série de prompts irão aparecer, eu recomendo que você deixe tudo  padrão e apenas clique em 'enter'. Se você mudar os padrões, tenha muito cuidado, pois as coisas podem não darem certo.

Construa uma chave do servidor. 'bananapi' é o nome do meu servidor, você pode mudá-lo se quiser.

 ./build-key-server bananapi 

 

Gere outra chave:

openvpn --genkey --secret ta.key
 cd 
 cp ca.key /etc/openvpn/easy-rsa/keys/ta.key

 

Crie uma chave privilegiada aleatória, ele vai levar um longo tempo. 10 a 20 minutos.

 

 ./build-dh

 

Construa uma chave para user1

./build-key-pass user1

 

Você pode mudar "user1"  para qualquer nome que quiser, mas lembre-se que estamos criando perfis de usuário.
Quando solicitado, digite uma senha PEM de sua escolha, mas deixe tudo em branco!

 

Server Config

Agora,  podemos proceder da seguinte forma: configure o servidor, uma vez que estaremos introduzindo linhas a partir do zero, pode ser uma boa idéia para você copiar e colar linhas abaixo:

 nano /etc/openvpn/server.conf

 

Nano vai abrir um documento em branco, então cole as linhas abaixo nesse documento: 

local 192.168.x.xxx 
#(fill in with local IP of your Banana Pi)
dev tun
proto tcp
port 443
ca /etc/openvpn/easy-rsa/keys/ca.crt 
cert /etc/openvpn/easy-rsa/keys/Server.crt
key /etc/openvpn/easy-rsa/keys/Server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig 10.8.0.1 10.8.0.2 
push "route 10.8.0.1 255.255.255.255" 
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.x.xxx 255.255.255.0" 
#(fill in with Banana Pi IP)
push "dhcp-option DNS 192.168.x.x
#(fill in with your router IP)
push "redirect-gateway def1" 
client-to-client
duplicate-cn 
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 
cipher AES-256-CBC
comp-lzo 
persist-key 
persist-tun 
status openvpn-status.log
verb 3

 

 

Agora temos que habilitar o encaminhamento ipv4 no Banana Pi Server e modificar as configurações de firewall

 

nano /etc/sysctl.conf

 

Encontre a linha 'descomentar para permitir o encaminhamento de pacotes IPv4 "e excluir teh' # 'no início do script nessa linha.

nano /etc/firewall-openvpn-rules.sh

 

 

Estamos criando um novo arquivo que conterá as configurações. Preencha-o com as configurações abaixo:

 

 #!/bin/bash
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 192.168.XX.X

 

Nota: a linha vermelha é uma linha de comando.

 

 

Agora precisamos definir o arquivo para executar na inicialização

 

chmod 700 /etc/firewall-openvpn-rules.sh
 chown root /etc/firewall-Openvpn-rules.sh

 

Fizemos o arquivo executável 'firewall-openvpn-rules.sh'

 

nano /etc/network/interfaces

 

Depois de "iface eth0 inet dhcp", travessão e adicione abaixo da linha como a imagem abaixo:

pre-up /etc/firewall-openvpn-rules.sh

 

 

Fizemos o arquivo  firewall-openvpn-rules.sh executar automaticamente o caminho mais fácil. Depois, adicionamos a linha:

 

 sh /etc/firewall-openvpn-rules.sh' after 'exit 0' at the end of the document '/etc/rc.local

 

Agora é hora de criar um arquivo de configuração para o cliente abrir no Android.
Crie um novo arquivo

 

nano /etc/openvpn/easy-rsa/keys/user1.ovpn

 

 Vai abrir um documento em branco, então precisamos colocar o código abaixo:

client
dev tun
proto tcp
remote (public IP of your house) 443 
#(443 is the port)
resolv-retry infinite
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert user1.crt
key user1.key
ns-cert-type server
cipher AES-256-CBC
comp lzo
verb3
mute 20

 

Ou para ver o exemplo de configuração original, copie o arquivo conf como user1.ovpn (vermelho é uma linha)

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/user1.ovpn

 

 

Agora use FileZilla  para se conectar e baixar arquivos a partir da Banana Pi. Download 'ca.cert'

 

user1.crt''user1.key'and'user1.opvn

 

Depois que o arquivo está no seu PC, faça o upload para o Google Drive para que você possa baixá-lo em seu Android.

 

Start Open VPN and debug

Para iniciar e reiniciar o servidor:

 

 service openvpn restart

 

Se o servidor não for iniciado, faça o debug com:

 

grep ovpn /var/log/syslog

 

Port Forwarding

Você já deve estar  familiarizado e sabe que o encaminhamento de porta é fácil! Basta ir para a página de controle do seu roteador, digitando o seu endereço IP do roteador. O endereço IP deve ter essa aparência:  192.168.1.1

Testando Conexão

Mova os arquivos do seu Banana Pi para o seu desktop ou nuvem com FileZilla usando sftp
sob o diretório

 /etc/openvpn/easy-rsa/keys/

 

arquivos para copiar:

 

 ca.crt
user1.crt
user1.key
ta.key
user1.ovpn

 

Firewall Jumping 

Faça uma pesquisa no jumping firewall e veja se é um firewall básico, em seguida, defina a porta para 443 e protocolo TCP.
Mas há também packet sniffing firewalls que são mais difíceis de esconder , mas acho que um túnel SSL irá fazer o truque e vou fazer mais pesquisa e experiência com ele.


Agora podemos baixar OpenVPN conectado a partir do Play Store para testar a nossa VPN :)
Importe o arquivo .opvn partir do cartão SD e está pronto!

 

 

 

 

 

Para baixar a versão em PDF, clique no link abaixo:

https://www.lojamundi.com.br/download/crie-sua-vpn-com-banana-pi-openvpn/crie-sua-vpn-com-banana-pi-openvpn.pdf

 

 


 

Fonte: http://projectbananapi.blogspot.com.br/2015/01/cheap-personal-vpn-with-banana-pi.html

Posted in: Banana PiEmbarcados

ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.