Tengo dos subredes conectadas entre sí mediante dos AP DD-WRT: el AP remoto está en modo enrutado por el cliente, por lo que tiene una subred separada y sus IP son 192.168.2.1/24 y 192.168.0.5/24. El AP local está en modo AP. La configuración DD-WRT DHCP está en modo directo para el AP remoto.
Tengo configurado DNSMASQ dentro de la primera subred en IP 192.168.0.2/24 y también es el servidor DHCP para la segunda subred; esto funciona y mis clientes remotos obtienen el enrutador correcto. La máquina DNSMasq puede hacer ping a la PC en la segunda subred y lo contrario también es cierto. También puedo realizar RDP desde una PC en la primera subred a la PC en la segunda subred, por lo que me parece que la mayoría de las comunicaciones de la primera a la segunda subred son laboral
Mi problema es que DNSMasq no envía respuestas DNS a la segunda subred; funciona para la primera subred. ¿Alguien puede sugerir por qué?
Una cosa a tener en cuenta es que la ruta para la segunda red estaba en el dispositivo de puerta de enlace (192.168.0.1), pero descubrí que esto descartaba muchos paquetes, por lo que cada uno de los primeros dispositivos de subred tiene una ruta estática local para la segunda subred agregada. él.
route add 192.168.2.0 mask 255.255.255.0 192.168.0.5
Todavía tengo que probar la ruta asignada por DHCP en este momento debido a mi problema actual.
Este es un boceto de lo que tengo.
Configuración DNSMASQ
# Configuration file for dnsmasq.
domain-needed
bogus-priv
addn-hosts=/etc/dnsmasq.hosts
# so don't use it if you use eg Kerberos, SIP, XMMP or Google-talk. This option only affects forwarding, SRV records originating for dnsmasq (via srv-host= lines) are not
# suppressed by it.
filterwin2k
dhcp-range=set:house,192.168.0.1,192.168.0.254,infinite
dhcp-range=set:backyard,192.168.2.1,192.168.2.254,infinite
# Change this line if you want dns to get its upstream servers from somewhere other that /etc/resolv.conf
resolv-file=/var/run/dnsmasq/resolv.conf
# server=61.9.134.49
# server=61.9.133.193 setup the default gateway
dhcp-option=tag:house,option:router,192.168.0.1
dhcp-option=tag:backyard,option:router,192.168.2.1
# option 42?
dhcp-option=option:ntp-server,192.168.0.2
expand-hosts
domain=wilson.lan
dhcp-range=192.168.0.100,192.168.0.150,12h
dhcp-range=192.168.2.100,192.168.2.150,255.255.255.0,12h
# DO NOT Set The route to that network Done on Gateway
#dhcp-option=121,192.168.2.0/24,192.168.0.5
#Send microsoft-specific option to tell windows to release the DHCP lease when it shuts down. Note the "i" flag,
# to tell dnsmasq to send the value as a four-byte integer - that's what microsoft wants. See
# http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true
dhcp-option=vendor:MSFT,2,1i
# Set the DHCP server to authoritative mode. In this mode it will barge in and take over the lease for any client
# which broadcasts on the network, whether it has a record
# of the lease or not. This avoids long timeouts when a machine wakes up on a new network.
# DO NOT enable this if there's the slightest chance that you might end up
# accidentally configuring a DHCP server for your campus/company accidentally.
# The ISC server uses the same option, and this URL provides more information:
# http://www.isc.org/files/auth.html
dhcp-authoritative
# Log lots of extra information about DHCP transactions.
log-dhcp
Respuesta1
Ok, después de leer mejor el manual, necesito agregar algo para anular el valor predeterminado de responder solo a subredes locales (--local-service), una opción predeterminada que no tiene negación, así que, por ejemplo, lo intenté.
listen-address=192.168.0.2
Sin embargo, como resolve.conf tiene la línea
nameserver 127.0.0.1
mi cambio impidió que DNSMASQ respondiera consultas por sí mismo, por lo que, curiosamente, el servidor DNS ya no pudo resolver ningún nombre DNS mientras que todas las demás máquinas lo usaban con éxito como servidor DNS. Solucioné esto agregando la siguiente línea en su lugar
listen-address=192.168.0.2,127.0.0.1
ya que no pude encontrar una manera sencilla de arreglar lo que estaba haciendo resolveconf