Eu tenho um domínio ( example.com
) que está configurado para ter duas visualizações. host1.example.com
estará 10.0.0.1
em uma rede interna e 149.120.10.14
(um IP público) quando consultado de fora.
Isso significa que um dispositivo conectado à Internet deve ter seu conjunto usual de DNSs usado normalmente (os que obtém do DHCP, digamos 8.8.8.8
) e eles serão resolvidos host1.example.com
para seu IP externo.
Quando conectado via VPN, este dispositivo deve, no entanto, receber do servidor OpenVPN um DNS específico para resolver example.com
(e apenas example.com
) .
Meu entendimento é que usando
push "dhcp-option DNS 10.10.10.100"
onde 10.10.10.100
está o servidor DNS interno acessível por VPN substituiria os servidores DNS no dispositivo, perdendo os que já possuía.
Existe uma maneira de enviar um servidor de nomes DNS com a opção de usá-lo apenas para um domínio específico e manter os outros DNSs existentes (usados para resolução de Internet/empresa)?
Isso não é possível. Mas aqui está uma solução alternativa.
Configure um servidor DNS dentro de sua rede VPN e use-o como servidor DNS para todos os usuários VPN.
Neste servidor DNS, configure a zona primária para seu nome de domínio específico (example.com) com os endereços IP internos. E configure o redirecionamento de DNS para executar consultas DNS com as quais o servidor DNS não pode lidar sozinho.
Nesse caso, todas as consultas DNS na zona example.com usarão registros DNS do seu servidor e todas as outras consultas DNS serão resolvidas por 8.8.8.8, por exemplo.
Infelizmente, isso não é possível, pois a resolução de DNS em si é feita pelo sistema operacional do cliente (apenas para ser configurado dinamicamente pelo OpenVPN), e todos os sistemas operacionais do cliente amplamente usados não seriam capazes de fazer uma resolução de nome diferente em um domínio base.