DNS Leak mit Linux Mint 19.2 Cinnamon

Ghost

Junior Member
Ich habe ein DNS Leak mit Linux Mint 19.2 Cinnamon.

1.jpeg

Um das zu beheben, bin ich auf Unterstützung angewiesen.

Die VPN-Verbindung wird mit dem PP-Manager für Linux aufgebaut.

2.jpeg

Als IP-Leak Schutz habe ich

Code:
#!/bin/bash

#Iptables Regeln für VPN:

sudo iptables -t filter -A OUTPUT -o wlp2s0 -p udp -m multiport --dports 1148,148,1149,149,1150,150,1151,151,53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o wlp2s0 -p tcp -m multiport --dports 300,301,1142,142,1152,152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o enp3s0 -p udp -m multiport --dports 1148,148,1149,149,1150,150,1151,151,53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o enp3s0 -p tcp -m multiport --dports 300,301,1142,142,1152,152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o eth1 -p udp -m multiport --dports 1148,148,1149,149,1150,150,1151,151,53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT -o eth1 -p tcp -m multiport --dports 300,301,1142,142,1152,152 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i wlp2s0 -p udp -m multiport --sports 1148,148,1149,149,1150,150,1151,151,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i wlp2s0 -p tcp -m multiport --sports 300,301,1142,142,1152,152 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i enp3s0 -p udp -m multiport --sports 1148,148,1149,149,1150,150,1151,151,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i enp3s0 -p tcp -m multiport --sports 300,301,1142,142,1152,152 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i eth1 -p udp -m multiport --sports 1148,148,1149,149,1150,150,1151,151,53 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A INPUT -i eth1 -p tcp -m multiport --sports 300,301,1142,142,1152,152 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 192.168.0.0/16 -j ACCEPT
sudo iptables -t filter -A INPUT --src 192.168.0.0/16 -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 10.0.0.0/8 -j ACCEPT
sudo iptables -t filter -A INPUT --src 10.0.0.0/8 -j ACCEPT
sudo iptables -t filter -A OUTPUT --dst 172.16.0.0/12 -j ACCEPT
sudo iptables -t filter -A INPUT --src 172.16.0.0/12 -j ACCEPT

sudo iptables -t filter -A OUTPUT -o wlp2s0 -j DROP
sudo iptables -t filter -A INPUT -i wlp2s0 -j DROP
sudo iptables -t filter -A OUTPUT -o enp3s0 -j DROP
sudo iptables -t filter -A INPUT -i enp3s0 -j DROP
sudo iptables -t filter -A OUTPUT -o eth1 -j DROP
sudo iptables -t filter -A INPUT -i eth1 -j DROP
 

PP Frank

Staff member
Du müsstest mal gucken wie bei Mint die DNS-Auflösung passiert und wo dann die DNS-Server eingetragen werden.
ABER: Cloudflare als DNS_Server kann eigentlich KEIN DNS-Leak sein, ausser das ist dein ISP, was ich mal nicht denke. Von daher hättest du eigentlich gar kein Problem. Zumindest nicht wenn die Cloudflare Server von deinem Mint kommen und nicht von deinem Router
 

Ghost

Junior Member
Im Router habe ich als DNS (Cloudflare)

1.1.1.1
1.0.0.1

Nachtrag: Geändert auf ISP (Eindeutig ein DNS-Leak)

telekom.jpeg
 
Last edited:

tlo335

New Member
Scheint gelöst zu sein, aber ein bisschen OT:

Cloudflare ist nicht zu vertrauen. Du kannst dir lieber ein lokalen DNS mit pihole bauen.
 

Ghost

Junior Member
Ich denke auch, dass Cloudflare keine gute Wahl war.
Aber was soll ich nehmen?
Telekom möchte ich nicht (mein ISP)
 

PP Frank

Staff member
Ist Wurst ob du Cloudflare nutzt oder nicht. Ich empfehle sogar die DNS-Server von Google(sind MIT die schnellsten und zuverlässigsten im Netz), obwohl ich sonst nichts mit Google machen will. Wichtig ist bei DNS-Anfragen nur das die übers VPN laufen, ansonsten ist das völlig egal welchen DNS-Server du nutzt.
 

Ghost

