Categoria: Linux, Docker, Redes e Acesso Remoto
Equipamento utilizado: Orange Pi OPI03
Sistema operacional: Debian Bookworm / Armbian
Software: Tailscale 1.104.2
Dificuldade: Intermediária
Introdução
O Tailscale é uma solução prática para conectar dispositivos Linux, Windows, servidores e equipamentos domésticos por meio de uma rede privada baseada no WireGuard.
Entretanto, quando executado em um container Docker, problemas de configuração, persistência do estado ou conectividade podem fazer com que o serviço entre em um ciclo de falhas, dificultando o diagnóstico e a manutenção.
Neste tutorial, mostro como migrar uma instalação do Tailscale em Docker para a instalação nativa no Linux, como resolver problemas de autenticação e como limpar registros duplicados no painel administrativo.
O procedimento foi baseado em um caso real ocorrido em um Orange Pi OPI03.
1. Entendendo a diferença entre Tailscale no Docker e no host
Antes de começar, é importante diferenciar três conceitos:
- IP da rede local: endereço atribuído ao equipamento na rede doméstica, como
192.168.31.31. - IP interno do Docker: endereço privado utilizado pela rede de containers, frequentemente pertencente a faixas como
172.17.0.0/16. - IP do Tailscale: endereço atribuído ao dispositivo na rede privada Tailscale, geralmente pertencente à faixa
100.64.0.0/10.
Ao executar o Tailscale em um container, a identidade e o endereço associados ao dispositivo dependem da configuração e da persistência do estado do cliente.
Na instalação nativa, o Tailscale passa a funcionar diretamente no sistema operacional. Se a identidade anterior não for preservada, o novo cliente poderá ser registrado como outro dispositivo e receber um IP diferente.
Importante: não confunda o IP interno do Docker com o IP do Tailscale. São endereços utilizados para finalidades diferentes.
2. Instalando o Tailscale nativamente no Debian
No Orange Pi OPI03, que utiliza Debian Bookworm, a instalação foi realizada pelo script oficial do Tailscale.
Execute:
curl -fsSL https://tailscale.com/install.sh | shO instalador configura o repositório oficial, atualiza a lista de pacotes e instala o cliente.
Após a instalação, o serviço tailscaled é habilitado pelo systemd.
Confira o estado do serviço:
systemctl status tailscaled --no-pagerPara verificar se o serviço está ativo e habilitado na inicialização:
systemctl is-active tailscaled
systemctl is-enabled tailscaledOs resultados esperados são active e enabled, respectivamente.
3. Primeira autenticação
Inicie a conexão com o Tailscale:
tailscale upSe o dispositivo ainda não estiver autenticado, o cliente normalmente exibirá um endereço para concluir o login pelo navegador.
Após autorizar o dispositivo, verifique a conexão:
tailscale status
tailscale ip -4Se aparecer Logged out ou NeedsLogin, a autenticação ainda não foi concluída.
Não remova imediatamente o registro antigo do painel. Primeiro, confirme qual dispositivo está funcionando e qual identidade está sendo utilizada.
4. Quando o Tailscale apresenta erro de autenticação ou conexão
Durante a migração do OPI03, o cliente apresentou a seguinte mensagem:
You are logged out.
The last login error was:
register request: Post "https://controlplane.tailscale.com/machine/register":
read: connection reset by peerOs logs também indicaram:
machineAuthorized=false
authURL=trueIsso significa que o cliente recebeu uma URL de autenticação, mas não conseguiu concluir o registro naquele momento.
O erro connection reset by peer indica que a conexão TCP foi encerrada inesperadamente. Ele não prova, isoladamente, que o problema está no Tailscale: firewall, roteador, proxy, filtragem de tráfego ou problemas temporários de rede também podem contribuir.
4.1. Testando a conectividade
Execute:
curl -sS -o /dev/null \
--connect-timeout 8 --max-time 15 \
-w 'HTTP %{http_code}\n' \
https://controlplane.tailscale.com/key?v=148Uma resposta HTTP indica que houve comunicação com o servidor. Erros de conexão ou timeout exigem investigação adicional.
Também é possível testar a porta HTTP:
curl -sS -o /dev/null \
--connect-timeout 8 --max-time 15 \
-w 'HTTP %{http_code}\n' \
http://controlplane.tailscale.com/Uma resposta HTTP, mesmo com código 301, 400 ou 404, é diferente de uma conexão que não consegue ser estabelecida.
Esses testes são indicativos: uma resposta HTTP não garante, por si só, que todas as etapas de registro do Tailscale funcionarão.
4.2. Solicitando uma nova autenticação
Se a conectividade estiver funcionando, mas o cliente continuar desconectado, tente:
tailscale up --force-reauthEsse comando força uma nova autenticação. Se for apresentado um endereço de login, abra-o no navegador e conclua o processo.
Depois, execute:
tailscale status
tailscale ip -4No meu caso, a autenticação foi concluída e o dispositivo voltou a funcionar.
Atenção: não utilize tailscale up --reset repetidamente sem necessidade. Esse comando redefine as preferências de execução do cliente e pode complicar o diagnóstico se você não souber quais opções estavam configuradas.
Se o problema persistir, consulte os logs:
journalctl -u tailscaled -n 50 --no-pagerAntes de reinstalar o software, verifique a conectividade e identifique o erro exato.
5. Como resolver dispositivos duplicados no painel
Após a migração, o painel administrativo apresentou registros associados ao OPI03 com nomes e IPs diferentes.
Isso pode acontecer quando uma nova instalação é autenticada sem reutilizar a identidade anterior do cliente.
No meu caso, foram observados estes endereços durante a migração:
| Etapa | Nome do dispositivo | IP Tailscale |
|---|---|---|
| Registro antigo | opi03 | 100.74.55.26 |
| Primeiro registro nativo | opi03-1 | 100.66.16.126 |
| Registro final | opi03 | 100.91.183.85 |
Esses endereços são específicos do meu ambiente e servem apenas como exemplo.
Procedimento seguro
- No Linux, execute
tailscale statusetailscale ip -4. - Acesse o painel administrativo: https://login.tailscale.com/admin/machines
- Compare os dispositivos listados com o IP retornado pelo cliente atual.
- Identifique os registros antigos e verifique se algum outro equipamento ou serviço ainda depende deles.
- Remova somente os registros que você confirmou serem obsoletos.
Não exclua um dispositivo apenas porque ele tem um nome parecido com outro. Confirme o IP, o estado de conexão e a identidade antes de removê-lo.
Remover um registro antigo não garante que seu endereço IP será atribuído novamente ao dispositivo novo.
6. Verificação final da instalação
Depois de concluir a autenticação e a limpeza do painel, execute:
systemctl is-enabled tailscaled
systemctl is-active tailscaled
tailscale status
tailscale ip -4No meu OPI03, o resultado final foi:
- Instalação nativa no Debian Bookworm.
- Serviço
tailscaledativo e habilitado. - Autenticação concluída.
- Nome do dispositivo restaurado para
opi03. - IP Tailscale final:
100.91.183.85. - Registros conferidos no painel administrativo.
Com isso, a migração foi concluída.
7. Como evitar problemas em futuras reinstalações
Para reduzir a possibilidade de perder a identidade do dispositivo:
- Mantenha o estado do Tailscale persistente quando utilizar Docker.
- Antes de remover um container, identifique o volume ou diretório que armazena o estado do cliente.
- Não presuma que uma nova instalação no host reutilizará automaticamente a identidade do container.
- Utilize o MagicDNS, quando habilitado, para acessar dispositivos pelo nome em vez de depender diretamente do IP.
- Antes de excluir um registro antigo, verifique se há scripts, conexões SSH, integrações ou serviços que ainda utilizam o endereço anterior.
FAQ — Perguntas frequentes sobre Tailscale no Docker e Linux
1. Posso migrar o Tailscale do Docker para o Linux nativo sem mudar o IP?
Sim, desde que a instalação nativa reutilize a identidade do dispositivo anterior. Se o estado do cliente Docker não for preservado, o Tailscale poderá registrar a instalação nativa como um novo dispositivo e atribuir outro IP.
2. Por que o Tailscale criou dispositivos duplicados no painel?
Isso pode acontecer quando uma nova instalação é autenticada sem reutilizar a identidade anterior. O painel pode mostrar o registro antigo e o novo dispositivo simultaneamente, com nomes e IPs diferentes.
3. Posso apagar o dispositivo antigo do painel administrativo?
Sim, desde que você confirme que ele não está mais em uso. Verifique o nome, o IP e o estado da conexão antes de removê-lo. Não exclua o dispositivo que está conectado e funcionando.
4. O que significa o erro NeedsLogin?
Significa que o cliente precisa concluir a autenticação. Execute tailscale up e siga o endereço de autenticação apresentado no terminal. Se o link expirar, gere outro e abra-o novamente.
5. Como corrigir o erro connection reset by peer?
Esse erro indica que a conexão foi encerrada inesperadamente. Verifique a conectividade com o plano de controle, as portas de saída, o firewall, o roteador e eventuais proxies. O erro não significa necessariamente que o Tailscale precisa ser reinstalado.
6. Para que serve o comando tailscale up --force-reauth?
Ele força uma nova autenticação do cliente. Pode ser útil quando o dispositivo está desconectado ou precisa autenticar novamente. Depois de executá-lo, siga o processo de login e confira o resultado com tailscale status.
7. Como descobrir o IP atual do Tailscale no Linux?
Execute:tailscale ip -4
Para visualizar também os outros dispositivos da rede Tailscale, utilize:tailscale status
8. O IP do Docker é igual ao IP do Tailscale?
Não necessariamente. O IP interno do Docker é utilizado na rede de containers, enquanto o IP do Tailscale identifica o dispositivo na rede privada. A instalação nativa utiliza a interface de rede do Tailscale diretamente no host.
9. Como evitar problemas ao reinstalar o Tailscale?
Antes de remover um container, identifique e preserve o estado persistente do cliente, incluindo o diretório configurado para armazenar seus dados. Após a migração, confirme a autenticação, o IP atual e o estado do dispositivo no painel administrativo.
10. Posso usar o nome do dispositivo em vez do IP?
Sim. Com o MagicDNS habilitado e corretamente configurado, você pode acessar o dispositivo pelo nome DNS em vez de depender diretamente do IP. Isso facilita a manutenção quando o endereço muda durante uma reinstalação.
Dica extra: como manter o IP antigo do Tailscale após a migração
Durante os testes, encontrei uma alternativa para manter o IP Tailscale utilizado antes de migrar do Docker para a instalação nativa no Linux.
No painel administrativo do Tailscale, acesse:
- Machines — abra a lista de dispositivos.
- Localize o dispositivo desejado e clique nos três pontinhos (
...). - Selecione Edit machine IPv4.
- Informe o endereço IPv4 que deseja utilizar e confirme em Update IP.
No meu caso, utilizei essa opção para voltar ao IP anterior do OPI03, 100.74.55.26, evitando precisar atualizar imediatamente os serviços e scripts que dependiam desse endereço.
Atenção: o painel alerta que essa alteração interrompe as conexões existentes com o dispositivo. Pode ser necessário reconectar os clientes ou limpar o cache DNS. Antes de aplicar a mudança, confirme que o endereço desejado está disponível e que a alteração é permitida na configuração do seu tailnet.
Após a alteração, verifique o endereço atribuído no próprio Linux:
tailscale ip -4
tailscale statusPor fim, teste a conectividade a partir de outro dispositivo da rede Tailscale.
Essa alternativa pode facilitar migrações em ambientes que dependem de IPs fixos, mas confirme sempre o resultado no cliente e no painel antes de considerar o procedimento concluído.
Conclusão
A migração do Tailscale do Docker para o Linux nativo resolveu o problema de execução que eu estava enfrentando no Orange Pi OPI03.
Durante o processo, foi necessário concluir uma nova autenticação, investigar uma falha de conexão com o plano de controle e remover os registros antigos que não eram mais necessários.
A principal lição é simples: antes de reinstalar ou excluir dispositivos, preserve as informações de estado, verifique a conectividade e confirme qual identidade está realmente ativa.
Espero que este relato ajude outros usuários que estejam enfrentando problemas semelhantes com Tailscale, Docker e Linux.
HobbyTestLab.com — testes, tutoriais e soluções práticas para tecnologia.
Montando ou otimizando um computador de placa única?
Descubra mais guias sobre computadores de placa única e dicas de desempenho →



