DNS-Zugriffe aus dem LAN auf lokalen DNS beschränken?

Zazzel

Neuer User
Mitglied seit
6 Mai 2005
Beiträge
34
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte für ein von mir überwachtes Vereinsnetz die Nutzung des von der FritzBox bereitgestellten lokalen DNS erzwingen. Grund: Ich habe per overwrite_dns in der ar7.cfg bereits OpenDNS voreingestellt (wg. 1. DNS Cache-poisoning-Lücke und 2. einfacher Blockierbarkeit bestimmter Domänen).

Es soll also nur noch 192.168.2.1 als DNS erlaubt sein. Wie und wo müsste ich da eine Firewall-Regel einfügen, die sämtliche Zugriffe auf UDP Port 53 nach außerhalb unterbindet?

Außerdem: Gibt es für die FBF geeignete Firewall-Regeln, um z.B. eMule und Kademlia sicher zu unterbinden?

Danke!

Zazzel
 
Such mal in der ar7.cfg nach:
/var/mod/root # find /var/flash/ar7.cfg -exec grep -H "reject udp any any eq" {} \;

Bei den ausgehenden Regeln (highoutput).

EDIT:
Am einfachsten geht es mit Freetz und iptables.
 
Zuletzt bearbeitet:
Also einfach unter highoutput neue Zeile einfügen mit

"reject udp any any eq 53",

?
Und dann werden DNS Anfragen nach außen geblocked und der interne DNS genommen?
Kann es leider nicht im Moment testen.
Freetz möchte ich nicht nehmen, möchte an der Firmware nichts verändern.
DAnke
 
Also einfach unter highoutput neue Zeile einfügen mit

"reject udp any any eq 53",

?
Und dann werden DNS Anfragen nach außen geblocked und der interne DNS genommen?

Nein. Für die FritzBox selber, musst Du DNS-Anfragen nach außen, auf Port 53 schon noch erlauben.
Die Clients müssen so konfiguriert sein, dass sie die Box als DNS-Server benutzen (d. h. sie werden dazu gezwungen).
 
Die Clients müssen so konfiguriert sein, dass sie die Box als DNS-Server benutzen (d. h. sie werden dazu gezwungen).

Genau das möchte ich über die Fritzbox erreichen.
Die Benutzer sollen nur den in der Fritzbox hinterlegten DNS Server (opendns) verwenden können, keine eigenen in Winxp.
Anders ausgedrückt: Ich möchte nur die OpenDNS Server 208.67.222.222
208.67.220.220 auf Port53 über die Fritzbox zulassen.
DAs muss doch irgendwie gehen in der fritzbox.export

Danke schonmal für die Hilfe :)
 
Habe es jetzt gelöst.
Meine Fritzbox läuft im Router Modus deshalb habe ich folgende Änderungen im dslifaces gemacht
Unter lowinput habe ich diese Zeilen hinzugefügt (die 2 Opendns Server auf Port 53 erlaubt, alles andere verboten)

Code:
"permit udp any 208.67.222.222 eq 53", 
          "permit tcp any 208.67.220.220 eq 53", 
          "deny udp any any eq 53", 
          "deny tcp any any eq 53",

Und unter highoutput nochmal dasselbe eingegeben,

hier die komplette Konfig ab dslifaces, hoffe es hilft noch jemandem.
Bei Denkfehlern korrigiert mich bitte.:bier:




Code:
dslifaces {
                enabled = yes;
                name = "internet";
                dsl_encap = dslencap_inherit;
                dslinterfacename = "dsl";
                no_masquerading = no;
                no_firewall = no;
                pppoevlanauto = no;
                pppoevlanauto_startwithvlan = no;
                ppptarget = "internet";
                etherencapcfg {
                        use_dhcp = yes;
                        ipaddr = 0.0.0.0;
                        netmask = 0.0.0.0;
                        gateway = 0.0.0.0;
                        dns1 = 0.0.0.0;
                        dns2 = 0.0.0.0;
                        mtu = 0;
                }
                is_mcupstream = yes;
                stay_always_online = yes;
                only_route_when_connected = no;
                redial_delay_after_auth_failure = 1m;
                redial_limit = 3;
                redial_after_limit_reached = 10m;
                redial_after_limit_reached_variance = 5m;
                redial_delay_after_low_error = 10s;
                routes_only_for_local = no;
                ripv2receiver_enabled = no;
                dsldpconfig {
                        security = dpsec_firewall;
                        lowinput {
                                policy = "permit";
                                accesslist = 
                                             "deny ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "deny udp any any eq 135", 
                                             "deny tcp any any eq 135", 
                                             "deny udp any any range 137 139", 
                                             "deny tcp any any range 137 139", 
                                             "deny udp any any range 161 162", 
                                             "deny udp any any eq 520", 
                                             "deny udp any any eq 111", 
                                             "deny udp any any eq 22289", 
                                             "deny udp any any eq 1710", 
                                             "deny udp any any eq 1048", 
                                             "deny udp any any eq 158", 
                                             "permit udp any 208.67.222.222 eq 53", 
                                             "permit tcp any 208.67.220.220 eq 53", 
                                             "deny udp any any eq 53", 
                                             "deny tcp any any eq 53", 
                                             "deny udp any any eq 515";
                        }
                        lowoutput {
                                policy = "permit";
                        }
                        highinput {
                                policy = "permit";
                        }
                        highoutput {
                                policy = "permit";
                                accesslist = 
                                             "reject ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "reject ip any 169.254.0.0 255.255.0.0", 
                                             "reject udp any any range 161 162", 
                                             "permit udp any 208.67.222.222 eq 53", 
                                             "permit tcp any 208.67.220.220 eq 53", 
                                             "deny udp any any eq 53", 
                                             "deny tcp any any eq 53", 
                                             "reject udp any any eq 111";
                        }


Manuell Vergebene DNS Server in Winxp werden nicht mehr aufgelöst => es kann nicht gesurft werden.
Wenn DNS auf automatisch beziehen steht dann löst die Fritzbox auf. :cool:
 
Zuletzt bearbeitet:
Also ich probiere schon den ganzen Tag diese (2) 4 Zeilen bei mir einzubauen. Leider erfolglos. Ich verwende FritzBox fon wlan 7270 mit der aktuellesten Firmware, welche bereits die Einbindung eigener DNS wie openDNS zulässt. Ich habe die Zeilen sowohl nur die deny, als auch die 4 Zeilen komplett unter lowinput und highoutput ergänzt. Komme nicht mehr ins Internet.
Habe dann lowinput die Zeilen entfernt -> komme nicht ins Internet
Habe dann highoutput die Zeilen entfernt und wieder in den Block lowinput geschrieben -> komme nicht ins Internet.
Habe die gleiche Kombinationen auch mit nur

"deny udp any any eq 53",
"deny tcp any any eq 53";

probiert. Gleiches Ergebnis = komme nicht ins Internet.

Was mache ich falsch ?
 
Gleiches Ergebnis = komme nicht ins Internet.
Bitte poste von deinem PC, die Ausgaben von ( ... oder gleichwertig):
Code:
ping -c 4 193.99.144.80
Code:
nslookup heise.de 8.8.4.4
Code:
nslookup heise.de
Code:
nmap -sSU 192.168.178.0/24 -p53
 
Leider weiss ich nicht, ob das mit einer Fritz!Box mit freetz so geht, aber auf einem anderen iptables-basierten System (MikroTIK) kann man das mit einer Destination-NAT-Regel lösen, in der alle Verbindungen an extern udp/53 auf die interne DNS-IP umgebogen werden.
 
Hallo Hallo,
ich hab das auch alles schon ausprobiert - vorwärts und rückwärts, aber es hat noch nicht geklappt.

Mein Ziel: ich will es verhindern, dass iPads, Smartphones und auch PCs über eigen konfigurierte DNS die openDNS umgehen können.
Ich hab die FritzBox 7320 und wenig Erfahrung mit freetz oder sonstigen Linux-Hacks für die FritzBox.

Mein letzter Versuch ging dadurch schief, dass ich die Konfig-Datei von der Fritzbox auf Festplatte gesichert habe, die oben genannten Werte verändert hab, die Prüffunktion der Config Datei umgangen habe und dann die Datei zurückgesichert/wiederhergestellt. Danach ist allerdings die Fritzbox immer zurückgesetzt worden und läuft brav weiter - ohne die "deny udp any any eq 53" Werte.

Also, nochmal die dringende Bitte nach einer 1-2-3 Schritte Beschreibung, wie es dann hoffentlich funktioniert.
Danke schonmal für all die Mühe :)
 
die dringende Bitte nach einer 1-2-3 Schritte Beschreibung
Lies Dich doch mal hier (Howto - content filter über Fritzbox mit opendns) ein.
Das habe ich auf meiner alten 7170 auch gemacht. Wichtig ist im Block accesslist die richtige Verwendung von , und ;:
Code:
accesslist = 
                                             "deny ip any 242.0.0.0 255.0.0.0", 
                                             "deny ip any host 255.255.255.255", 
                                             "deny udp any any range 161 162", 
                                             "deny udp any any eq 111", 
                                             "permit udp any 208.67.222.222 eq 53", 
                                             "permit tcp any 208.67.220.220 eq 53", 
                                             "reject udp any any eq 53", 
                                             "reject tcp any any eq 53";
 
Hi,

irgendwie lustig, dass hier mein 7 Jahre altes howto verlinkt wird, ich jetzt aber selber dran verzweifle, meine neue Fritzbox 6490 genau so wieder abzusichern. Irgendwie klappt es nicht ...

Was ich schon weiß:
*ich muss die Prüfsumme jetzt erzeugen und kann das nicht mehr mit nochecks umgehen. Das geht so: http://www.mengelke.de/Projekte/FritzBoxJSTool

Ich habe den Block Mal ergänzt zu:
Code:
                                             "permit udp any 208.67.222.123 eq 53",
                                             "permit tcp any 208.67.220.123 eq 53",
                                             "permit udp any 0:0:ffff:d043:dc7b eq 53",
                                             "permit tcp any 0:0:ffff:d043:dc7b eq 53",
                                             "deny udp any any eq 53",
                                             "deny tcp any any eq 53"

weil wir ja heutzutage ipv6 auch mit bedenken müssen. Allerdings taucht in der config der neuen Box die accesslist 2 Mal auf. Einmal unter pppoefw und später nochmal unter: dsldpconfig.

Ich hab den Block da jeweils unter lowinput und highoutput gepackt, leider funktioniert danach nichts mehr - ich vermute, das liegt daran, dass die Blöcke unterschiedlich sind hinsichtlich der "policy".

Bei pppoefw steht bei lowinput reject und dann bei highoutput: permit
bei dsldpconfig steht zwei Mal: permit.

Kann mir das jemand erklären bzw. hat es jemand mit einem modernen Zugang, der auf ipv6 erweitert ist, geschafft?

Wäre super, wenn ich da was zu erfahren könnte.

Grüße
Daniel
 
Hi

(als erstes Mal herzlichen Glückwunsch an das Forum - Affenformular würde ich erwarte, wenn ich mich nicht angemeldet hab, stattdessen alles weg ...)

Also nochmal:

Habe jetzt noch ein bisschen rumgespielt. Wenn ich den Block:

Code:
                                             "permit udp any 208.67.222.123 eq 53",
                                             "permit tcp any 208.67.222.123 eq 53",
                                             "permit udp any 208.67.220.123 eq 53",
                                             "permit tcp any 208.67.220.123 eq 53",
                                             "permit udp any 0:0:ffff:d043:dc7b eq 53",
                                             "permit tcp any 0:0:ffff:d043:dc7b eq 53",
                                             "permit udp any 0:0:ffff:d043:de7b eq 53",
                                             "permit tcp any 0:0:ffff:d043:de7b eq 53",
                                             "deny udp any any eq 53",
                                             "deny tcp any any eq 53",

bei pppoefw unter: lowinput und highoutput ergänze (klar - Kommas und Strichpunkte richtig setzen), dann ist es genau so, wie ich es will:
*Anfragen aus dem Heimnetz an einen anderen DNS-Server als die 4 erlaubten bekommen einen timeout
*wird auf dem Rechner der DNS-Server verstellt - und zwar auf eine der 4 Adressen - funktioniert die Anfrage. Das ist wichtig fürs Handy, weil z. B. die App override DNS nur eine Einstellung für den DNS hat. mit dieser app lässt sich ein handy auf openDNS fixieren - ich kann aber dann nicht im Wlan die Fritzbox als DNS eintragen, sondern gehe direkt an opendns. Die App hat auch einen Passwortschutz (braucht allerdings soweit ich weiß root)
*bei opendns gelistete Seiten werden nicht aufgelöst sondern stattdessen eine Blockseite angezeigt

Den DNS selbst habe ich direkt in der Fritzoberfläche eingestellt. Außerdem hab ich das hier noch eingetragen:
overwrite_dns1 = 208.67.222.132;
overwrite_dns2 = 208.67.220.123;
scheint ja aber nichts zu machen, sonst gäbe es keinen timeout ... aber das passt schon
Wäre cool, wenn das jemand testen und bestätigen könnte.

Grüße
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.