Principal Mac Transforme um Raspberry Pi em uma VPN para acessar sua rede de qualquer lugar

Transforme um Raspberry Pi em uma VPN para acessar sua rede de qualquer lugar



Por que usar uma VPN para acessar sua casa

Existem muitos motivos pelos quais você deseja acessar sua rede doméstica remotamente, e a melhor maneira de fazer isso é com um servidor VPN. Alguns roteadores permitem que você configure um servidor VPN diretamente no roteador, mas em muitos casos, você mesmo precisará configurar um.

Um Raspberry Pi é uma ótima maneira de fazer isso. Eles não requerem muita energia para funcionar e têm energia suficiente para executar um servidor VPN. Você pode configurar um próximo ao roteador e basicamente esquecê-lo.

Quando você tem acesso à sua rede doméstica remotamente, pode obter seus arquivos de qualquer lugar. Você pode executar seus computadores domésticos remotamente. Você pode até usar a conexão VPN da sua casa na estrada. Uma configuração como essa permite que seu telefone, tablet ou laptop funcione como se estivesse em casa, de qualquer lugar.

Configure o Pi

Antes de começar a configurar a VPN, você precisará configurar seu Raspberry Pi. É melhor configurar o Pi com um case e um cartão de memória de tamanho decente, 16 GB deve ser mais do que suficiente. Se possível, conecte seu Pi ao roteador com um cabo Ethernet. Isso minimizará quaisquer atrasos na rede.

Instale o Raspbian

O melhor sistema operacional para usar no seu Pi é o Raspbian. É a escolha padrão lançada pela fundação Raspberry Pi, e é baseado no Debian, uma das versões Linux mais seguras e estáveis ​​disponíveis.

Vou ao Página de download do Rasbian e pegue a versão mais recente. Você pode usar a versão Lite aqui, porque na verdade você não precisa de uma área de trabalho gráfica.

Durante o download, obtenha a versão mais recente do Etcher para o seu sistema operacional. Após a conclusão do download, extraia a imagem Raspbian. Em seguida, abra o Etcher. Selecione a imagem Raspbian de onde você a extraiu. Selecione seu cartão SD (insira-o primeiro). Finalmente, escreva a imagem no cartão.

como dar ao minecraft mais memória RAM

Deixe o cartão SD no seu computador quando terminar. Abra um gerenciador de arquivos e navegue até o cartão. Você deve ver algumas partições diferentes. Procure a partição de inicialização. É aquele com um arquivo kernel.img nele. Crie um arquivo de texto vazio na partição de inicialização e chame-o de ssh sem extensão de arquivo.

Você pode finalmente conectar seu Pi. Certifique-se de ligá-lo por último. Você não vai precisar de tela, teclado ou mouse. Você vai acessar remotamente o Raspberry Pi pela sua rede.

Dê ao Pi alguns minutos para se configurar. Em seguida, abra um navegador da web e navegue até a tela de gerenciamento do roteador. Encontre o Raspberry Pi e anote seu endereço IP.

Esteja você no Windows, Linux ou Mac, abra o OpenSSH. Conecte-se ao Raspberry Pi com SSH.

$ ssh [email protected] 

Obviamente, use o endereço IP real do Pi. O nome de usuário ésempre pi, e a senha éframboesa.

Configurar OpenVPN

O OpenVPN não é exatamente simples de configurar como servidor. A boa notícia é que você só precisa fazer isso uma vez. Portanto, antes de começar, certifique-se de que o Raspbian está completamente atualizado.

$ sudo apt update $ sudo apt upgrade

Após a conclusão da atualização, você pode instalar o OpenVPN e o utilitário de certificado de que precisa.

$ sudo apt install openvpn easy-rsa

Autoridade Certificadora

Para autenticar seus dispositivos quando eles tentam se conectar ao servidor, você precisa configurar uma autoridade de certificação para criar chaves de assinatura. Essas chaves garantirão que apenas seus dispositivos possam se conectar à sua rede doméstica.

Primeiro, crie um diretório para seus certificados. Mova para esse diretório.

$ sudo make-cadir /etc/openvpn/certs $ cd /etc/openvpn/certs

