Como criar uma VPN no Linux com Tailscale 1

Como criar uma VPN no Linux com Tailscale


Tailscale é um serviço de rede privada virtual (VPN) descentralizado leve, mas poderoso. Ele permite conectar vários dispositivos em diferentes conexões em uma única rede lógica. Como resultado, você pode usar o Tailscale para hospedar qualquer serviço local na Internet sem encaminhar nenhuma porta.

Este artigo mostrará como você pode configurar o Tailscale e rotear o tráfego entre duas máquinas Ubuntu Linux. Além disso, também destacará como você pode expandir sua rede Tailscale para outros usuários por meio de seu “recurso de compartilhamento” integrado.

Você sabe: você pode criar facilmente sua própria VPN com OpenVPN?

Por que usar Tailscale?

Um dos maiores pontos de venda de Escala traseira é que ele não depende de um servidor central para rotear pacotes de Internet. Em vez disso, ele usa truques de programação para ignorar roteadores NAT físicos e físicos entre dois clientes. Isso significa que o Tailscale sempre terá menor latência entre clientes em comparação com uma VPN tradicional.

Instalar amostra de ping de cliente remoto Tailscale Vpn Linux 01

Tailscale também é de código aberto e gratuito para uso pessoal. Isso o torna um primeiro projeto ideal para um usuário iniciante do Linux que deseja vincular várias máquinas, mas não sabe necessariamente como encaminhar porta ou atravessar NATs rígidos.

Dica: Saiba como você pode fazer com que seu computador se conecte automaticamente à VPN no login.

Obtendo e instalando Tailscale

  1. A primeira etapa na instalação do Tailscale é instalar o curl:
sudo apt install curl
  1. Obtenha a chave GPG para seu repositório de pacotes. Você pode fazer isso executando o seguinte comando:
sudo curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg > /dev/null
  1. Baixe o arquivo do repositório Tailscale para sua pasta “/etc/apt/”:
sudo curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
Um terminal mostrando o repositório Tailscale recém-obtido.
  1. Atualize o banco de dados do repositório de pacotes do seu computador, bem como atualize qualquer software desatualizado:
sudo apt update && sudo apt -y upgrade
  1. Instale o Tailscale usando o apt:
sudo apt install tailscale

Criando sua primeira rede Tailscale

  1. Com o Tailscale instalado, agora você pode habilitar o daemon Tailscale em seu computador. Você pode fazer isso executando systemctl:
sudo systemctl enable --now tailscaled.service
  1. Execute o cliente Tailscale CLI e vincule sua primeira máquina a uma conta:
sudo tailscale up
  1. Clique com o botão direito no link em seu terminal e pressione “Abrir link”.
Um terminal destacando o processo de abertura de um link.
  1. Isso abrirá uma nova página do navegador onde será solicitado que você faça login em uma conta.
  2. Depois de fazer login, a página da web perguntará se você deseja vincular sua máquina a uma rede Tailscale. Clique em “Conectar”.
Uma captura de tela mostrando o botão Conectar para vinculação de dispositivos.
  1. Volte para o seu terminal e habilite systemd-resolved para o seu computador:
sudo systemctl enable --now systemd-resolved.service
  1. Crie um link simbólico entre systemd-resolved e “/etc/resolv.conf:”
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
  1. Reinicie o subsistema DNS da sua máquina para aplicar as novas configurações de DNS:
sudo systemctl restart systemd-resolved.service
sudo systemctl restart NetworkManager
sudo systemctl restart tailscaled.service

Dica: Aprenda como você pode criar uma VPN sob demanda instalando o Hamachi no Linux.

Adicionando uma segunda máquina ao Tailscale

  1. Vá para sua segunda máquina e instale o Tailscale com as instruções acima.
  2. Vincule a segunda máquina à sua conta Tailscale executando:
 sudo tailscale up
Uma captura de tela mostrando a adição adequada de um cliente à rede Tailscale.
  1. Ativar e vincular systemd-resolved como o resolvedor DNS da sua segunda máquina por meio sudo ln -s.
  2. Recarregue o subsistema DNS da sua máquina para aplicar as novas configurações.
Um terminal mostrando o processo de reinicialização dos componentes DNS no segundo sistema.

Compartilhando uma máquina com outros usuários

Por padrão, o Tailscale permite apenas um único usuário em uma rede por conta. Embora isso seja suficiente para uma configuração básica de VPN entre duas máquinas, pode ser um problema quando você deseja expor uma máquina a outros usuários.

