Vor den Basteleien am letzten Router (obige AW) probierst du noch Folgendes auf der Shorewall - bis es mit der Syntax der Shorewall und der Namensauflösung im 192.168.1.0/24er Netz klappt:
Voraussetzung: Das Netz 192.168.1.0/24 muss im Objekt "loc" enthalten sein. Oder es gibt bereits ein weiteres Objekt für dieses Netz. Dann müssten nachfolgend genannte Einträge auch dafür getätigt werden.
/etc/shorewall/rules:
#ACTION SOURCE DEST PROTO DEST PORT(S)
Falls Shorewall-Objekt DNS(DNAT) nicht existiert, müsste das funktionieren (beide Zeilen gemeinsam eintragen), DNAT sollte wenigstens vordefiniert sein:
#ACTION SOURCE DEST PROTO DEST PORT(S)
Code: Alles auswählen
DNAT loc loc:192.168.100.251:53 tcp 53
DNAT loc loc:192.168.100.251:53 udp 53
Erläuterung:
Die von dir hinzugefügte REJECT-Regel ist zu löschen.i
Alle DNS-Anfragen werdern so (hoffentlich) auf den Shorewall-DNS (Default-Gateway, Port53/tcp/udp umgeleitet (forwarded).
Ohne vorherige Bastelei am letzten Router zeigt die DNS-Funktion von Clients im 1er Netz die korrekte Funktion der Regel(n).
Zusätzlich im 100er Netz einem Client testweise die 8.8.8.8 (Google DNS) per resolv.conf verbraten, die Namensauflösung muss trotzdem per Shorewall laufen.
(Anstelle 192.168.100.251 wäre 127.0.0.1 (localhost) etwas hübscher. Falls mal IPs geändert werden, stimmt die Regel trotzdem. Kannst ja mal testen, ob Shorewall das auch nimmt. Ist recht wahrscheinlich. Gibt vielleicht sogar ein Objekt dafür.)
Log-Auswertung der Shorewall wegen Funktionalität und im Fehlerfalle!
Edit: Portnummern DNS von 52 auf 53 nach guennid Anfrage korrigiert.