Procure por arquivos de configuração OpenSSL. Em seguida, vincule o mais recente comopenssl.cnf.

$ ls | grep -i openssl $ sudo ln -s openssl-1.0.0.cnf openssl.cnf

Nessa mesma pasta certs está um arquivo chamado vars. Abra esse arquivo com o seu editor de texto. Nano é o padrão, mas fique à vontade para instalar o Vim, se você se sentir mais confortável com ele.

Editar o arquivo Vars

Encontre oKEY_SIZEvariável primeiro. Está definido para2048por padrão. Mudar para4096.

export KEY_SIZE=4096

O bloco principal com o qual você precisa lidar estabelece informações sobre sua autoridade de certificação. Ajuda se essas informações forem precisas, mas qualquer coisa de que você se lembre está bem.

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' export KEY_NAME='HomeVPN'

Quando você tiver tudo, salve e saia.

O pacote Easy-RSA que você instalou antes contém muitos scripts que ajudam a configurar tudo o que você precisa. Você só precisa executá-los. Comece adicionando o arquivo vars como uma fonte. Isso carregará todas as variáveis ​​que você acabou de definir.

$ sudo source ./vars

Em seguida, limpe as chaves. Você não tem nenhuma, então não se preocupe com a mensagem dizendo que suas chaves serão excluídas.

$ sudo ./clean-install

Criar autoridade de certificação

Finalmente, crie sua autoridade de certificação. Você já definiu os padrões, então você pode apenas aceitar os padrões que ele apresenta. Lembre-se de definir uma senha forte e responder sim às duas últimas perguntas, seguindo a senha.

$ sudo ./build-ca

Faça Algumas Chaves

Construa a chave do servidor

Você passou por todo esse trabalho para configurar uma autoridade de certificação para poder assinar as chaves. Agora, é hora de fazer alguns. Comece construindo a chave para o seu servidor.

$ sudo ./build-key-server server

Construir Diffie-Hellman

Em seguida, construa o Diffie-Hellman PEM. É o que o OpenVPN usa para proteger as conexões do cliente com o servidor.

$ sudo openssl dhparam 4096 > /etc/openvpn/dh4096.pem

A última chave de que você precisa a partir de agora é chamada de chave HMAC. O OpenVPN usa essa chave para assinar cada pacote individual de informações trocadas entre o cliente e o servidor. Ajuda a prevenir certos tipos de ataques à conexão.

$ sudo openvpn --genkey --secret /etc/openvpn/certs/keys/ta.key

Configuração do Servidor

Você tem as chaves. A próxima parte da configuração do OpenVPN é a própria configuração do servidor. Felizmente, não há muito que você precise fazer aqui. O Debian fornece uma configuração básica que você pode usar para começar. Portanto, comece obtendo esse arquivo de configuração.

$ sudo gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Use seu editor de texto novamente para abrir/etc/openvpn/server.conf. As primeiras coisas que você precisa encontrar são osnaquela,cert, echavearquivos. Você precisa configurá-los para corresponder aos locais reais dos arquivos que você criou, que estão todos em/ etc / openvpn / certs / keys.

Chaves de configuração do servidor OpenVPN

ca /etc/openvpn/certs/keys/ca.crt cert /etc/openvpn/certs/keys/server.crt key /etc/openvpn/certs/keys/server.key # This file should be kept secret

Encontre oieconfiguração e altere-a para corresponder ao Diffie-Hellman.pemque você criou.

dh dh4096.pem

Defina também o caminho para sua chave HMAC.

tls-auth /etc/openvpn/certs/keys/ta.key 0

Encontre ocifrae certifique-se de que corresponde ao exemplo abaixo.

cipher AES-256-CBC

As próximas opções estão lá, mas são comentadas com um;. Remova os pontos-e-vírgulas na frente de cada opção para ativá-los.

push 'redirect-gateway def1 bypass-dhcp' push 'dhcp-option DNS 208.67.222.222' push 'dhcp-option DNS 208.67.220.220'

Procure odo utilizadoregrupoopções. Descomente-os e mude odo utilizadorpara openvpn.

user openvpn group nogroup

Finalmente, essas duas últimas linhas não estão na configuração padrão. Você precisará adicioná-los ao final do arquivo.

