Solução da comunidade

OpenVPN no ZimaOS: Configuração do servidor vs. do cliente

A ZimaOS user asked how to install OpenVPN Connect, but the community reply provided a Docker deployment for OpenVPN Access Server instead.

Em resumo: decida se pretende um servidor OpenVPN ou um cliente OpenVPN antes de instalar qualquer coisa

A pergunta no fórum mencionava o “OpenVPN Connect”, mas a resposta instalou o OpenVPN Access Server. Não são o mesmo produto. O Access Server transforma o ZimaOS num servidor VPN ao qual os clientes remotos se ligam. O OpenVPN Connect é uma aplicação cliente utilizada em dispositivos terminais, como Windows, macOS, Android e iOS. Em Linux sem interface gráfica, a OpenVPN recomenda ferramentas de cliente para Linux em vez da aplicação de ambiente de trabalho OpenVPN Connect.

Se pretende aceder remotamente à sua rede doméstica, precisa da função de servidor

A implementação oficial do Docker da OpenVPN utiliza o Access Server:

docker run -d   --name=openvpn-as   --device /dev/net/tun   --cap-add=MKNOD   --cap-add=NET_ADMIN   -p 943:943   -p 443:443   -p 1194:1194/udp   -v /DATA/AppData/openvpn:/openvpn   --restart=unless-stopped   openvpn/openvpn-as

O OpenVPN Access Server é a fonte oficial atual. Mantenha o caminho de dados persistente /openvpn num armazenamento real do ZimaOS, para que os certificados e a configuração do servidor sobrevivam à recriação do contentor.

Não publique todas as portas de gestão na Internet

O Access Server utiliza uma interface de administração Web, além das portas de escuta da VPN. Continua a precisar de um endereço IP público ou de um reencaminhamento intencional no router para ligações remotas recebidas. Exponha apenas o que a configuração escolhida exigir, restrinja o acesso à interface de administração e utilize HTTPS. As escolhas exatas das portas externas e internas dependem do seu router e de saber se outro proxy inverso já utiliza a porta 443.

Se pretende que o próprio ZimaOS se ligue a outro servidor OpenVPN, trata-se da função de cliente

As opções de cliente Linux da OpenVPN incluem o OpenVPN 3 Linux, o cliente de código aberto openvpn e os plugins do NetworkManager em distribuições Linux normais. No entanto, o ZimaOS é um sistema operativo appliance sem interface gráfica e com um modelo de sistema só de leitura, pelo que instalar um cliente de ambiente de trabalho no sistema base não é a opção mais limpa.

Os clientes OpenVPN para Linux tornam explícita a distinção entre servidor e cliente.

Encaminhar todo o anfitrião ZimaOS através de uma VPN é uma alteração avançada

Se um cliente OpenVPN alterar a rota predefinida do anfitrião, o acesso remoto pelo ZimaClient, as transferências da App Store, a rede do Docker e o acesso à LAN local podem ser afetados. Decida se precisa realmente que o anfitrião esteja protegido pela VPN ou apenas um contentor de aplicação. Para um descarregador ou scraper, encaminhar apenas esse contentor através de um gateway VPN costuma ser mais fácil de compreender e gerir.

Para o acesso remoto normal ao NAS, o Tailscale ou o WireGuard são mais simples no ZimaOS atual

O ZimaOS atual disponibiliza diretamente o Tailscale, o WireGuard Easy, o Firefly e o NetBird na App Store. Se o seu objetivo é simplesmente aceder a ficheiros ou ao painel de controlo a partir de fora de casa, estas opções exigem menos trabalho personalizado com contentores e redes do que criar um OpenVPN Access Server de raiz.

As opções de VPN do ZimaOS apresentam as escolhas suportadas, enquanto os requisitos do Tailscale abrangem a opção de rede sobreposta mais simples.

Utilize o Portainer ou o Compose para uma stack OpenVPN personalizada e deliberada

Se precisa especificamente de compatibilidade com OpenVPN, faça a gestão da configuração do contentor como Compose ou através de outra definição reproduzível, em vez de utilizar um comando isolado que não possa reconstruir mais tarde. Preserve os caminhos dos volumes, o acesso ao dispositivo TUN, as capacidades e os mapeamentos de portas numa configuração controlada por versões.

Os requisitos do Portainer são úteis para utilizadores que preferem uma interface de contentores, e os requisitos das aplicações ZimaOS fornecem uma visão mais abrangente do modelo de aplicações do ZimaOS.

Verifique a VPN de ambos os lados

Para o Access Server, ligue-se através de um telemóvel utilizando dados móveis e confirme o endereço atribuído pela VPN e o acesso pretendido à LAN. Para uma configuração de cliente, confirme a tabela de rotas do ZimaOS antes e depois da ligação:

ip addr
ip route
curl ifconfig.me

Não declare sucesso apenas porque um contentor indica “em execução”. Confirme que o tráfego está a seguir o caminho esperado e que a administração local continua a funcionar.

Perguntas frequentes

O OpenVPN Connect é igual ao Access Server?

Não. O OpenVPN Connect é principalmente um cliente para dispositivos terminais, enquanto o Access Server é o produto de servidor VPN autoalojado.

O OpenVPN Access Server pode ser executado no Docker no ZimaOS?

Sim, a imagem oficial do Access Server suporta Docker e requer acesso ao dispositivo TUN, a capacidade NET_ADMIN, armazenamento persistente e as portas adequadas.

Preciso de reencaminhamento de portas?

Para um servidor OpenVPN de entrada autoalojado atrás de um router doméstico, normalmente sim, a menos que seja utilizada outra configuração de encaminhamento público.

Posso transformar o ZimaOS num cliente VPN?

Tecnicamente, sim, utilizando ferramentas OpenVPN para Linux ou um contentor cuidadosamente concebido, mas as alterações de encaminhamento ao nível do anfitrião podem perturbar o comportamento da LAN e do acesso remoto.

Devo utilizar OpenVPN ou Tailscale?

Utilize OpenVPN quando a compatibilidade ou uma infraestrutura OpenVPN existente forem importantes. Para um acesso remoto simples ao ZimaOS, as opções atuais de Tailscale e WireGuard na App Store são mais fáceis.