(gelöst) DNS-Auflösung im LAN

Alles rund um sicherheitsrelevante Fragen und Probleme.
Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: Auswahl des DNS-Servers

Beitrag von MSfree » 02.02.2017 14:29:38

guennid hat geschrieben:Bei dir sieht das sehr anders aus.
Bei mir läuft das auch in der anderen Richtung ab. Bei mir sollen WLAN-CLients ans LAN gebracht werden, bei dir sollen LAN-Clients über eine WLAN-Luftbrücke ans Restnetz angeschlossen werden.
Ist das komplett?
Ja, mehr ist das bei mir nicht.
Was ist mit den Angaben für wpa-supplicant?
Guter Punkt. Aber bei mir läuft das ja als Accesspoint und nicht als WLAN-Client. Folglich ist bei mir der hostapd für die Verschlüsselung zuständig, bei einem Client wäre das dann wpa-supplicant.
Ich habe noch nie eine händisch gestrickte supplicant.conf benutzt.
Unter /usr/share/doc/wpasupplicant/examples gibt es Beispiele. Ich könnte mir aber vorstellen, daß folgendes in der /etc/network/interfaces auch funktioniert: (ohne Gewähr)

Code: Alles auswählen

auto lo
iface lo inet loopback

iface eth0 inet manual
iface wlan0 inet manual
  wpa-ssid Luftnummer
  wpa-psk  StrengGeheim

auto br0
iface br0 inet dhcp
  bridge_ports eth0 wlan0
Nun stellt sich die Frage, ob folgende Aussage nur für Ubuntu gilt:
Diese Funktion des Kernels wurde deaktiviert. Soll ein WLAN-Adapter in eine Brücke integriert werden, so muss sich dieser im Master-Modus befinden! Die ist so nur in Kombination mit hostapd und einer Konfiguration als WLAN Router möglich. Alternative wäre den Kernel mit der entsprechenden Option selbst zu kompilieren.

guennid

Re: Auswahl des DNS-Servers

Beitrag von guennid » 02.02.2017 15:14:32

Ich denke, wir lassen das. Ich komme damit nicht zurecht und habe mittlerweile die Überlegung weiterverfolgt, ob der Hausstromadapter angesichts der Erneuerung von 192.168.100.101 immer noch unbrauchbar ist. Das scheint nicht mehr der Fall zu sein. Ich schaufele gerade 2GB von einer Maschine auf den ehemaligen Router und das scheint trotz eingeschaltetem 192.168.100.101 störungsfrei zu laufen. OK schnell ist was anderes, aber das sind eben auch alte Maschinen. Sollte sich das stabilisieren, könnte ich auch auf diese Weise das 1er Netz loswerden.

Aber ich hätte doch zu gerne herausbekommen, warum diese Namensauflösung zwischen den Netzen nicht funktionierte. :evil:

BenutzerGa4gooPh

Re: Auswahl des DNS-Servers

Beitrag von BenutzerGa4gooPh » 02.02.2017 15:55:53

guennid hat geschrieben:Aber ich hätte doch zu gerne herausbekommen, warum diese Namensauflösung zwischen den Netzen nicht funktionierte.
Wenn es vor der neuen Shorewall-Regel funktioniert hat, dann liegt es wohl an dieser. Die schränkt sicher zu weit ein, berücksichtigt das 192.168.1.0/24er Netz nicht.

Könnte man nochmal dran arbeiten. :wink:

Dein Netzplan ist übrigens verständlich so. :THX:
(Kleiner Mangel: Subnetting ist nicht richtig erkennbar, konnte man sich aber denken. In 10.0.0.0/8 ist das bei Subnetting nicht der Fall. Auch in 192.168.1.0/24 kann man weitere Teilnetze (Subnets) konfigurieren. Schreibe einfach in Dokumentation die Anzahl 1en der Subnetzmaske hinter die Adressen aller Router-Interfaces, z. B. 255.255.255.0 enthält 24 x 1, für 192.168.1.0/24. Bei Hosts (Clients) und Bridges muss man das nicht tun, sieht man am entsprechend gekennzeichneten Routerinterface. Vgl. a. https://de.m.wikipedia.org/wiki/Classle ... in_Routing)

Sorry für Schlaumeierei, aber Doku braucht man für sich selbst und für Helfer. Zu große Ausführlichkeit lässt sich ja flott
löschen. :wink:
Zuletzt geändert von BenutzerGa4gooPh am 02.02.2017 16:16:52, insgesamt 2-mal geändert.

guennid

Re: Auswahl des DNS-Servers

Beitrag von guennid » 02.02.2017 16:14:04

Wenn es vor der neuen Shorewall-Regel funktioniert hat, dann liegt es wohl an dieser.
Da wär' ich jetzt nicht drauf gekommen! :mrgreen:

Der Witz ist doch dass die 1. durch deine Anregung entstanden ist und 2. mir äußerst sinnvoll erscheint, ergo ich die partout nicht aufgeben will, aber 3. offenbar keine Mensch eine Idee hat, wieso die Maschinen hinter 192.168.1 mit dieser Regel keine Namensauflösungund ergo kein Internet mehr bekommen. Sakra!!!

BenutzerGa4gooPh

Re: Auswahl des DNS-Servers

Beitrag von BenutzerGa4gooPh » 02.02.2017 16:23:59

guennid hat geschrieben:wieso die Maschinen hinter 192.168.1 mit dieser Regel keine Namensauflösungund ergo kein Internet mehr bekommen. Sakra!!!
Zusätzliche Zone für Problemnetzwerk oder nee besser Problem-Netzwerk in die vorhandene Zone mit aufnehmen? 1 Regel / 1 Zone mit 1 Alias für 2 Netzwerke? https://www.rrze.fau.de/dienste/arbeite ... wall.shtml
Jedenfalls liegt es an den Sourceadressen der entstehenden iptables.

Mit dem unbedingten Portforwarding für DNS (53) unabhängig von Quelladressen auf localhost (53) wäre das Problem auch gegessen (Mein erster Beitrag, die andere Idee kam von MSfree.)

Und noch eine Möglichkeit gibt es, warum bin ich nicht gleich drauf gekommen?! :facepalm:
Diesmal auf dem Shorewall-WAN-Interface: Reject, Outbound, alle Quelladressen, TCP/UDP, alle Quellports, NICHT-Operator auf Zieladresse LAN-Interface Archer, Port 53 (DNS). Eigentlich dürfte auch nur das Shorewall-WAN-Interface DNS-Anfragen stellen.
Zuletzt geändert von BenutzerGa4gooPh am 02.02.2017 16:57:50, insgesamt 2-mal geändert.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 02.02.2017 16:47:11

Mit dem unbedingten Portforwarding für DNS (53) unabhängig von Quelladressen auf localhost (53) wäre das Problem auch gegessen (Mein erster Beitrag [...])
Portforwarding sagt mir was, damit habe ich dazumalen hantieren müssen. Aber deinen Beitrag verstehe ich diesbezüglich immer noch nicht. Erklär' das doch bitte mal ausführlicher für Dumme.

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 02.02.2017 17:12:39

Alle (ANY) Quelladressen mit Zielport 53 (DNS), Zieladresse ANY, also auch Anfragen von kompromittierten Clients an andere DNS-Server als die Shorewall) werden immer auf Localhost (also Shorewall, 127.0.0.1, Port 53 = DNS-Server der Shorewall) umgeleitet. Dies muss dann Incoming auf dem internen Interface der Shorewall durchgeführt werden, also dort, wo deine ganzen Clients angeschlossen sind. Die Quelladressen sind egal (ANY).

(Eigentlich macht man Portforwarding umgekehrt, also um einen Dienst im LAN hinter NAT-Routern vom WAN aus verfügbar zu machen.)

DNS IPv4 basiert auf tcp/udp Port 53. Protokoll muss man in Regeln auch angeben, deshalb der Satz.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 02.02.2017 18:25:27

Tut mir leid, ich versteh's nach wie vor nicht, warum aufgrund der Zeile

Code: Alles auswählen

DNS(REJECT)  loc  net
in /etc/shorewall/rules auf der Shorewall-Maschine die Rechner, deren IP mit 192.168.100. beginnt, mit dem Eintrag

Code: Alles auswählen

nameservers 192.168.100.251
in ihrer jeweiligen /etc/resolv.conf ins Netz dürfen und diejenigen, deren IP mit 192.168.1. beginnt, mit demselben Eintrag in ihrer /etc/resolv.conf das nicht mehr können.

Ich habe hier [1] nochmal erfolglos versucht schlauer zu werden.

Ich muss mich insofern korrigieren: Ich hatte bei der Einrichtung meines Shorewall-Routers mit IP-Forwarding, nicht mit Port-Forwarding zu tun. Vielleicht hilft's weiter.

[1] http://shorewall.org/two-interface.htm#DNAT

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 02.02.2017 20:51:04

guennid hat geschrieben: DNS(REJECT)  loc  net
Hhm. Habe mir das Manual angesehen. Um zu verstehen, muss man aber die ganzen vordefinierten Objekte nachvollziehen. Sowie deine Änderungen/Erweiterungen dieser. Also bleiben wir erst mal bei deiner Regel:

Du weist wie vorgeschlagen alle DNS Anfragen aus der lokalen Zone "loc" ins "net" zurück. DNS müsste dann funktionieren, sobald der Default-GW (also die Shorewall selbst in loc) angefragt wird. Klappt ja aus dem 100er Netz.

Ich kann mir jetzt nur vorstellen:
Der Router am 1er Netz selbst kümmert sich natürlich nicht um die Einträge in Clients (resolv.conf), gibt vmtl. als DHCP-Server den Clients sich selbst als DNS-Server (Forwarder) vor und fragt dazu einen externen DNS an, wird deshalb von Shorewall-Regel geblockt. Weiß nicht genau, was bei Widersprüchen DHCP-Clients tun.
Diesem Router demzufolge explizit seinen Gateway (Shorewall-LAN-Interface) als anzufragenden "öffentlichen" DNS-Server verklickern!

Ansonsten wird die Shorewall auch zum Logging zurückgewiesener Pakete aufgrund welcher Regel zu überreden sein. Anhand der Paketeigenschaften vs Regel kommt meist der Effekt: :facepalm: :wink:

http://www.shorewall.net/troubleshoot.htm

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 03.02.2017 07:06:42

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)

Code: Alles auswählen

DNS(DNAT)  loc       loc:192.168.100.251
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! :hail:

Edit: Portnummern DNS von 52 auf 53 nach guennid Anfrage korrigiert.
Zuletzt geändert von BenutzerGa4gooPh am 03.02.2017 15:11:18, insgesamt 4-mal geändert.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 03.02.2017 13:52:03

Ich habe ein schlechtes Gewissen, ob der Mühe, die du dir hier für "anner Leut'" machst! :THX:
Bevor ich weiter mache
Das Netz 192.168.1.0/24 muss im Objekt "loc" enthalten sein.
Diese Überlegung begleitet mich von Anfang an. Aber ich sehe unter /etc/shorewall nichts, wodurch ich feststellen könnte, welcher IP-Bereich denn nun tatsächlich von "loc" abgedeckt wird.

Die einzige IP-Angabe, die ich unter /etc/shorewall entdeckt habe, steht in /etc/shorewall/masq und der Inhalt ist:

Code: Alles auswählen