Junior Member
Wichtig ist bei DNS-Anfragen nur das die übers VPN laufen, ansonsten ist das völlig egal welchen DNS-Server du nutzt.
Bei bestehender VPN Verbindung werden doch die DNS von PP verwendet, solange man kein DNS Leak hat.
Wenn man ein DNS Leak hat, werden die DNS Abfragen über VPN gesendet. Oder?
Dann ist ein DNS Leak eigentlich nicht dramatisch. Oder?
 

PP Frank

Staff member
Nein, nicht zwingend.
So wie du das hattest, wurde resolvconf nicht benutzt und soweit mir bekannt, kann dann auch kein DNS-Server im System gesetzt werden und es werden die Standard-DNS-Server vom System genutzt.
Das ist auch noch kein Problem. Um das mal kurz zu erklären: VPN routet alles was an öffentliche IP's geht automatisch über unsere Server. An private IP's aber nicht(ist auch gut so).
Sprich wenn in deinem System direkt die DNS-Server mit einer öffentlichen IP drin sind wie 8.8.8.8 oder 8.8.8.4(google), dann gehen die Anfragen auch über VPN und damit gibts gar kein Problem. Wenn da aber 192.168.*.* drin ist, dann ist das dein Router der die Anfragen weiter leitet und der hat keinen blassen Dunst vom VPN Tunnel(woher auch). 192.168.*.* ist eine private IP und somit geht der Traffic am VPN Tunnel vorbei, an deinen Router und vom Router ins Netz. Das bedeutet: Problem.

So im Allgemeinen zu Linux(nicht auf dich bezogen):
Bei Linux sind aber die X Distributionen ein wenig das Problem, da die alle leicht anders funktionieren und X Services anders nutzen und teilweise anderen Shit für die DNS-Auflösung nutzen.
Und gerade wer Linux nutzt, der muss sich mit dem System beschäftigen. Da kommt man langfristig nicht drum rum. Das schöne ist das die Lernkurve relativ steil ist. Gerade dadurch das man meist das Terminal nutzt und da gute Wikis hat. Macht auch durchaus Spass. Linux empfehle ich auch ausschliesslich Leuten die sich auch mit beschäftigen wollen. Ansonsten ist man bei Windows/MacOS besser aufgehoben. Da muss man zwar auch ein wenig Wissen haben, ist jetzt aber nicht so derbe und man muss nicht so tief im System graben
 

Morbis55

Active Member
@PP Frank
Ich verstehe halt nicht, wieso es von eurer Seite immer noch keine Anleitung für eine Firewall/Leak Schutz für die gängigsten Distributionen gibt.
Sprich eigentlich nur der aktuelleste Ubuntu LTS Release, welcher 2 Jahre aktuell ist und für 5 Jahre supported wird.
(Nutzen die allermeisten, die keine Linux Experten sind und für die eine Anleitung sinnvoll wäre)
Wenn ihr Lust habt eventuell auch noch Linux Mint und vielleicht was aus der Reihe Fedora/Manjaro. (Optional)

Garantie eurerseits nur für eine frische Installation ohne Modifikationen, aber hauptsache mal etwas das den fehlenden Leak Schutz in Linux kompensiert.
Wäre kein großer Aufwand und es würde mal Zeigen, dass euch eure Linux Nutzer nicht scheiss egal sind.
 

PP Frank

Staff member
@PP Frank
Ich verstehe halt nicht, wieso es von eurer Seite immer noch keine Anleitung für eine Firewall/Leak Schutz für die gängigsten Distributionen gibt.
Sprich eigentlich nur der aktuelleste Ubuntu LTS Release, welcher 2 Jahre aktuell ist und für 5 Jahre supported wird.
(Nutzen die allermeisten, die keine Linux Experten sind und für die eine Anleitung sinnvoll wäre)
Wenn ihr Lust habt eventuell auch noch Linux Mint und vielleicht was aus der Reihe Fedora/Manjaro. (Optional)

Garantie eurerseits nur für eine frische Installation ohne Modifikationen, aber hauptsache mal etwas das den fehlenden Leak Schutz in Linux kompensiert.
Wäre kein großer Aufwand und es würde mal Zeigen, dass euch eure Linux Nutzer nicht scheiss egal sind.
Weil das so allgemein immer schwer ist. Die Netzwerkschnittstellen heissen auf einigen Systemen anders, dann gibts da auch noch andere Fragen was benötigt wird. Es ist da meist nicht so eine gute Idee mit IPtables jetzt einfach mal ein paar Befehle rein zu schieben, ohne das du weist was du machst.
Also im Allgemeinen sollten sich das die meisten Nutzer schon mit dem Wiki aus der jeweiligen Distribution selber zusammen bauen können.

