Solução da comunidade

Como aceder remotamente ao CasaOS com o Tailscale

A 2023 CasaOS community tutorial showing how to run the Tailscale Docker client, authenticate it with TS_AUTHKEY, join other devices to the same tailnet, and reach CasaOS remotely without conventional port forwarding.

O Tailscale atribui ao servidor CasaOS um endereço privado que pode ser acedido a partir dos seus próprios dispositivos autorizados, mesmo quando está fora de casa. O tutorial original da Comunidade IceWhale, publicado em outubro de 2023 para o CasaOS 0.4.4 e uma versão mais antiga do Tailscale, utilizava a imagem Docker oficial do Tailscale, uma chave de autenticação e um segundo cliente Tailscale para criar essa ligação privada em malha.

A ideia básica continua válida: executar o Tailscale no anfitrião CasaOS, adicioná-lo à sua tailnet, instalar o Tailscale no telemóvel ou computador remoto e, em seguida, abrir o CasaOS utilizando o respetivo endereço IP do Tailscale ou o nome DNS configurado. No entanto, as capturas de ecrã e os campos Docker exatos são históricos. As implementações atuais de contentores Tailscale também devem manter o estado do Tailscale de forma persistente, proteger a credencial de autenticação e seguir as orientações atuais de controlo de acesso.

O que esta configuração CasaOS + Tailscale faz

O guia da comunidade foi concebido para evitar o reencaminhamento convencional de portas públicas. Em vez de publicar diretamente o painel do CasaOS na Internet, os dispositivos entram na mesma rede Tailscale, denominada tailnet, e comunicam através de endereços Tailscale.

O fluxo de trabalho original era:

  1. Execute o cliente Tailscale no servidor CasaOS.
  2. Crie uma conta Tailscale ou inicie sessão.
  3. Gere uma chave de autenticação e forneça-a ao contentor Tailscale.
  4. Instale o Tailscale no portátil, telemóvel ou outro dispositivo remoto.
  5. Inicie sessão nesse dispositivo na mesma tailnet.
  6. Abra o CasaOS utilizando o endereço IP do Tailscale ou um nome DNS da tailnet.

Trata-se de acesso a uma rede privada. Normalmente, não precisa de reencaminhar a porta do painel do CasaOS através do router de casa apenas para o utilizar através do Tailscale.

Limite de versão importante para o tutorial original

A publicação original indica explicitamente CasaOS 0.4.4 e Tailscale 1.21.3. Foi escrita em 2023, e tanto o CasaOS como a configuração dos contentores Tailscale evoluíram desde então. Utilize as capturas de ecrã abaixo para compreender o fluxo de trabalho, em vez de presumir que todos os campos aparecerão exatamente no mesmo local numa interface atual do CasaOS ou do Docker.

O atual guia Docker do Tailscale oficial continua a permitir autenticar um contentor com TS_AUTHKEY, mas também demonstra como manter o estado persistente e as capacidades necessárias ao contentor.

Passo 1: Adicionar o contentor Tailscale ao CasaOS

O guia de 2023 importava a imagem Docker oficial do Tailscale para o CasaOS. Se estiver a reproduzir o fluxo de trabalho histórico da interface, certifique-se de que a origem da imagem é a oficial tailscale/tailscale imagem em vez de um contentor de terceiros desconhecido.

Ecrã de aplicação personalizada do CasaOS utilizado para importar o contentor Docker do Tailscale
O guia original do CasaOS começa por importar o Tailscale como uma aplicação Docker.
Ecrã de configuração Docker do CasaOS para a aplicação contentor Tailscale
Os campos exatos do CasaOS apresentados aqui refletem a interface de 2023 e devem ser confirmados na sua instalação atual.

Para um contentor Tailscale autónomo moderno, a documentação oficial mostra conceptualmente o seguinte padrão:

docker run -d \
  --name tailscale \
  --hostname casaos-server \
  -e TS_AUTHKEY=<tskey-YOUR-AUTH-KEY> \
  -e TS_STATE_DIR=/var/lib/tailscale \
  -v ./tailscale-state:/var/lib/tailscale \
  --cap-add=net_admin \
  --cap-add=net_raw \
  --restart unless-stopped \
  tailscale/tailscale:latest

Não cole uma chave de autenticação numa publicação pública, captura de ecrã, repositório ou pedido de suporte. Trate-a como uma palavra-passe. Os campos exatos de Instalação personalizada do CasaOS devem representar os mesmos requisitos do Docker, correspondendo simultaneamente à interface gráfica disponível na sua versão.

Passo 2: Gerar uma chave de autenticação do Tailscale

De seguida, o tutorial da comunidade criou uma conta Tailscale e gerou uma chave de autenticação a partir da interface de administração do Tailscale. Essa chave foi então fornecida ao contentor CasaOS através da TS_AUTHKEY variável de ambiente.

Página de administração do Tailscale utilizada para criar uma chave de autenticação para o CasaOS
O tutorial original gerou uma chave de autenticação para que o contentor CasaOS pudesse aderir à tailnet.
Campo de ambiente do contentor Tailscale no CasaOS configurado com TS_AUTHKEY
A credencial gerada é transmitida ao contentor Tailscale através da variável de ambiente TS_AUTHKEY.

A documentação atual do Tailscale continua a suportar TS_AUTHKEYAs chaves de autenticação podem ser criadas com diferentes propriedades, incluindo comportamento reutilizável ou efémero. Escolha apenas os privilégios e o período de validade adequados ao servidor e rode uma chave se suspeitar que foi exposta.

Torne o estado do Tailscale persistente para que os reinícios não se comportem como instalações novas

Este ponto é mais importante numa implementação atual do que as capturas de ecrã antigas deixam perceber. Os exemplos Docker atuais do Tailscale definem:

TS_STATE_DIR=/var/lib/tailscale

e torne esse diretório persistente com um volume Docker ou um bind mount. Sem um estado persistente, recriar um contentor pode fazer com que a autenticação e a identidade do nó se comportem de forma diferente do esperado.

O Tailscale também disponibiliza TS_AUTH_ONCE=true para implementações que só devem autenticar quando o contentor não tiver um estado de início de sessão guardado. Se utilizar essa opção, certifique-se de que o diretório de estado é efetivamente persistente.

Consulte os parâmetros de configuração atuais do Tailscale para Docker antes de converter uma captura de ecrã antiga do CasaOS numa nova configuração de contentor.

Passo 3: Confirmar que o nó CasaOS aparece no Tailscale

Depois de o contentor iniciar com êxito, abra a página de administração de dispositivos do Tailscale e confirme que o nó CasaOS aparece como ligado. O tutorial original utilizou depois a lista de dispositivos para identificar o endereço Tailscale atribuído ao servidor.

Lista de dispositivos Tailscale a mostrar um servidor CasaOS ligado à tailnet
Depois de autenticado, o servidor CasaOS deverá aparecer como um dispositivo na mesma rede Tailscale.

Se o contentor estiver a ser executado, mas o servidor não aparecer como ligado, consulte os registos do contentor, confirme se a chave de autenticação é válida e certifique-se de que o estado e as capacidades de rede exigidos pela imagem Tailscale atual estão configurados.

Passo 4: Instalar o Tailscale no dispositivo remoto

Instale o cliente Tailscale no computador portátil, telemóvel ou tablet que irá utilizar fora de casa e inicie sessão na mesma tailnet. Os dois dispositivos não precisam de estar ligados à mesma rede Wi-Fi quando ambos estiverem ligados ao Tailscale.

As ligações atuais do Tailscale podem ser diretas ou retransmitidas, dependendo das condições da rede. A documentação do Tailscale afirma que as ligações diretas, retransmitidas através de DERP e através do Tailscale Peer Relay continuam encriptadas de ponta a ponta com WireGuard; a principal diferença é o desempenho, não o facto de os dados estarem encriptados.

