Ich habe zwei Subnetze, die über zwei DD-WRT-APs miteinander verbunden sind. Der Remote-AP befindet sich im Client-Routed-Modus, sodass er ein separates Subnetz hat. Seine IPs sind 192.168.2.1/24 und 192.168.0.5/24. Der lokale AP befindet sich im AP-Modus. Die DD-WRT-DHCP-Einstellungen befinden sich für den Remote-AP im Weiterleitungsmodus.
Ich habe DNSMASQ im ersten Subnetz auf IP 192.168.0.2/24 eingerichtet, es ist auch der DHCP-Server für das zweite Subnetz - das funktioniert und meine Remote-Clients erhalten den richtigen Router. Die DNSMasq-Maschine kann den PC im zweiten Subnetz anpingen und umgekehrt. Ich kann auch per RDP von einem PC im ersten Subnetz zu dem PC im zweiten Subnetz senden - es scheint mir also, dass die meisten Verbindungen vom ersten zum zweiten Subnetz funktionieren.
Mein Problem ist, dass DNSMasq keine DNS-Antworten an das zweite Subnetz sendet, an das erste Subnetz hingegen schon. Kann mir jemand sagen, warum das so ist?
Zu beachten ist, dass sich die Route für das zweite Netzwerk auf dem Gateway-Gerät (192.168.0.1) befand, ich habe jedoch festgestellt, dass dadurch viele Pakete verloren gingen. Daher wurde jedem der Geräte im ersten Subnetz eine lokale statische Route für das zweite Subnetz hinzugefügt.
route add 192.168.2.0 mask 255.255.255.0 192.168.0.5
Ich habe die DHCP-zugewiesene Route zu diesem Zeitpunkt noch nicht getestet, da ich derzeit ein Problem habe
Dies ist eine Skizze von dem, was ich habe
DNSMASQ-Konfiguration
# 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
Antwort1
Ok, also nachdem ich das Handbuch genauer gelesen habe, muss ich etwas hinzufügen, um die Standardeinstellung, nur lokale Subnetze zu beantworten (--local-service), zu überschreiben, eine Standardoption, die keine Negation hat, also habe ich zum Beispiel versucht
listen-address=192.168.0.2
Da resolve.conf jedoch die Zeile
nameserver 127.0.0.1
meine Änderung hat dazu geführt, dass DNSMASQ keine Anfragen mehr beantwortet, die von ihm selbst stammen - so konnte der DNS-Server seltsamerweise keinen DNS-Namen mehr auflösen, während alle anderen Maschinen ihn erfolgreich als DNS-Server verwendeten. Ich habe das behoben, indem ich stattdessen die folgende Zeile hinzugefügt habe
listen-address=192.168.0.2,127.0.0.1
da ich keine einfache Möglichkeit finden konnte, das Problem mit Resolveconf zu beheben