Uma das maneiras mais fáceis de resolver isso é “compartilhar” sua máquina por meio da interface de administração do Tailscale.

  1. Vá para a página Tailscale e clique no link “Admin console” no canto superior direito da página.
Uma captura de tela destacando a localização do
  1. Uma vez logado, selecione a máquina que deseja exportar e clique em “Compartilhar…” no canto direito da linha.
Um terminal mostrando a localização do botão Compartilhar para compartilhamento de dispositivos externos.
  1. No pop-up de prompt, clique em “Gerar e copiar link de convite”.
Uma captura de tela mostrando a localização do link de convite da máquina atual.

Observação: Um link de convite expirará automaticamente assim que o usuário fizer login por meio dele. Você pode desativar isso alternando o botão “Link de convite multiuso”.

  1. Assim que o cliente clicar no link de convite, a página exibirá uma página solicitando seu endereço de e-mail.
Uma captura de tela mostrando o processo de login do usuário cliente.
  1. Após o login, a página confirmará se o cliente deseja aceitar o convite para sua máquina. Clique em “Aceitar convite”.
Uma captura de tela mostrando a confirmação do dispositivo para a rede Tailscale externa.
  1. Teste se sua máquina pode se comunicar com o cliente executando ping em seu endereço:
ping 100.117.185.109
Um terminal mostrando um ping simples entre dois dispositivos no Tailscale.

Dica: você pode usar o Portmaster para detectar quaisquer serviços que estejam desviando seus dados.

Criando uma VPN usando nós de saída

Uma das inovações do Tailscale é que seu cliente pode transmitir e receber dados de outros hosts da rede. Ao contrário de outros serviços VPN, isto significa que é possível redirecionar o tráfego de saída de uma máquina Tailscale para outra.

Para fazer isso, você precisa configurar uma de suas máquinas para ser um “Nó de saída”. São computadores que aceitam tráfego de hosts internos, que então transmitem como se fosse seu.

  1. Para criar um nó de saída, abra um terminal na máquina e execute os seguintes comandos:
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
  1. Reinicie o daemon Tailscale usando o seguinte comando:
sudo tailscale up --advertise-exit-node
  1. Abra um navegador da web e acesse a página do Admin Console.
  2. Selecione sua máquina Exit Node e clique no botão “…” no lado direito da linha.
Uma captura de tela destacando a localização do menu pontilhado no console de administração do Tailscale.
  1. Selecione “Editar configurações de rota…”
Uma captura de tela mostrando a localização das configurações de roteamento no Admin Console.
  1. Alterne a opção “Usar como nó de saída”.
Uma captura de tela mostrando a localização do nó de saída na janela de configurações de rota.

Vinculando um cliente a um nó de saída

Com um nó instalado e funcionando, a próxima coisa que você precisa fazer é informar aos seus clientes que ele existe. Isso ocorre porque o Tailscale não roteia automaticamente o tráfego de saída para qualquer nó de saída.

  1. Abra um terminal na sua máquina cliente.
  2. Correr tailscale status para encontrar o endereço do seu nó de saída.
Um terminal mostrando o endereço do nó de saída de exemplo.
  1. Recarregue o Tailscale com o --use-exit-node sinalizador seguido pelo endereço do seu nó de saída:
sudo tailscale up --use-exit-node=100.86.19.20
  1. Verifique seu novo endereço IP externo consultando um serviço de verificação de endereço IP:
curl ifconfig.me/ip
Um terminal mostrando a alteração no endereço IP externo na máquina cliente.

Bom saber: Aprenda como você pode participar de uma nova forma de roteamento de internet instalando Yggdrasil no Linux.

perguntas frequentes

Existe um limite para as máquinas e largura de banda que posso usar com Tailscale?

Sim. No momento, o plano gratuito do Tailscale garante até 100 dispositivos conectados a uma rede privada pessoal. No entanto, isso não limita a largura de banda entre máquinas em uma rede, mesmo que essas conexões utilizem uma retransmissão de terceiros.

É possível alterar meu e-mail depois de criar minha conta?

Uma das desvantagens de usar um SSO externo é que não é possível para o Tailscale alterar seu endereço de e-mail depois que você começar a usá-lo. Uma maneira de contornar isso é criar uma nova conta usando um método SSO diferente.

Meu amigo não consegue se conectar à minha máquina mesmo depois de eu compartilhá-la com ele.

Esse problema provavelmente ocorre devido a um firewall ativo entre você e o computador do seu amigo. Uma maneira rápida de resolver esse problema é encontrar a porta que você está usando e executando sudo ufw allow seguido pelo número da porta que você está usando.

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.