
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.26
está 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 iptables
comandos 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.