Autenticação de configuração do servidor OpenVPN

Defina o resumo de autenticação para especificar uma criptografia mais forte para autenticação do usuário.

# Authentication Digest auth SHA512

Em seguida, limite as cipers que o OpenVPN pode usar apenas para as mais fortes. Isso ajuda a limitar possíveis ataques a cifras fracas.

# Limit Ciphers tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Isso é tudo para configuração. Salve o arquivo e saia.

Inicie o servidor

Antes de iniciar o servidor, você precisa fazer issoopenvpnusuário que você especificou.

$ sudo adduser --system --shell /usr/sbin/nologin --no-create-home openvpn

É um usuário especial apenas para executar o OpenVPN e não fará mais nada.

Agora, inicie o servidor.

$ sudo systemctl start openvpn $ sudo systemctl start [email protected] 

Verifique se ambos estão funcionando

$ sudo systemctl status openvpn*.service

Se tudo estiver certo, habilite-os na inicialização.

$ sudo systemctl enable openvpn $ sudo systemctl enable [email protected] 

Configuração do cliente

Seu servidor agora está configurado e funcionando. Em seguida, você precisa definir a configuração do cliente. Esta é a configuração que você usará para conectar seus dispositivos ao servidor. Retorne paracertopasta e prepare-se para construir a (s) chave (s) do cliente. Você pode escolher construir chaves separadas para cada cliente ou uma chave para todos os clientes. Para uso doméstico, uma chave deve servir.

$ cd /etc/openvpn/certs $ sudo source ./vars $ sudo ./build-key client

O processo é quase idêntico ao do servidor, portanto, siga o mesmo procedimento.

Configuração de Cliente

A configuração dos clientes é muito semelhante à do servidor. Novamente, você tem um modelo predefinido para basear sua configuração. Você só precisa modificá-lo para corresponder ao servidor.

Mude para oclientediretório. Em seguida, descompacte a configuração de amostra.

$ cd /etc/openvpn/client $ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/client.ovpn

Abra oclient.ovpnarquivo com seu editor de texto. Então, encontre ocontrolo remotoopção. Supondo que você ainda não esteja usando uma VPN, pesquise no Google Qual é meu IP. Pegue o endereço que ele exibe e defina ocontrolo remotoEndereço IP para ele. Deixe o número da porta.

remote 107.150.28.83 1194 #That IP ironically is a VPN

Chaves de configuração do cliente OpenVPN

Altere os certificados para refletir os que você criou, assim como fez com o servidor.

ca ca.crt cert client.crt key client.key

Encontre as opções do usuário e descomente-as. É bom administrar os clientes comoninguém.

user nobody group nogroup

Descomente otls-authopção para HMAC.

tls-auth ta.key 1

Cifras de cliente OpenVPN

Em seguida, procure ocifraopção e certifique-se de que corresponde ao servidor.

cipher AES-256-CBC

Em seguida, basta adicionar o resumo de autenticação e as restrições de cifra na parte inferior do arquivo.

# Authentication Digest auth SHA512 # Cipher Restrictions tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA

Quando tudo estiver certo, salve o arquivo e saia. Usaralcatrãopara empacotar a configuração e os certificados, para que você possa enviá-los ao cliente.

$ sudo tar cJf /etc/openvpn/clients/client.tar.xz -C /etc/openvpn/certs/keys ca.crt client.crt client.key ta.key -C /etc/openvpn/clients/client.ovpn

Transfira esse pacote para o cliente da maneira que você escolher. SFTP, FTP e uma unidade USB são ótimas opções.

Encaminhamento de porta

Encaminhamento de porta

Para que tudo isso funcione, você precisa configurar seu roteador para encaminhar o tráfego VPN de entrada para o Pi. Se você já estiver usando uma VPN, certifique-se de que não está se conectando na mesma porta. Se estiver, altere a porta nas configurações de cliente e servidor.

Conecte-se à interface da web do seu roteador digitando o endereço IP no navegador.

Cada roteador é diferente. Mesmo assim, todos eles deveriam ter alguma forma dessa funcionalidade. Encontre-o no seu roteador.

