Distinguir entre pedidos de DNS da rede local e da Internet

1

Estou usando o DNSmasq tanto para meus clientes locais quanto para alguns serviços da Internet. Um serviço que eu forneço é um servidor dynDNS. Ele recebe atualizações de IP via HTTP e as grava como um simples arquivo de hosts, mas sem domínio. O domínio é anexado pelo DNSmasq devido à seguinte configuração mínima:

interface=eth0          # internal
interface=eth1          # external
no-dhcp-interface=eth1
dhcp-range=192.168.1.2,192.168.1.254,12h

domain=mydomain.eu
no-hosts
addn-hosts=/etc/hosts.dyndns         # hosts file created by my dynDNS server
expand-hosts

# Server/VMs
host-record=server,192.168.1.1
host-record=server.mydomain.eu,<externalIP>
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP>    # wildcard subdomains

O problema é: O domínio também é entregue pelo DHCP para meus clientes locais. Se algum deles solicitar server , o cliente estenderá sua solicitação ao domínio server.mydomain.eu , que é respondido pelo DNSmasq como <externalIP> . Devido à topologia da minha conexão com a internet que envolve vários problemas. Em vez disso, deve ser resolvido para 192.168.1.1 .

Como fazer o DNSmasq distinguir entre solicitações da rede local e da internet? Ou é possível usar domain apenas para expandir arquivos de hosts?

    
por Chickenmarkus 04.03.2016 / 15:19

2 respostas

1

O servidor ISC DHCP possui zonas, o que poderia resolver seu problema, mas duvido que você deseje deixar o dnsmasq.

Mas você pode iniciar duas instâncias do dnsmasq com configurações ligeiramente diferentes. Interno:

bind-interfaces
interface=eth0          # internal
dhcp-range=192.168.1.2,192.168.1.254,12h

domain=mydomain.eu
no-hosts
addn-hosts=/etc/hosts.dyndns         # hosts file created by my dynDNS server
expand-hosts

# Server/VMs
host-record=server,192.168.1.1
host-record=server.mydomain.eu,192.168.1.1
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP>    # wildcard subdomains

e externo:

bind-interfaces
interface=eth1          # external

no-hosts
addn-hosts=/etc/hosts.dyndns         # hosts file created by my dynDNS server

# Server/VMs
host-record=server.mydomain.eu,<externalIP>
cname=dns.mydomain.eu,server.mydomain.eu
address=/mydomain.eu/<externalIP>    # wildcard subdomains
    
por 20.02.2018 / 10:31
-1

Se você conseguir fazer o ping de 157.166.224.26, mas não conseguir fazer ping no cnn.com

Então você está tendo um problema de DNS.

[Se você não conseguir fazer o ping, OU, há rede problemas e você não tem problemas se você puder pingar tanto]

Você pode usar o nslookup para localizar uma alternativa interna ou servidor de DNS externo que resolve corretamente 'cnn.com' para é o endereço IP e configura a NIC da sua estação de trabalho este servidor de dns estático até os problemas com o DHCP

    
por 18.07.2016 / 11:35