Como encaminhar resolução de domínio por prefixo? [fechadas]

1

Às vezes, preciso conectar-me à minha rede de trabalho em todo o VPNC. Essa rede tem servidor DNS. Eu não tenho permissão para extrair arquivos de zona dele. E eu tenho servidor de ligação local que encaminha para 8.8.8.8 e resolve alguns nomes internos dos meus KVMs. E meu resolve.conf direciona para 127.0.0.1.

Todos os nomes da rede de trabalho têm o mesmo subdomínio (company.com).

Eu ficaria feliz em encontrar uma opção de configuração com regex para encaminhar nomes de domínio de resolução correspondentes regex /company.com$/ para outro servidor DNS, em vez do padrão.

Sim, esta solução não parece tecnicamente perfeita, mas é simples.

Obrigado pela ideia sobre o dnsmasq. Agora é deixado para trabalhar.

Agora eu corro o bind9 em um veth apenas. O /etc/resolve.conf é deixado inalterado. O dnsmasq é obrigado a restabelecer as interfaces e encaminhar a bind9 por padrão para o servidor da empresa.

E tudo funcionando se a rede vpn foi estabelecida antes. Mas se você iniciar o vpnc-connect, ele falhará depois de passar algum tempo reclamando que o vpn.company.com não pode ser resolvido.

Eu tentei desativar o armazenamento em cache negativo e configurar o tamanho máximo do cache para zero. Nada ajudou.

Esse loop não aconteceu se /etc/resolve.conf apontar para 8.8.8.8 ou para meu bind9.

    
por Daneel S. Yaitskov 02.04.2015 / 20:56

1 resposta

1

dnsmasq fará isso por você. Execute-o localmente em sua máquina e defina seu /etc/resolv.conf para apontar para 127.0.0.1 .

Eu não tenho a configuração completa para entregar, mas os parâmetros que você provavelmente deseja investigar são

# Do not read resolv.conf
no-resolv

# Send queries for contoso.com to nameserver 10.1.2.3
server=/contoso.com/10.1.2.3

# Set your local default domain and add it to simple names in /etc/hosts
domain=fabrikam.com
expand-hosts

# DNS "A" records are like this
host-record=vpn.contoso.com,203.0.113.77

Você pode incluir outros arquivos do arquivo /etc/dnsmasq.conf principal, para que um deles possa ser atualizado conforme necessário quando você colocar vpnc on-line ou off-line para que os encaminhadores estejam disponíveis somente quando a vpn estiver ativa.

Se você precisar resolver um nome como vpn.contoso.com , não será possível fazer isso diretamente, pois o domínio contoso.com é enviado para um servidor de nomes que só está disponível quando a vpn está ativa. Uma vez que não estamos querendo envolver galinhas e ovos [*] a solução aqui é usar dnsmasq para definir isso como um nome bem conhecido. Isso pode ser adicionado a /etc/hosts ou definido em dnsmasq.conf como host-record .

Com o tempo, você pode considerar a substituição de bind por dnsmasq ; para uma rede interna, faz praticamente tudo o que o bind faz.

    
por 02.04.2015 / 21:09