Resolver consultas DNS para duas redes privadas desconectadas

2

Estou tentando configurar dois PCs (um Windows, um Linux, mas, no meu entender, esse problema é mais DNS e menos sistema operacional):

Home network: 192.168.1.0/24
VPN (via OpenVPN server not within the home network): 192.168.2.0/24 .

Gostaria que um PC em ambas as redes pudesse acessar três tipos diferentes de site:

  1. Endereços da Internet
  2. Endereços na rede doméstica
  3. Endereços na vpn

No entanto, não sei ao certo como / quais servidores DNS usar. Se eu priorizar meu servidor DNS inicial, posso resolver (1) e (2), mas não (3). Se eu priorizar o meu servidor DNS VPN, não consigo resolver endereços do tipo (2). É claro que procurar endereços por meio do nslookup e definir explicitamente o servidor correto funciona, portanto, sei que meus servidores DNS locais estão OK.

Existe alguma maneira que eu possa configurar meus PCs para fallback no segundo servidor DNS, se não houver nenhum endereço encontrado (NXDOMAIN)? Alternativamente, existe alguma maneira que eu possa dizer diferentes consultas para ir a servidores diferentes [talvez configurando diferentes subdomínios; foo.local.something vs. bar.vpn.something]?

Obrigado

    
por Mikeage 21.03.2010 / 08:35

3 respostas

3

Eu não usei isso, mas acredito que a ferramenta que provavelmente irá preencher sua necessidade em sua máquina Linux é dnsmasq .

A máscara de DNS pode ser configurada para encaminhar suas solicitações ao upstream. Ao mesmo tempo, também pode servir nomes definidos em um arquivo local / etc / hosts. Você pode usar a opção --server para encaminhar solicitações para um determinado servidor DNS para os domínios definidos.

-S, --local, --server=[/[]/[domain/]][[#][@|[#]]
Specify IP address of upstream servers directly. Setting this flag does not suppress reading of /etc/resolv.conf, use -R to do that. If one or more optional domains are given, that server is used only for those domains and they are queried only using the specified server. This is intended for private nameservers: if you have a nameserver on your network which deals with names of the form xxx.internal.thekelleys.org.uk at 192.168.1.1 then giving the flag -S /internal.thekelleys.org.uk/192.168.1.1 will send all queries for internal machines to that nameserver, everything else will go to the servers in /etc/resolv.conf.

Não sei como resolver isso no seu computador Windows. Se você não conseguir propor uma alternativa, você pode evitar o problema de se conectar ao servidor openvpn do seu computador Linux e depois configurar o roteamento NAT na interface tun * do seu cliente e ativar o encaminhamento de IP. Ajuste as rotas e as configurações de DNS em todos os outros sistemas para apontar para a caixa do Linux com a conexão OpenVPN. Isso efetivamente tornaria sua caixa Linux um gateway que direciona o tráfego através da VPN conforme necessário.

    
por 21.03.2010 / 09:49
1

Você pode configurar 2 servidores DNS, um para a rede doméstica e outro para a VPN. Você pode fazer um o mestre e outro o escravo e ter replicação entre os dois (ter dois DNS nos dois lados garante que se a VPN cair, ambos os lados ainda podem ter DNS) Esses servidores também podem ser os recursores para a rede. .

Se você quiser usar dnsmasq , ele também pode ser um pequeno servidor autoritativo. Adicione os nomes que você deseja /etc/hosts no roteador e mantenha o arquivo em sincronia com o roteador VPN.

    
por 22.03.2010 / 12:39
0

Eu não conheço o openvpn, mas com os clientes VPN da Cisco há algo chamado 'split-dns' que diz "se alguém está procurando por algo em whatever.pany-I'm-VPNing-into.com, em seguida, obter seu IP a partir do servidor DNS apresentado através da VPN, caso contrário vá para o servidor regular que passa pela internet e / ou material doméstico ". Eu acho que isso soa como você quer.

edit - AQUI é um link para alguém fazendo exatamente isso com o openvpn.

    
por 21.03.2010 / 09:07