Enquanto estiver no site1, preciso conectar-me ao site2 via OpenVPN. Uma vez conectado, o site OpenVPN2 envia um servidor de nomes DNS e opções de pesquisa de domínio. Isso faz com que todas as resoluções de nome do site1 falhem.
Exemplo:
Fisicamente conectado no site1, o DHCP empurra as opções de DNS e o resolvconf as gerencia.
/etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 172.16.1.101 nameserver 172.16.1.102 search site1.internal.domain
Abra o túnel OpenVPN para o site2, o OpenVPN empurra a opção dhcp DNS e DOMAIN para o site2 e
/etc/openvpn/update-resolv-conf
empurra-os para o resolvconf.
/etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.1.5 nameserver 172.16.1.101 nameserver 172.16.1.102 search site2.internal.domain site1.internal.domain
A resolução DNS funciona para server.site2.internal.domain, mas falha no server.site1.internal.domain
Existe uma maneira de que qualquer solicitação de DNS com falha no site21 seja transmitida aos servidores DNS do site1? Ou configure o resolvconf que apenas consultas para site2.internal.domain devem ser passadas para o servidor de nomes site2?
Eu uso uma máquina Ubuntu 14.04 no site1 e o servidor OpenVPN no site2 é uma caixa do pfSense 2.2. Eu gerencio os dois sites, portanto, fazer alterações nos dois lados não é um problema. Ambos os domínios são apenas para uso não público e interno.
fonte
Respostas:
Você pode configurar um servidor de armazenamento em cache local que observará o seu
/etc/resolv.conf
, conforme ele é alterado pelosresolvconf
scripts, e tente obter as respostas de todos os servidores de nomes listados lá.Em muitos sistemas, será suficiente instalar o pacote dnsmasq , além do resolvconf.
Os padrões devem "apenas trabalho", desde que
no-resolv
eno-poll
directivas estão ausentes/etc/dnsmasq.conf
elo
interface é no topo da/etc/resolvconf/interface-order
. Se um servidor de nomes upstream retornar alguns IPs arbitrários para endereços não resolvíveis,strict-order
no dnsmasq.conf pode ajudar. Você/etc/resolv.conf
deve apenas mostrarnameserver 127.0.0.1
.Se você preferir uma configuração fixa ou se conectar a várias redes não relacionadas e quiser evitar o vazamento de nomes de redes privadas também em todos os servidores de nomes, configure o dnsmasq para consultar servidores específicos com base no domínio:
Para obter mais informações sobre as opções do dnsmasq, consulte aqui: http://oss.segetech.com/intra/srv/dnsmasq.conf
fonte
O resolv.conf lista todos os servidores DNS disponíveis. Enquanto o primeiro da lista estiver em funcionamento, todas as consultas serão enviadas para ele. Nada para os outros, a menos que o primeiro esteja fora do ar. Portanto, se o primeiro servidor DNS da lista estiver ativo e souber a resposta, ele responderá "Eu sei!", Caso contrário, ele dirá "Receio não saber ...". E isso é tudo. Você deve informar 192.168.1.5 (o servidor DNS do site2) de todas as entradas do site1 e vice-versa, é claro. saudações
fonte
Não tentei isso no Ubuntu, mas consegui uma configuração semelhante trabalhando no Arch Linux usando openresolv e dnsmasq.
Todas as alterações estarão na máquina do cliente VPN. O servidor VPN não deve precisar de alterações porque já inclui o servidor de nomes DNS e as opções de pesquisa de domínio.
resolvconf -l
para ver todos os arquivos resolv.conf. Descubra o nome resolvconf da sua interface VPN (ou seja, o X em "resolv.conf from X"). No meu caso, foitun0
, o que vou usar na configuração restante.Edite
/etc/resolvconf.conf
para adicionar estas opções:Edite
/etc/dnsmasq.conf
para adicionar estas opções:Execute
resolvconf -u
para gerar os arquivos de configuração dnsmasq.Inicie o
dnsmasq
serviço e configure-o para iniciar na inicialização. No Arch, isso é feito executando:A
name_servers
opção diz ao resolvconf para listar apenas os servidores de nomes/etc/resolv.conf
(isto é, aponta para a instância local do dnsmasq). Asdnsmasq_
opções informam ao resolvconf para gravar os servidores de nomes que teriam entrado nos/etc/resolv.conf
arquivos de configuração do dnsmasq.A
private_interface
opção informa ao resolvconf que os servidores de nomes fornecidos por essa interface (sua VPN) devem ser usados apenas ao resolver nomes de host que estejam em um dos domínios especificados nasearch
linha. Ele irá gerar a configuração dnsmasq apropriada para fazer isso acontecer.Com essa configuração, os pedidos de hosts no site2.internal.domain devem ir para 192.168.1.5 e todos os outros pedidos devem ir para 172.16.1.101 ou 172.16.1.102.
Se o seu sistema não usa IPv6, remova o :: 1 da
name_servers
opção.fonte