
TL; DR : Eu instalo o Wireguard em um VPS, conecto-o a partir do meu roteador doméstico no OpenWRT e acesso a sub-rede doméstica do meu telefone.
Se você mantém sua infraestrutura pessoal em seu servidor doméstico ou tem muitos dispositivos controlados por IP em casa, provavelmente deseja ter acesso a eles no trabalho, ônibus, trem e metrô. Na maioria das vezes, para tarefas semelhantes, um IP é adquirido de um provedor, após o qual as portas de cada serviço são encaminhadas para fora.
Em vez disso, configurei uma VPN com acesso à LAN doméstica. As vantagens desta solução:
- Transparência : Sinto-me em casa em qualquer circunstância.
- Simplicidade : configure e esqueça, sem precisar pensar em encaminhar cada porta.
- Preço : Já tenho um VPS, para tais tarefas uma VPN moderna é quase gratuita em termos de recursos.
- Segurança : nada resiste, você pode deixar o MongoDB sem uma senha e ninguém roubará os dados.
Como sempre, existem desvantagens. Primeiro, você deve configurar cada cliente individualmente, inclusive no lado do servidor. Pode ser inconveniente se você tiver um grande número de dispositivos dos quais deseja ter acesso aos serviços. Em segundo lugar, no trabalho, você pode ter uma localidade que corresponda ao intervalo - você terá que resolver esse problema.
Nós precisamos:
- VPS (no meu caso no Debian 10).
- Roteador em OpenWRT.
- Telefone.
- Servidor doméstico com algum tipo de serviço da web para verificar.
- Braços retos.
Usarei o Wireguard como a tecnologia VPN. Essa solução também tem pontos fortes e fracos, não vou descrevê-los. Para VPN eu uso uma sub-rede
192.168.99.0/24
, mas em casa eu tenho 192.168.0.0/24
.
Configuração VPS
Para os negócios, até mesmo o mais miserável VPS por 30 rublos por mês, se você tiver sorte, um arrebatamento .
Realizo todas as operações no servidor a partir do root em uma máquina limpa, adiciono `sudo` se necessário e adapto as instruções.
Wireguard não têm tempo para trazer o Estável, então eu estou fazendo `apt Backporting edit-sources` e adicionar duas linhas para o arquivo: O pacote é instalado da forma usual: . Em seguida, gerar o par de chaves: . Repita esta operação mais duas vezes para cada dispositivo participante do esquema. Mude os caminhos para os arquivos de chave de outro dispositivo e não se esqueça da segurança das chaves privadas. Agora estamos preparando a configuração. A configuração é colocada no arquivo : Na seção
deb http://deb.debian.org/debian/ buster-backports main
# deb-src http://deb.debian.org/debian/ buster-backports main
apt update && apt install wireguard
wg genkey | tee /etc/wireguard/vps.private | wg pubkey | tee /etc/wireguard/vps.public
/etc/wireguard/wg0.conf
[Interface]
Address = 192.168.99.1/24
ListenPort = 57953
PrivateKey = 0JxJPUHz879NenyujROVK0YTzfpmzNtbXmFwItRKdHs=
[Peer] # OpenWRT
PublicKey = 36MMksSoKVsPYv9eyWUKPGMkEs3HS+8yIUqMV8F+JGw=
AllowedIPs = 192.168.99.2/32,192.168.0.0/24
[Peer] # Smartphone
PublicKey = /vMiDxeUHqs40BbMfusB6fZhd+i5CIPHnfirr5m3TTI=
AllowedIPs = 192.168.99.3/32
[Interface]
as configurações da própria máquina são indicadas, e em [Peer]
- configurações para aqueles que irão se conectar a ela. As AllowedIPs
sub-redes que serão roteadas para o par correspondente são escritas separadas por vírgulas. Por isso, os peers dos dispositivos "cliente" na sub-rede VPN devem ter uma máscara /32
, todo o resto será roteado pelo servidor. Como a rede doméstica será roteada por meio do OpenWRT, AllowedIPs
adicionamos a sub - rede doméstica ao par correspondente. Em PrivateKey
e PublicKey
decompor a chave privada gerada para o VPS e as chaves públicas dos pares, respectivamente.
Em VPS só executar o comando, o que elevará a interface e adicioná-lo à Autoplay:
systemctl enable --now wg-quick@wg0
. O estado atual das conexões pode ser verificado com o comando wg
.
Configuração OpenWRT
Tudo que você precisa para esta etapa está no módulo luci (interface da web OpenWRT). Faça login nele e abra a guia Software no menu Sistema. OpenWRT não armazena um cache na máquina, então você precisa atualizar a lista de pacotes disponíveis clicando no botão verde Atualizar listas. Após a conclusão, vá até o filtro
luci-app-wireguard
e, olhando para a janela com uma bela árvore de dependências, instale este pacote.
No menu Redes, selecione Interfaces e clique no botão verde Adicionar nova interface na lista de interfaces existentes. Após inserir o nome (também
wg0
no meu caso) e escolher o protocolo VPN WireGuard, abre-se um formulário de configurações com quatro guias.

Na guia Configurações gerais, você precisa inserir a chave privada e o endereço IP preparado para OpenWRT junto com a sub-rede.

Na guia Configurações de firewall, conecte a interface à rede local. Portanto, as conexões da VPN serão gratuitas para chegar à LAN.

Na guia Peers, pressione o único botão, após o qual, no formulário atualizado, preencha os dados do servidor VPS: chave pública, IPs permitidos (você precisa rotear toda a sub-rede VPN para o servidor). No Endpoint Host e Endpoint Port, insira o endereço IP VPS com a porta especificada na diretiva ListenPort, respectivamente. Marque Rota Permitida IPs para criar rotas. E certifique-se de preencher Persistent Keep Alive, caso contrário, o túnel do VPS para o roteador será interrompido se o último estiver atrás do NAT.


Depois disso, você pode salvar as configurações e, em seguida, na página com a lista de interfaces, clicar em Salvar e aplicar. Se necessário, inicie explicitamente a interface com o botão Reiniciar.
Configurando um smartphone
Você precisará do cliente Wireguard e ele está disponível no F-Droid , Google Play e na App Store. Após abrir o aplicativo, pressione o sinal de mais e na seção Interface, insira o nome da conexão, a chave privada (a chave pública será gerada automaticamente) e o endereço do telefone com a máscara / 32. Na seção Peer, especifique a chave pública VPS, um par de endereços: Porta do servidor VPN como um Endpoint e roteia para a VPN e sub-redes domésticas.
Captura de tela em negrito do telefone

Clique no disquete do canto, ligue-o e ...
Feito
Agora você pode acessar o monitoramento doméstico, alterar as configurações do roteador ou fazer o que quiser no nível de IP.
Capturas de tela locais