Im Allgemeinen können die Grundlegend ungefähr so aussehen:

Code:
iptables -F
#Alles löschen

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
#alles blockieren

iptables -A OUTPUT -o lo -j ACCEPT
#lo frei geben

iptables -A OUTPUT -o tun+ -j ACCEPT
#alle TUN-Devices für OpenVPN frei geben


iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -o eth+ -m multiport --dports 22,53,300,301,142,152,11142,1152 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp -o eth+ -m multiport --dports 22,53,148,149,150,151,1148,1149,1150,1151 -m state --state NEW -j ACCEPT
#DNS, SSH und die OpenVPN-Ports auf UDP und TCP frei geben auf der Ethernetschnittstelle

iptables -A OUTPUT -p tcp -o wlan+ -m multiport --dports 22,53,300,301,142,152,11142,1152 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp -o wlan+ -m multiport --dports 22,53,148,149,150,151,1148,1149,1150,1151 -m state --state NEW -j ACCEPT
#DNS, SSH und die OpenVPN-Ports auf UDP und TCP frei geben auf der WLAN-Schnittstelle(falls vorhanden)
Jetzt musst du hier prüfen wie deine Netzwerkschnittstellen heissen, welche Ports du brauchst, welche Services du brauchst und noch zusätzliche Freigaben brauchst usw..
Das sind jetzt übrigens die Regeln die ich mal für einen VU+ gebaut hatte.
Danach musst du gucken wie du das in deiner Distribution in den Autostart packst und für welche Run-Level.

Das Ganze ist jetzt kein Hexenwerk, aber ich rate DRINGEND davon ab jetzt die Zeilen einfach mal in dein Linux zu ramschen. Es ist eben Linux und du musst wissen was du tust.
 

Ghost

Junior Member
Das Ganze ist jetzt kein Hexenwerk, aber ich rate DRINGEND davon ab jetzt die Zeilen einfach mal in dein Linux zu ramschen. Es ist eben Linux und du musst wissen was du tust.
Das stimmt, man muss wissen was man tut.
Daher bleibe ich bei macOS.
 

PP Frank

Staff member
Du machst aber nix verkehrt wenn du dich da mal bissl in die Richtung informierst, da praktisch jede Firewall so halbwegs in die Richtung funktioniert. IPtables sieht meist auch viel komplizierter aus als es ist :p Also mehr als dein System crashen kann nicht passieren :D
 

Honk

Member
Ich schäme mich :(

Grund war folgendes: (hatte ich vergessen auszuführen)

View attachment 2146
D.h., in der 19.2-Version ist kein resolvconf vorinstalliert?


Und gerade wer Linux nutzt, der muss sich mit dem System beschäftigen. Da kommt man langfristig nicht drum rum. Das schöne ist das die Lernkurve relativ steil ist. Gerade dadurch das man meist das Terminal nutzt und da gute Wikis hat. Macht auch durchaus Spass.
Terminal + steile Lernkurve = Spaß
Jep :)

Ist oft so, das man mit einer Fehlermeldung im Terminal leicht Lösungen im Web findet, da es immer jemanden gibt, der sich die gleichen Fragen gestellt oder Probleme gelöst hat.
 
Last edited:

Honk

Member
Wichtig ist bei DNS-Anfragen nur das die übers VPN laufen, ansonsten ist das völlig egal welchen DNS-Server du nutzt.
Nachdem ich wegen fehlender Kenntnis etwas verunsichert war (in diversen Posts), nun mal genauer hingeschaut, mit Fokus auf Multihop.

Egal, welcher DNS im Rechner eingetragen ist (Linux: /run/resolvconf/resolv.conf) , nach außen sichtbar https://dnsleaktest.com ist immer der DNS des letzten Hops.

Damit sind für mich alle Fragen bezüglich der Reihenfolge der eingetragenen DNS beantwortet.
 

Honk

Member
Im Terminal lese ich:

updown.sh: execuding: '/etc/openvpn/update-resolv-conf'
dhcp-option DNS 46.183.221.198
dhcp-option DNS 185.217.1.14
updown.sh: FINISHED


Wenn ich das nun abschalte (in der Conf-Datei), wer beantwortet dann die DNS-Anfragen?
 
Top