Passo 5: Abrir o CasaOS com o respetivo endereço IP Tailscale

O guia original copiou o endereço IP Tailscale do servidor CasaOS e introduziu-o num navegador no dispositivo remoto.

Navegador a ligar remotamente ao painel do CasaOS através do respetivo endereço Tailscale
O cliente remoto pode abrir o CasaOS utilizando o endereço Tailscale do servidor quando ambos os dispositivos pertencem à mesma tailnet.

O endereço é normalmente um endereço Tailscale 100.x.x.x endereço IP. Se a sua tailnet utilizar o MagicDNS e o nó CasaOS tiver um nome de máquina adequado, também pode utilizar o respetivo nome DNS do Tailscale em vez de memorizar o endereço IP.

Utilize a porta do painel do CasaOS em que a sua instalação realmente está à escuta. Se o CasaOS estiver configurado numa porta não predefinida, inclua essa porta no URL.

O endereço IP do Tailscale e o endereço IP da LAN doméstica não são a mesma coisa

Uma fonte comum de confusão é esperar que o Tailscale num servidor torne automaticamente acessível qualquer endereço IP normal da rede doméstica. Ligar diretamente à máquina CasaOS através do respetivo endereço Tailscale é uma configuração. Aceder a outros dispositivos através dos respetivos endereços LAN habituais, como 192.168.1.x, existe uma funcionalidade diferente do Tailscale chamada encaminhamento de sub-rede.

Se apenas precisa do painel e das aplicações do CasaOS a funcionar nesse mesmo anfitrião, comece pelo endereço IP Tailscale do servidor. Configure o encaminhamento de sub-redes apenas quando pretender intencionalmente que o nó Tailscale encaminhe tráfego para outros dispositivos ou sub-redes da sua rede doméstica.

Correção de segurança: normalmente não precisa de outra VPN em torno do Tailscale

A publicação original de 2023 incluía uma nota a sugerir que as transferências sensíveis poderiam utilizar uma VPN adicional. Essa formulação pode induzir em erro. O próprio Tailscale é um sistema de rede privada encriptada baseado no WireGuard. A documentação atual do Tailscale afirma que o tráfego entre dispositivos Tailscale é encriptado de ponta a ponta, inclusive quando a ligação é retransmitida.

Por conseguinte, normalmente não é necessária uma VPN adicional apenas para encriptar o tráfego do CasaOS que já circula entre nós Tailscale. A execução simultânea de vários produtos VPN também pode criar conflitos de encaminhamento. Controlos de segurança mais úteis incluem:

  • Proteja a conta de identidade utilizada para aceder à sua tailnet.
  • Trate as chaves de autenticação e as credenciais OAuth como segredos.
  • Remova da tailnet os dispositivos antigos ou não reconhecidos.
  • Aplique regras de acesso com o princípio do menor privilégio, em vez de permitir indefinidamente que todos os nós acedam a todos os serviços.
  • Mantenha o CasaOS, o Docker, o Tailscale e as aplicações alojadas atualizados.
  • Não exponha publicamente o painel do CasaOS apenas por ter também instalado o Tailscale.

O Tailscale recomenda agora concessões e políticas de controlo de acesso para limitar os utilizadores e dispositivos que podem aceder a serviços específicos.

O que as respostas posteriores sobre o ZimaOS acrescentaram

Uma resposta de 2024 perguntava se o mesmo tutorial funcionava num ZimaCube pessoal NAS de nuvem atual com ZimaOS. O utilizador conseguia ver o dispositivo como ligado no Tailscale, mas a interface do ZimaOS carregava apenas parcialmente e apresentava repetidamente uma mensagem de falha ao carregar aplicações. O autor original sugeriu reiniciar e observou que o ZimaOS também tinha a sua própria opção de acesso remoto. Mais tarde, o utilizador informou que o problema ficou resolvido depois de atualizar o ZimaOS para a versão 1.2.2.