A configuração é basicamente a mesma em todos os roteadores. Insira as portas inicial e final. Eles devem ser iguais entre si e aquele que você definiu em suas configurações. Em seguida, para o endereço IP, defina-o como o IP do seu Raspberry Pi. Salve suas alterações.

Conecte-se ao cliente

Cada cliente é diferente, por isso não existe uma solução universal. Se você estiver no Windows, precisará do Cliente Windows OpenVPN .

No Android, você pode abrir o tarball e transferir as chaves para o telefone. Em seguida, instale o aplicativo OpenVPN. Abra o aplicativo e insira as informações de seu arquivo de configuração. Em seguida, selecione suas chaves.

No Linux, você precisa instalar o OpenVPN da mesma forma que fez para o servidor.

$ sudo apt install openvpn

Então, mude para/ etc / openvpne desempacote o tarball que você enviou.

$ cd /etc/openvpn $ sudo tar xJf /path/to/client.tar.xz

Renomeie o arquivo do cliente.

$ sudo mv client.ovpn client.conf

Não inicie o cliente ainda. Isso irá falhar. Você precisa habilitar o encaminhamento de porta em seu roteador primeiro.

Reflexões finais

Agora você deve ter uma configuração de trabalho. Seu cliente se conectará diretamente através do seu roteador ao Pi. A partir daí, você pode compartilhar e se conectar em sua rede virtual, desde que todos os dispositivos estejam conectados à VPN. Não há limite, então você sempre pode conectar todos os seus computadores ao Pi VPN.

Artigos Interessantes

Escolha Do Editor

Como configurar ‘OK Google’ no iOS e Android
Como configurar ‘OK Google’ no iOS e Android
Os comandos de voz intercambiáveis ​​‘Hey Google’ ou ‘OK Google’ acionam o funcionamento do Google Assistant em dispositivos Android e iOS.
Atalhos de teclado do Canva – um guia
Atalhos de teclado do Canva – um guia
Enquanto algumas pessoas alternam entre o teclado e o mouse ao usar o Canva, outras preferem usar o teclado para tudo. Felizmente, o Canva oferece uma grande variedade de atalhos de teclado. Se você deseja criar um cartão de aniversário, convite de casamento, banner ou
O Microsoft Edge no Android tem a borda: // página de sinalizadores
O Microsoft Edge no Android tem a borda: // página de sinalizadores
Da mesma forma que a versão Desktop, o Edge para Android tem uma página especial edge: // flags. A partir daí, os usuários do Edge serão capazes de habilitar ou desabilitar recursos experimentais do navegador. Publicidade Com as atualizações recentes do Edge, o aplicativo tem suporte para senhas de roaming e uma opção de tema escuro. Embora esses recursos não sejam únicos e
Como pular a tela inicial e inicializar diretamente para a área de trabalho no Windows 8.1
Como pular a tela inicial e inicializar diretamente para a área de trabalho no Windows 8.1
Decidi escrever este artigo porque muitas pessoas ainda estão tentando usar meu Skip Metro Suite, que não foi projetado para o Windows 8.1 e não é mais necessário no Windows 8.1. O Windows 8.1 já oferece uma maneira nativa de pular a tela Iniciar e inicializar diretamente no Desktop! Vamos ver como ativar
Como remover a marca d'água Triller
Como remover a marca d'água Triller
Triller é uma plataforma de mídia social divertida e popular que permite criar conteúdo de vídeo e música. Ele oferece várias opções de edição de vídeo, permitindo que você revele sua superestrela interior e surpreenda seus seguidores. Você pode escolher
Ativar barra de pesquisa flutuante no Windows 10 (Cortana imersiva)
Ativar barra de pesquisa flutuante no Windows 10 (Cortana imersiva)
Você pode habilitar uma caixa de pesquisa flutuante no Windows 10 'Redstone 4'. Este é um novo recurso que substitui a caixa de pesquisa na barra de tarefas.
LG G2 vs LG G3: vale a pena atualizar para o G3?
LG G2 vs LG G3: vale a pena atualizar para o G3?
A LG se consolidou como um importante player no mercado de smartphones modernos com a chegada do LG G2 em agosto de 2013. Nove meses depois, a empresa de tecnologia sul-coreana está de volta com um novo produto de última geração