¿Cómo configuro maraDNS en Windows 7 como servidor DNS de reenvío para 2 zonas: la intranet y la predeterminada (también conocida como "todo lo demás")?

¿Cómo configuro maraDNS en Windows 7 como servidor DNS de reenvío para 2 zonas: la intranet y la predeterminada (también conocida como "todo lo demás")?

Estoy intentando configurar maraDNS en Windows 7. En general, quiero que el DNS de Google resuelva todo (la zona "1", por así decirlo), excepto todo lo que se encuentra en los dominios de la intranet, que son atendidos por un servidor DNS de la intranet.

Así que he añadidomararc

hide_disclaimer = "YES"
ipv4_bind_addresses = "127.0.0.1"
timestamp_type = 2
random_seed_file = "secret.txt"

upstream_servers = {}
upstream_servers["."]="8.8.8.8, 8.8.4.4" # Servers we connect to
upstream_servers["intranet.lan."]="1.2.3.4, 2.3.4.5"
upstream_servers["intra.lan."]="1.2.3.4, 2.3.4.5"

esto da un

> askmara.exe Agoogle.com.
# Querying the server with the IP 127.0.0.1
# Remote server said: REFUSED
# NS replies:
# AR replies:

Luego probé con la variable "csv2" y un archivo de texto.

upstream_servers = {}
upstream_servers["."]="8.8.8.8, 8.8.4.4" # Servers we connect to

csv2 = {}
csv2["intranet.lan."]="db.intr.lan"
csv2["intra.lan."]="db.intr.lan"

donde el archivo de texto "db.intr.lan" contiene:

intranet.lan.    NS nameserver1.intranet.lan ~
intra.lan.       NS nameserver1.intranet.lan ~

pero esto da esta advertencia

Processing zone asw.zone. right now.
Filename: db.eb.txt
Warning: Authoritative NSes must be immediately after SOA
Or the first records in the zone
Otherwise, the record is ignored
Processing zone elektrobit.com. right now.
Filename: db.eb.txt

pero realmente no creo que agregar un registro "SOA" aquí sea la forma correcta.

No quiero crear un servidor de nombres autorizado para mi intranet. Sólo para reenviar diferentes dominios a diferentes servidores de nombres y, obviamente, tener un DNS predeterminado para estar en Google. ¿Cómo puedo hacer eso?

gracias entonces como

Respuesta1

Primero, no estoy familiarizado con maraDNS, por lo que mi respuesta no responderá a su pregunta, pero si desea probar otra solución, intentaré mostrarle cómo hacerlo en un unboundreenviador de DNS bien compatible (especialmente el autor de maraDNS dijo "Dado que MaraDNS está congelado, solo soluciono errores de seguridad y otros errores graves")

Primero debemos hablar unboundsobre los rangos de IP privados.

# Only 'private-domain' and 'local-data' names are allowed to have these private addresses.
private-address: 10.0.0.0/8
private-address: 172.16.0.0/12
private-address: 192.168.0.0/16
private-address: 169.254.0.0/16
private-address: fd00::/8
private-address: fe80::/10

Luego hable unboundsobre los dominios locales (privados)

private-domain: "intra.lan."
domain-insecure: "intra.lan."

local-zone: "intra.lan."             nodefault      # nodefault prevent leak of query to outside

# override defaults with stub-zones
local-zone: "168.192.in-addr.arpa." nodefault

Luego podemos redirigir la consulta DNS local al DNS local responsable de la resolución de nombres en "intra.lan". y cualquier otra cosa será resuelta por los servidores DNS ascendentes

forward-zone:
    name: "intra.lan."
    forward-addr: 192.168.xx.yy  # IP address of DNS responsible for "intra.lan."

stub-zone:
    name: "xx.168.192.in-addr.arpa."
    stub-addr: 192.168.xx.yy

(reemplace xx e yy con IP real)

información relacionada