Essa resposta é uma evidência histórica, não uma garantia de compatibilidade atual. Demonstra que é possível estabelecer uma ligação Tailscale enquanto uma determinada versão da interface do ZimaOS ainda apresenta problemas ao carregar aplicações. Uma resposta posterior, de 2025, afirmou que o método passo a passo também ajudou o autor a pôr o Tailscale a funcionar no ZimaOS.

Se estiver a utilizar o ZimaOS moderno em vez do CasaOS, siga a documentação atual das aplicações e do acesso remoto do ZimaOS, em vez de presumir que um ecrã de instalação personalizada do CasaOS de 2023 é a configuração preferida. Os sistemas operativos partilham parte do historial do ecossistema, mas os respetivos fluxos atuais de gestão de aplicações e de acesso remoto não são idênticos.

Lista de verificação para resolução de problemas do Tailscale no CasaOS

  1. Confirme que o contentor do Tailscale está em execução no CasaOS.
  2. Confirme que a imagem é o contentor oficial esperado do Tailscale ou outra origem em que confie intencionalmente.
  3. Verifique se a credencial de autenticação é válida e não expirou nem foi revogada.
  4. Manter persistente /var/lib/tailscale para que o nó mantenha o estado após a recriação do contentor.
  5. Verifique se o servidor CasaOS aparece como ligado na lista de dispositivos do Tailscale.
  6. Instale o Tailscale no dispositivo remoto e inicie sessão na mesma tailnet autorizada.
  7. Teste o endereço Tailscale do servidor CasaOS 100.x.x.x endereço antes de tentar endereços normais da LAN.
  8. Se o IP funcionar, mas o nome do anfitrião não, reveja as definições de DNS ou MagicDNS.
  9. Se precisar de aceder a outros dispositivos da LAN, configure o encaminhamento de sub-redes separadamente.
  10. Reveja as regras de acesso da tailnet para que apenas os utilizadores e dispositivos pretendidos possam aceder aos serviços do CasaOS.

Perguntas frequentes sobre o acesso remoto ao CasaOS através do Tailscale

Preciso de encaminhar as portas do CasaOS no meu router?

Não para o fluxo de trabalho normal do Tailscale descrito aqui. Tanto o servidor CasaOS como o cliente remoto entram na mesma tailnet privada, pelo que acede ao servidor através do respetivo endereço Tailscale, em vez de expor diretamente o painel do CasaOS à Internet pública.

O que é TS_AUTHKEY?

TS_AUTHKEY é uma variável de ambiente do Docker do Tailscale utilizada para autenticar um contentor numa tailnet. A documentação atual do Docker do Tailscale continua a suportá-la. Trate o valor como um segredo e altere-o se for exposto.

Porque devo manter /var/lib/tailscale persistente?

Esse diretório armazena o estado do Tailscale para o contentor. Mantê-lo persistente ajuda o contentor a conservar a identidade do nó e o estado de autenticação quando o Docker reinicia ou recria o contentor.

Porque é que consigo aceder ao endereço IP Tailscale 100.x, mas não ao meu endereço doméstico 192.168.x.x?

Ligar-se ao próprio servidor CasaOS e encaminhar uma sub-rede doméstica inteira são configurações diferentes. O acesso normal a um nó Tailscale utiliza o endereço IP Tailscale do servidor. O acesso a outros endereços da LAN requer a configuração e aprovação do encaminhamento de sub-redes.

O Tailscale é encriptado?

Sim. O Tailscale utiliza o WireGuard para comunicações encriptadas entre dispositivos da tailnet. A documentação atual do Tailscale indica que as ligações diretas e retransmitidas continuam a ser encriptadas de ponta a ponta.

As capturas de ecrã do CasaOS de 2023 ainda estão atuais?

Devem ser tratadas como referências históricas da interface. O fluxo de trabalho subjacente — executar o Tailscale, autenticar o nó e ligar dispositivos remotos — continua a ser relevante, mas os parâmetros atuais do Docker e as interfaces do CasaOS ou do ZimaOS podem ser diferentes.