#INTERFACE              SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK
eth1                    192.168.100.0/16
(Seit der Einrichtung von shorewall nicht wissentlich geändert.) Ob für mein Problem relevant? - keine Ahnung. Soweit ich mich über diese IP-Schreibweise informiert habe, umfasst 192.168.100.0/16 alles hinter 192.168. ergo wäre da 192.168.1. eingeschlossen - aber wie schon gesagt, fachmännische IP-Schreibweisen sind für mich Hieroglyphen. (Wenn meine Interpretation der Schreibweise 19.168.100.0/16 richtig sein sollte, stellte sich mir am Rande die Frage: warum schreibt man dann nicht 192.168.0.0/16, 192.168.0/16 oder 192.168./16? Die 100 wäre doch dann absolut Banane?

eth1 ist hier definitiv Schnittstelle Richtung Internet, also Richtung Plastikrouter.

War der Port nicht 53?

Benutzeravatar
MSfree
Beiträge: 10686
Registriert: 25.09.2007 19:59:30

Re: DNS-Auflösung im LAN

Beitrag von MSfree » 03.02.2017 14:11:38

guennid hat geschrieben:
Das Netz 192.168.1.0/24 muss im Objekt "loc" enthalten sein.
Diese Überlegung begleitet ich von Anfang an. Aber ich sehe unter /etc/shorewall nichts, wodurch ich feststellen könnte, welcher IP-Bereich denn nun tatsächlich von "loc" abgedeckt wird.
Mal was ganz anderes:

Kann es sein, daß der Router, der das 192.168.1/24 Netz mit dem 192.168.100/24 Netz verbindet, Network Adress Translation (NAT) macht? In dem Fall sieht sowieso der Netzwerkverkehr aus dem 192.168.1/24 Netz aus, als ob es seinen Ursprung im 192.168.100/24 Netz hat.

Die Shorewall bekommt dann überhaupt nicht mit, daß es ein weiteres Subnetz im LAN gibt

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 03.02.2017 14:48:53

guennid hat geschrieben:War der Port nicht 53?
Jawoll. Oben korrigiert. MSFrees Anfrage bitte beantworten.
MSFree hat geschrieben:Kann es sein, daß der Router, der das 192.168.1/24 Netz mit dem 192.168.100/24 Netz verbindet, Network Adress Translation (NAT) macht? In dem Fall sieht sowieso der Netzwerkverkehr aus dem 192.168.1/24 Netz aus, als ob es seinen Ursprung im 192.168.100/24 Netz hat.
Anfragen eines DNS-Forwarders im NAT-Router auf einen Internet-DNS würden durch Günthers neue Regel zurückgewiesen. Ansonsten alles so, wie du schreibst.
Die einzige IP-Angabe, die ich unter /etc/shorewall entdeckt habe, steht in /etc/shorewall/masq und der Inhalt ist:
CODE: ALLES AUSWÄHLEN
#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth1 192.168.100.0/16
Das erscheint mir unsauber. Hier sollte das externe Netz 192.168.3.0/24 aufgeführt sein. /16 erfasst alle Netze nach der 168, also Supernetting des internen und externen Netzes. Wie du bereits richtig bemerkt hast. Ich weiß nun nicht, was eine Änderung alles bewirkt. Die objektorientierte Shorewall ist m. E. völlig oversized für kleine Netzwerke. Eine Firewall dient der Sicherheit, da sollte man durchblicken! Was Einfaches für kleine Netze. Sorry, musste mal gesagt werden. :evil:
Poste mal

Code: Alles auswählen

ip route ls
Mal sehen, ob/wie die Netze im Routing getrennt sind.

Vlt. hilft dir das:
Die Konfiguration erfolgt in Textdateien (unter anderem in /etc/shorewall/). Aus diesen Dateien kompiliert Shorewall mit Hilfe von iptables netfilter-Regeln, die den durch den Kernel fließenden IP-Datenstrom regulieren. Shorewall ist kein Daemon, es läuft nicht beständig, sondern beendet sich nach der Erstellung der Regeln. Es steht ein Webmin-Plugin als grafisches Frontend zur Verfügung.
https://de.m.wikipedia.org/wiki/Shorewall
Einen Router/FW bedient man eh nicht lokal - oder nutzt du einen stromfressenden Komplettrechner? Gibt kleine billige Hardware, wo auch Debian und Shorewall läuft, per GUI fernbedienbar. Aber egal, kannst ja auch eine GUI lokal benutzen zum Umkonfigurieren - und danach wieder deinstallieren. Objektorientiert und nur mit diversen Konfigurationsdateien?! Ich weiß ja nicht ... Inkonsistenzen sind wohl vorprogrammiert. :facepalm:

PS: Falls dein Archer statische Routen kann, brauchst du für deine Routerkaskade gar kein Masquerading/NAT mehr (auf Shorewall und auf hinterem Router).
https://www.administrator.de/wissen/rou ... html#toc-8

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 03.02.2017 20:45:37

MSfree hat geschrieben:Kann es sein, daß der Router, der das 192.168.1/24 Netz mit dem 192.168.100/24 Netz verbindet, Network Adress Translation (NAT) macht?
Ich glaube zu wissen, was NAT ist, aber ich habe auch nach einem halben Tag Suche nichts gefunden, was mich in die Lage versetzt hätte, die Frage zu beantworten.
Jana66 hat geschrieben:Das erscheint mir unsauber. Hier sollte das externe Netz 192.168.3.0/24 aufgeführt sein
Das funktioniert nicht. 192.168.3.0/16 funktioniert. Aber das ist ja -auch nach deinem diesbzüglichen Statement - genauso "sinnvoll" wie das ursprüngliche: 192.168.100.0/16

# ip route ls auf dem shorewall:

Code: Alles auswählen

default via 192.168.3.1 dev eth1 
192.168.1.0/24 via 192.168.100.110 dev eth0 
192.168.3.0/24 dev eth1  proto kernel  scope link  src 192.168.3.251 
192.168.100.0/24 dev eth0  proto kernel  scope link  src 192.168.100.251
# ip route ls auf dem Router im Netz 192.168.1.0:

Code: Alles auswählen

default via 192.168.100.251 dev wlan0 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.110 
192.168.100.0/24 dev wlan0  proto kernel  scope link  src 192.168.100.110
Die Regel

Code: Alles auswählen

DNS(REJECT)  loc  net
habe ich wieder gelöscht.
Jana66 hat geschrieben:Eine Firewall dient der Sicherheit, da sollte man durchblicken!
Darf man den "Durchblick" auch erlernen - oder ist der "Experten" vorbehalten? :wink:

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 03.02.2017 22:27:24

Nun gut, dann ändere mal die /etc/shorewall/rules wie oben geschrieben. Die Portnummer ist korrigiert.
(Netzmasken stimmen, nichts Auffälliges. Schaue mir die Routen morgen genauer an.)
Darf man den "Durchblick" auch erlernen - oder ist der "Experten" vorbehalten? :wink:
Experten nutzen angemessene Software und fangen einfach an. :wink: Die Shorewall ist wohl schon vom Konzept oversized für private Netze. Da würde ich ja lieber mit iptables/netfilter arbeiten. Macht Shorewall übrigens auch. Die Vereinfachungen durch Objektorientierung wirken erst bei komplexen Regelwerken (Firmennetzwerke) wirklich vereinfachend. Was macht es dir viel aus, ein paar Dinge mehrfach hinzuschreiben - übersichtlich in einer Datei? Die man leicht komplett posten könnte, mit der sich hier etliche Experten auskennen. :wink:

Also Arbeit hast du jetzt:
Nach den Regeländerungen und deren Wirksammachung (Parsing?) DNS im 1er Netz testen.
Wenn das nicht funktioniert, dann deine Regel wieder eintragen sowie DNS-Forwarders Ziel-IP im letzten Router auf Shorewall "umrichten". Ausführlich in meinem Beitrag vor den Regeländerungen.
Viel Erfolg und gute Nacht! :THX:

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 04.02.2017 11:17:24

guennid hat geschrieben:Bevor ich weiter mache
Das Netz 192.168.1.0/24 muss im Objekt "loc" enthalten sein.
Diese Überlegung begleitet mich von Anfang an. Aber ich sehe unter /etc/shorewall nichts, wodurch ich feststellen könnte, welcher IP-Bereich denn nun tatsächlich von "loc" abgedeckt wird.
Habe nachgeschaut: Die Zonen werden über Interfaces/Ports definiert (/etc/shorewall/interfaces), nicht über IP-Netze. Mit VLANs wirst du nicht arbeiten. Demzufolge beinhaltet "loc" alles am von dir definierten Port. Rules können sich um IPs kümmern, müssen aber nicht (IP=ANY).
http://shorewall.org/manpages/shorewall-interfaces.html
Also sollten die von mir vorgeschlagenen Regeln funktionieren - so denen nicht andere Regeln "im Wege" stehen.

Deine Routen stimmen. Hinweis zur künftigen Adressvergabe: Routern gibt man zur besseren Übersicht die x.x.x.1 und dem Nachbarn im gleichen Netz die x.x.x.254 - so man /24er Netze als Transfernetz nimmt. Daran dann angeschlossen Bereich für Server und Netzkomponenten (Switches) mit festen IPs. Also Bereich von .5 bis .50 oder/und .200 bis .250 reserviert. Von .101 bis .199 DHCP-Clients. Hat man immer Platz für Unvorhergesehenes. :wink:
Muss man aber nicht genauso machen.

Der hintere Router am 1er Netz müsste eigentlich schon immer NAT durchführen, sonst hätten dessen Clients keinen Internetzugang. (Dein alter Speedport hatte mit Sicherheit keine Rückroute darauf, in den Archer hast du keine eingetragen, das wüsstest du noch. In der etc/network/interfaces des hinteren Routers müssten entsprechende Einträge fuer NAT sein. Oder du schaust einfach mal auf dem letzten Router:

Code: Alles auswählen

iptables -L -t nat
Vgl. a. https://wiki.debian.org/DebianFirewall zu den NAT-Eintragungen in etc/network/interfaces.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 05.02.2017 10:49:32

Problem gelöst (hoffe ich):
Statt uns auf den Shorewall zu fixieren, hätten wir besser den "hinteren" Router unter die Lupe genommen (dessen /etc/network/interfaces hatte ich zwar schon mal gepostet, aber an der lag's nicht). Ausgehend von MSfrees Hinweis, ob der überhaupt NAT macht, habe ich mich dann mal auf den konzentriert und das Modul ip_tables in den Kern kompiliert und versucht, die Maschine damit zu konfigurieren. Das war wohl auch eine Sackgasse. Aber:
Sämtliche hosts im lan waren auf diesem Router, der das Netz 192.168.1.0/24 mit dem 192.168.100./24 (besser so? :wink: ) verbindet, in /etc/hosts gelistet und in der /etc/resolv.conf war die interne IP des shorewall eingetragen. Das genügte aber nicht. Nachdem ich jetzt auch auf diesem Router Debiandnsmasq nachinstalliert habe und den clients in 192.168.1.0/24 in ihrer /etc/resolv.conf die interne IP dieses Routers als nameserver eingetragen habe, funktioniert jetzt die Namensauflösung (mit Kern ohne ip_tables getestet) wie gewünscht.

So Jana und MSfree, jetzt dürft ihr mich hauen, aber auch nachdem ich den kompletten Thread heute morgen noch mal durchgegangen bin, habe ich keine Rückfragen gefunden, die mich in diese Richtung geschubst hätten. Das ist bitte absolut nicht als Kritik zu verstehen, sondern nur als Entschuldigung meinerseits, warum ich auf diese Idee nicht schon früher gekommen bin. :facepalm: Dazu unten mehr.

Die Ausgangsfrage war ja, ob das Procedere, die Namensauflösung ausschließlich über die shorewall zu regeln, mein Netz etwas sicherer machen könnte. Gehe ich recht in der Annahme, dass da jetzt noch das entscheidende Bauteilchen fehlt: Statt die DNS-Anfragen in der shorewall einfach auf den Plastikrouter weiterzuleiten, sollte ich dort und nur dort, einen "echten" Nameserver angeben, z.B. den von Jana verlinkten des CCC?

Nichtsdestotrotz: Vielen Dank für deine Mühe, Jana! :wink: Ich denke, ich habe trotz der "Irrfahrten" einiges dazugelernt. Und werde mit dem neuen Wissen auch noch einiges rumexperimentieren :THX:

Was meine (etwas? :wink: ) chaotische IP-Zahlenvergabe betrifft: auch das hat historische Gründe. So ist das eben, wenn ein Nichtexperte, expertenmäßig loslegt ("Experten [...] fangen einfach an." ,O-Ton Jana :wink: ). Ich werde das, wenn ich Zeit finde, mal nach Janas Hinweisen etwas übersichtlicher sortieren.

Nebenbei:
Die im deutschsprachigen Internet zu findenden Informationen über dnsmasq haben mich meistens eher verwirrt als weitergebracht. Mit DNS hält man sich da meist nicht lange auf, sondern beschreibt ausführlich seine DHCP-Server-Funktionalität. :facepalm: . Am besten klar gemacht, dass das Teil die Bezeichnung DNS-Server nur bedingt verdient, hat mir das hier:
Für die DNS-Funktionalität wird auf die Dateien /etc/hosts und /etc/resolv.conf zurückgegriffen, die keinerlei Dnsmasq-spezifischer Anpassung bedürfen, und weiterhin standardkonform verwendet werden können. Dieses Verhalten kann allerdings angepasst werden. Die DHCP-Funktionalität wird in der Konfigurationsdatei von Dnsmasq angepasst.
(1). Das kann man zwar so ähnlich auch sonstwo lesen, z.B. hier (2), aber erst das Arch-Wiki brachte mich auf den Trichter, dass, nutzt ein Laie wie ich nur die DNS-Funktionalität, er vergeblich nach einer Fehlkonfiguration in der dnsmasq-config sucht, wenn die Namensauflösung nicht klappt.

(1) https://wiki.archlinux.de/title/Dnsmasq
(2) https://wiki.ubuntuusers.de/Dnsmasq/

Grüße, Günther

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 05.02.2017 16:17:07

guennid hat geschrieben:Nachdem ich jetzt auch auf diesem Router dnsmasq nachinstalliert habe und den clients in 192.168.1.0/24 in ihrer /etc/resolv.conf die interne IP dieses Routers als nameserver eingetragen habe, funktioniert jetzt die Namensauflösung (mit Kern ohne ip_tables getestet) wie gewünscht.
Da fragt man sich nun, warum das vor der neuen Shorewall-Regel geklappt hat ... deshalb nur indirekt bezüglich DHCP und deinen Änderungen in Clients im 1er Netz in Betracht gezogen.
Jana66 hat geschrieben: Ich kann mir jetzt nur vorstellen:
Der Router am 1er Netz selbst kümmert sich natürlich nicht um die Einträge in Clients (resolv.conf), gibt vmtl. als DHCP-Server den Clients sich selbst als DNS-Server (Forwarder) vor und fragt dazu einen externen DNS an, wird deshalb von Shorewall-Regel geblockt. Weiß nicht genau, was bei Widersprüchen DHCP-Clients tun.
Diesem Router demzufolge explizit seinen Gateway (Shorewall-LAN-Interface) als anzufragenden "öffentlichen" DNS-Server verklickern!
In die /etc/resolv.conf spielt vieles rein, auch DHCP, deshalb "heiße Kiste": https://wiki.debian.org/NetworkConfigur ... ameservers
Hoch interessant übrigens! :wink:
Die Ausgangsfrage war ja, ob das Procedere, die Namensauflösung ausschließlich über die shorewall zu regeln, mein Netz etwas sicherer machen könnte.
Bei DNS-kompromittierten Clients erzwingen nach wie vor entsprechende Shorewall-Rules den entsprechenden Server - oder verhindern einen falschen. Wie besprochen und Threadziel. :wink:
Gehe ich recht in der Annahme, dass da jetzt noch das entscheidende Bauteilchen fehlt: Statt die DNS-Anfragen in der shorewall einfach auf den Plastikrouter weiterzuleiten, sollte ich dort und nur dort, einen "echten" Nameserver angeben, z.B. den von Jana verlinkten des CCC?
.
4 sinnvolle Schritte:
1. Du machst erst mal die Shorewall-Rule fertig - ohne was zu ändern (Threadziel)!!! :hail:
2. Den DNS-Forwarder auf dem Plastikrouter benötigst du für dessen WLAN-Clients sowieso. Eine Umleitung auf Shorewall ist nahezu unmöglich, müsste per LAN-Anschluss des Plastikrouters erfolgen, und ich bezweifele, dass das dessen Firmware das mitmacht. Auf dem Plastikrouter könnte man also einen öffentlichen einstellen, der per Internet abgefragt wird und zu dem man als Aluhut Vertrauen hat. CCC = auch viele Aluhuete. Im positivem Sinne gemeint. :THX:
3. Da man nicht an x Stellen das Gleiche konfigurieren sollte (Übersicht!), würde ich den Plastikrouter der Shorewall als DNS "verklickern". Dem 1er Router Shorewall-DNS. Ohne Plastikrouter kommt eh kein Client ins Internet und die Shorewall kann die interne Namensauflösung für deine Hosts trotzdem tun mit dnsmasq.
4. Optional und m. E. Ideallösung für Aluhuete: Du deinstallierst nur auf dem Shorewall-Geraet Debiandnsmasq einschl. Konfigs (purgen) und installierst und konfigurierst dafür Debianunbound. Das ist ein rekursiver Resolver und fragt nur authoritative DNS-Server an. Zu denen muss man Vertrauen haben. :wink:
https://de.m.wikipedia.org/wiki/Domain_Name_System
https://blog.opendns.com/2014/07/16/dif ... meservers/
Also zusammengefasst: Erst Schritte 1 - 3, dann unbound in VM testen und evtl. neuer Thread vor "Produktiveinsatz" von unbound. :wink:

Debiandnsmasq kann man auch so beschreiben: Der holt sein Wissen vom Vordermann, nicht vom Lehrer (authoritativer Server), speichert (cacht) und sagt sein Wissen allen Hintermännern (LAN) weiter. Erst auf Nachfrage eines Hintermannes fragt der faule Sack erst den Vordermann! Wenn der nächste Hintermann das Gleiche fragt, nutzt der clevere Sack sein Gedächtnis. :mrgreen:
Was meine (etwas? :wink: ) chaotische IP-Zahlenvergabe betrifft: auch das hat historische Gründe. So ist das eben, wenn ein Nichtexperte ...
Macht doch nichts, bei mir kommt die ehem. Planerin manchmal durch. :oops:
Zuletzt geändert von BenutzerGa4gooPh am 05.02.2017 17:29:29, insgesamt 13-mal geändert.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 05.02.2017 16:43:14

Jana66 hat geschrieben:Da fragt man sich nun, warum das vor der neuen Shorewall-Regel geklappt hat ...
Hat's ja nicht:
guennid hat geschrieben:Ich habe bisher zwei Kauf-Router kennengelernt. Beide fungierten mit ihrer internen IP als DNS-Server
DHCP mache ich übrigens auch (noch) nicht, bzw. für den Tolino hatte ich da auf der Shorwall einen kleinen Bereich freigeschaufelt, aber da Adobe ( :twisted: ) den Shorewall eh nicht mag, blieb mir gar nichts anderes übrig, als das auf dem Plastik-Router zu machen. Aber da wird WLAN/DHCP nur bei Bedarf eingesschaltet, konkret immer dann, wenn meine Frau (oder ich) ein E-Buch aus der Marburger Stadtbücherei ausleihen wollen.

Meine Idee, den CCC-DNS-Server auf der Shorewall einzutragen, funktioniert übrigens nicht. Das müsste ich schon auf dem Plastik-Router tun, denn an dem komme ich offensichtlich nicht vorbei - richtig?

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 05.02.2017 17:06:57

1-3 deines letzten Post sind erledigt.

Tipp zum Posten: Es ist häufig dann nicht sinnvoll, den eigenen letzten Post nochmal zu ändern, wenn schon weitergepostet wurde, das führt mitunter zu Missverständnissen.

Nichtsdestotrotz, alles ok und (wahrscheinlich :wink: ) verstanden.

Da ich beruflich keine VM mehr brauche, wollte ich mir sowas eigentlich nicht mehr antun. Mal sehen, wenn ich viel Zeit habe (Rentner haben die eigentlich nie :mrgreen: ) versuche ich 4. mal direkt. :wink:

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 05.02.2017 17:18:12

guennid hat geschrieben:1-3 deines letzten Post sind erledigt.
:THX: Welche Regeln funktionieren, welche nutzt du?
guennid hat geschrieben:Tipp zum Posten: Es ist häufig dann nicht sinnvoll, den eigenen letzten Post nochmal zu ändern, wenn schon weitergepostet wurde, das führt mitunter zu Missverständnissen.
Deshalb schrieb ich bis zur Fertigstellung "Editiere noch ..." ganz unten. Mittlerweile "wegeditiert" :mrgreen:

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 05.02.2017 17:38:59

Jana, soweit ich nach dem Hin und Her noch durchblicke, ist die einzige relevante Änderung, die ich gegenüber dem status qou ante letztlich vorgenommen habe: Installation von dnsmasq auf dem "hinteren" "Router". OK, die /etc/hosts habe ich mich während unserer Diskussion bemüht, aussschließlich auf der Shorewall zu pflegen und anschließend an meine sämtlichen Rechner zu verteilen. Was ich da alles zwischenzeitlich geändert habe, kriege ich nicht mehr zweifelsfrei auf die Reihe. Eines glaube ich sagen zu können: Die Shorewall-Konfiguration ist nach einigem Hin und Her die gleiche wie vor meinem 1. Post, also was DNS betrifft, steht da nach wie vor nur drin:

Code: Alles auswählen

DNS(ACCEPT)     loc             $FW
DNS(ACCEPT)     $FW             net
Mittlerweile glaube ich, dass diese beiden Zeilen schon ein

Code: Alles auswählen

DNS(REJECT)    loc             net
verhindern.

Und nochmal: ohne deine intensive Beteiligung und die Tipps von MSfree hätte ich das Ganze wohl ungelöst aufgegeben. :THX:

Grüße, Günther
Zuletzt geändert von guennid am 05.02.2017 17:47:15, insgesamt 1-mal geändert.

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 05.02.2017 17:40:39

guennid hat geschrieben:Meine Idee, den CCC-DNS-Server auf der Shorewall einzutragen, funktioniert übrigens nicht. Das müsste ich schon auf dem Plastik-Router tun, denn an dem komme ich offensichtlich nicht vorbei - richtig?
Müsste eigentlich auch funktionieren, sollte mich wundern, wenn der Plastikrouter ausgerechnet DNS-Anfragen blockt.
http://shorewall.org/shorewall_logging.html !!!
Sollte auch das Andere klären. :mrgreen:

Über den Dank habe ich mich sehr gefreut. :wink:
Zuletzt geändert von BenutzerGa4gooPh am 05.02.2017 17:49:09, insgesamt 1-mal geändert.

guennid

Re: DNS-Auflösung im LAN

Beitrag von guennid » 05.02.2017 17:48:31

Habe zwischenzeitlich oben nochmal ein zusätzliches Dankeschön formuliert! :wink:

BenutzerGa4gooPh

Re: DNS-Auflösung im LAN

Beitrag von BenutzerGa4gooPh » 05.02.2017 18:35:42

Code: Alles auswählen

DNS(ACCEPT)     loc             $FW
DNS(ACCEPT)     $FW           net
DNS(REJECT)      loc              net
Ein Paket wird im Allgemeinen (Standard vieler Firewalls und Paketfilter) gegen Regeln von oben nach unten geprüft, und bei erster Übereinstimmung der Bedingung (Matching) wird ACCEPT, Reject, Block/Drop ausgeführt. Widersprüche werden so ganz einfach gelöst - nicht immer im Sinne des Administrators. Reihenfolge ist demzufolge wichtig - und änderbar.

$FW ist sicher die Firewall selbst, local Host, 127.0.0.1. (Könnte man in meinen obigen Vorschlägen nutzen/testen.)

Mit diesem Wissen kannste jetzt knobeln ... oder noch besser Doku lesen ... ich verrate heute nichts mehr! :mrgreen:
(Es bleibt ja auch die Frage offen, was passiert, wenn nichts passt. Meist (Shorewall auch?) wird geblockt oder vorher noch woanders nachgeschaut.)

Antworten