Tem um perfil WireGuard em /etc/wireguard/wg0.conf e quer que ele esteja ativo sem digitar wg-quick up à mão depois de cada reinício. O modelo systemd do pacote faz exatamente isso: [email protected] executa o wg-quick para o perfil chamado wg0. Também instala endereços, rotas, DNS e quaisquer ganchos declarados pelo perfil, o que é mais do que apenas carregar uma chave no kernel. Verifique se o modelo existe no seu sistema antes de presumir que existe.

O resto deste guia segue a ordem em que você realmente faria.

Encontre a unidade e o perfil que ela lê

Liste os arquivos de unidade com systemctl list-unit-files 'wg-quick*'. Nas distribuições que o empacotam, verá [email protected], com o nome da instância retirado do perfil. A instância é resolvida em /etc/wireguard/<name>.conf, então wg-quick@wg0 lê apenas wg0.conf e nada mais. Se a lista estiver vazia, o pacote de ferramentas não está instalado e nenhuma quantidade de ativação ajudará.

Mantenha o perfil no modo 600 e com propriedade de root. Ele contém uma chave privada, e a unidade funcionará de bom grado com permissões piores se você deixar.

Levante-o e leia o journal

Inicie a instância com systemctl start wg-quick@wg0, depois verifique systemctl status wg-quick@wg0 e journalctl -u wg-quick@wg0 -b. Uma unidade que inicia e sai imediatamente costuma ter um erro de perfil, e o journal indica a linha. Confirme com wg show que a interface existe e que o último handshake é recente. O manual do wg-quick lista o que o script faz além da própria interface.

Uma interface configurada sem handshake é um problema de caminho ou de chave, não de serviço.

Mantenha um único gestor no comando

Se o NetworkManager ou outro cliente já possui o túnel, iniciar a unidade systemd cria um segundo dono para a mesma interface, rotas e DNS. Os sintomas são confusos: o túnel sobe, depois as rotas desaparecem, ou o DNS volta atrás após alguns segundos. Escolha um gestor e desative o outro para esse perfil. O journal geralmente mostra a tomada de controle como mudanças de rota ou de resolvedor logo depois que a unidade relata sucesso.

Dois gestores não compartilham a propriedade. Eles se sobrescrevem.

Teste parada, reinício e inicialização

Execute systemctl stop wg-quick@wg0 e confirme que a interface sumiu e que as rotas foram removidas. Depois inicie novamente e verifique se as rotas voltam, porque bugs de desmonte aparecem como rotas remanescentes e não como inicializações falhas. Por fim ative na inicialização com systemctl enable --now wg-quick@wg0 e reinicie uma vez.

Na inicialização o nome do endpoint precisa ser resolvido antes de a unidade rodar. Se o DNS ainda não estiver ativo, a unidade falha e continua falhando até você iniciá-la à mão.

Anote o dono

Anote qual perfil a unidade lê, qual gestor possui a interface e de onde veio o arquivo. Quando alguém mais tarde importar o mesmo túnel num cliente de desktop, essa nota é a diferença entre uma migração e duas implantações disputando um endereço. Anote também o nome da interface, porque dois perfis com nomes parecidos são a fonte habitual de confusão.

Um túnel com dois donos funciona até o primeiro reinício, e então vira um mistério. Por isso a nota pertence ao repositório e não a uma thread de chat.

Artigos relacionados