Usando um servidor DNS com ZeroTier

Usando um servidor DNS com ZeroTier

Eu configurei meu próprio controlador Zerotier usandoztncuie funciona muito bem, mas há uma parte da minha configuração que não consigo fazer funcionar: fazer com que os clientes usem o DNS que configuro para a rede ZeroTier. O DNS está configurado da seguinte forma:

{
  "domain": "",
  "servers": [
    "10.10.14.26"
  ]
}

Onde 10.10.14.26está o endereço IP ZeroTier do servidor DNS (assim como o servidor Linux executando o encaminhamento dnsmasq para o roteador local). Sempre que testo as respostas do servidor DNS diretamente em um cliente ZeroTier, obtenho os resultados corretos (por exemplo, configurando meu DNS para usá-lo diretamente ou especificando o servidor DNS ao usar dig), porém ao selecionar "Permitir configuração de DNS" no clientes, eles ainda se recusam a resolver nomes de host que são resolvidos quando solicitados diretamente ao servidor DNS.

Também tentei usar o endereço IP local do servidor DNS em vez do IP ZeroTier, com os mesmos resultados (o encaminhamento de IP é configurado no mesmo servidor Linux para que os clientes também possam acessar os IPs locais).

O que preciso fazer para garantir que meus clientes ZeroTier usarão o servidor DNS que configurei?

Meu plano de backup é apenas escrever vários scripts para as diferentes plataformas que preciso suportar e fazer com que eles sobrescrevam e restaurem o DNS global ao conectar e desconectar da minha rede ZeroTier, respectivamente, mas qual é a utilidade da opção "Permitir configuração de DNS" .

Eu sei que o recurso DNS não funciona para clientes Linux, mas serei o único cliente Linux, então isso não é um grande problema para mim. O restante dos clientes usará Windows ou MacOS, para os quais esse recurso érelatado para trabalhar:

Atualmente, o DNS gerenciado ZeroTier é compatível apenas com Windows, MacOS, Android e iOS. O suporte ao Linux está disponível, mas pode ser limitado a configurações comuns de resolvedores de DNS do Linux, como aquelas encontradas no Debian e CentOS/RHEL.

Responder1

Embora esta não seja uma resposta adequada à minha pergunta, ela resolveu minhas necessidades. Conforme descrito emesta postagemAcabei forçando o servidor VPN através de iptablescomandos adicionais:

iptables -t nat -A PREROUTING -s vpn_network -p udp --dport 53 -j DNAT \
    --to-destination your_DNS_server
iptables -t nat -A PREROUTING -s vpn_network -p tcp --dport 53 -j DNAT \
    --to-destination your_DNS_server

Nota: A máquina Windows 10 em que testei não mostrou imediatamente os resultados corretos, mas depois de redefinir a maioria das minhas alterações experimentais, ela continuou funcionando corretamente. Quando testei em uma máquina limpa, funcionou imediatamente.

informação relacionada