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 converter cabo coaxial para HDMI
Como converter cabo coaxial para HDMI
Atualizado: 30/05/2021 Se você comprar uma TV nova, é provável que ela não tenha um conector coaxial. Ele pode ter vários conectores HDMI, USB e componente, mas nenhum coaxial. Se você tiver uma caixa de cabo ou satélite mais antiga
Posso definir o Google Maps como padrão em um iPhone? Não
Posso definir o Google Maps como padrão em um iPhone? Não
Muitos usuários gostam do Google Maps, especialmente porque funciona bem com outros produtos do Google. No entanto, os usuários do iPhone não obtêm o aplicativo por padrão e ficam presos ao Apple Maps inicialmente. Embora você possa obter o Google Maps,
Análise do Western Digital WD TV Live
Análise do Western Digital WD TV Live
O WD TV da Western Digital não era um reprodutor de mídia comum. Com pouco mais do que uma porta HDMI na parte traseira, sem armazenamento interno e sem recursos de rede, a simplicidade era sua palavra de ordem; conecte qualquer dispositivo de armazenamento em massa USB, seja
Como espelhar o Android em um PC ou laptop
Como espelhar o Android em um PC ou laptop
Com tantos dispositivos que as pessoas usam diariamente, querer conectá-los uns aos outros parece a coisa mais natural a se fazer. Dependendo da combinação de dispositivos que você possui, essa pode ser uma tarefa bastante simples.
Como desativar a aceleração de energia no Windows 10 [versões recentes]
Como desativar a aceleração de energia no Windows 10 [versões recentes]
As versões recentes do Windows 10 vêm com um novo recurso, chamado 'Power Throttling'. Aqui está como desativar o Power Throttling no Windows 10 versão 1709 e superior.
Como fazer um álbum no SoundCloud
Como fazer um álbum no SoundCloud
Se você é um aspirante a músico sem uma gravadora, provavelmente sonha em ser descoberto por um caçador de talentos um dia. Mas até então, fazer álbuns e carregá-los em uma plataforma conveniente como o SoundCloud pode ser de imenso
Como desativar o Adobe Flash no Edge
Como desativar o Adobe Flash no Edge
Por padrão, o Windows 10 é fornecido com o Adobe Flash Player incluído no sistema operacional. Se você sentir que não precisa mais dele, veja como desativar o Flash no Edge.