VPN: IPV6 Leak [gelöst]

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

VPN: IPV6 Leak [gelöst]

Beitrag von _ash » 02.12.2019 08:12:48

Ich nutze einen OpenVPN für meine Internetverbindungen und habe festgestellt, dass zB Google dennoch meinen realen Standort kennt. Bei doileak.com sehe ich, dass meine IPV4 Requests von meiner VPN Location kommen, nicht aber die IPV6 Requests, die kommen von meinem realen Standort.
Das Ding ist: ich habe IPV6 auf meinem Rechner in der sysctl.conf deaktiviert:

Code: Alles auswählen

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Wie kann ich verhindern, dass mein Standort per IPV6 geleakt wird?
Zuletzt geändert von _ash am 30.12.2019 09:04:49, insgesamt 1-mal geändert.

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

Re: VPN: IPV6 Leak

Beitrag von MSfree » 02.12.2019 09:28:22

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 08:12:48
Das Ding ist: ich habe IPV6 auf meinem Rechner in der sysctl.conf deaktiviert:
Das verhindert aber nicht, daß man IPv6 Adressen auflösen kann. Ich fahre hier auch ohne IPv6, trotzdem liefert mir

Code: Alles auswählen

# host google.de
google.de has address 172.217.21.195
google.de has IPv6 address 2a00:1450:4001:818::2003
...

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 02.12.2019 09:39:01

Und wie kann ich verhindern, dass IPV6-Adressen aufgelöst werden?

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 02.12.2019 09:43:39

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 09:39:01
Und wie kann ich verhindern, dass IPV6-Adressen aufgelöst werden?
Wie ist die Ausgabe von:

Code: Alles auswählen

dig -6 aaaa heise.de +short
?
Versuch mal das IPv6 nicht mit sysctl, sondern schon beim booten (Bootparameter) zu deaktivieren.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 02.12.2019 09:45:34

Code: Alles auswählen

$ dig -6 aaaa heise.de +short
2a02:2e0:3fe:1001:302::

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 02.12.2019 09:53:51

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 09:45:34

Code: Alles auswählen

$ dig -6 aaaa heise.de +short
2a02:2e0:3fe:1001:302::
Dann hast Du das IPv6 bei dir nicht richtig deaktiviert. Die Ausgabe sollte so sein:

Code: Alles auswählen

:~$ dig -6 aaaa heise.de +short
dig: can't find IPv6 networking
Versuch mal mit dem Bootparameter.

EDIT:

... und bei doileak.com:
IPv6 Request Source: We were not able to detect an IPv6 request.

TomL

Re: VPN: IPV6 Leak

Beitrag von TomL » 02.12.2019 10:18:55

mat6937 hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 09:53:51
... und bei doileak.com:
IPv6 Request Source: We were not able to detect an IPv6 request.
Bei mir kommt MIT aktiven IPv6-Stack und einer öffentlichen 2000::/3'er Adresse die gleiche Antwort. ipv6-test.com berichtet wie gewünscht und erwartet meine IPv6-Adresse.

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 02.12.2019 10:21:37

TomL hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 10:18:55
Bei mir kommt MIT aktiven IPv6-Stack und einer öffentlichen 2000::/3'er Adresse die gleiche Antwort.
Ja, dann hast Du evtl. eine Firewall (oder gleichwertig) die die Anfrage via IPv6 nicht zulässt.

TomL

Re: VPN: IPV6 Leak

Beitrag von TomL » 02.12.2019 10:46:58

mat6937 hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 10:21:37
Ja, dann hast Du evtl. eine Firewall (oder gleichwertig) die die Anfrage via IPv6 nicht zulässt.
Korrekt... ich wollte das nur nicht so sagen... ich halte es nämlich für besser, den IPV6-Betrieb richtig zu konfigurieren und dann einfach auch komplett durch den Tunnel zu schicken. Ich hatte mir das schon gedacht, wenn nur IPv4 beachtet wird, dass der v6-Stack einfach am VPN vorbei marschiert. Den besseren IP-Stack zu töten ist meiner Meinung nach keine gute Lösung.... obwohl das natürlich auch funktioniert.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 02.12.2019 17:36:09

Ein Schritt weiter: es scheint, als ob die sysctl.conf beim Booten nicht ausgelesen wird. Wenn ich manuell die Werte auslesen lassen (systctl -p), ist ipv6 deaktiviert, beim Neustart wieder da. Eine Idee, an was das liegen könnte?

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 02.12.2019 18:48:18

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 17:36:09
Ein Schritt weiter: es scheint, als ob die sysctl.conf beim Booten nicht ausgelesen wird. Wenn ich manuell die Werte auslesen lassen (systctl -p), ist ipv6 deaktiviert, beim Neustart wieder da. Eine Idee, an was das liegen könnte?
Evtl. wird sysctl zu einen Zeitpunkt ausgeführt, zu dem noch nicht alle Kernelmodule geladen sind. Versuch mal statt "sysctl -p" ein:

Code: Alles auswählen

systemctl restart systemd-sysctl.service
Wie sind die Ausgaben von:

Code: Alles auswählen

systemctl cat systemd-sysctl.service
systemd-analyze blame | grep -i sysctl
?

EDIT:

BTW: Wenn "systemctl restart systemd-sysctl.service" erfolgreich ist, könntest Du eine timer-unit schreiben, die die Unit "systemd-sysctl.service" 30 (oder 45) Sekunden nach dem booten, restartet.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 02.12.2019 19:07:54

Code: Alles auswählen

# systemctl cat systemd-sysctl.service
# /lib/systemd/system/systemd-sysctl.service

[Unit]
Description=Apply Kernel Variables
Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-modules-load.service
Before=sysinit.target shutdown.target
ConditionPathIsReadWrite=/proc/sys/net/

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-sysctl
TimeoutSec=90s

Code: Alles auswählen

# systemd-analyze blame | grep -i sysctl
             3ms systemd-sysctl.service

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 02.12.2019 19:15:59

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 19:07:54

Code: Alles auswählen

#
[Unit]
Description=Apply Kernel Variables
Documentation=man:systemd-sysctl.service(8) man:sysctl.d(5)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-modules-load.service
Before=sysinit.target shutdown.target
ConditionPathIsReadWrite=/proc/sys/net/
Versuch auch mal in der {Unit]-Section zusätzlich mit der Zeile:

Code: Alles auswählen

Requires=systemd-modules-load.service

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: VPN: IPV6 Leak

Beitrag von unitra » 03.12.2019 00:55:59

Veruche mal die Schnittstellen explizit mit dem Namen zu konfigurieren z.B. eth0, wlan0

Code: Alles auswählen

net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.wlan0.disable_ipv6 = 1
Catchall *.all.disable.* fuktioniert manchmal nicht.
_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 08:12:48
Ich nutze einen OpenVPN für meine Internetverbindungen und habe festgestellt, dass zB Google dennoch meinen realen Standort kennt. Bei doileak.com sehe ich, dass meine IPV4 Requests von meiner VPN Location kommen, nicht aber die IPV6 Requests, die kommen von meinem realen Standort.
Das Ding ist: ich habe IPV6 auf meinem Rechner in der sysctl.conf deaktiviert:

Code: Alles auswählen

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Wie kann ich verhindern, dass mein Standort per IPV6 geleakt wird?

wanne
Moderator
Beiträge: 7448
Registriert: 24.05.2010 12:39:42

Re: VPN: IPV6 Leak

Beitrag von wanne » 03.12.2019 04:57:05

Edit: Quatsch. Ich sollte ins Bett gehen...
rot: Moderator wanne spricht, default: User wanne spricht.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 03.12.2019 16:23:59

unitra hat geschrieben: ↑ zum Beitrag ↑
03.12.2019 00:55:59
Versuche mal die Schnittstellen explizit mit dem Namen zu konfigurieren z.B. eth0, wlan0
Das hat leider nicht geholfen.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 03.12.2019 16:24:44

mat6937 hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 19:15:59
Versuch auch mal in der {Unit]-Section zusätzlich mit der Zeile:

Code: Alles auswählen

Requires=systemd-modules-load.service
Leider kein Erfolg.

Noch mehr Ideen?

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 03.12.2019 18:58:09

_ash hat geschrieben: ↑ zum Beitrag ↑
03.12.2019 16:24:44
Leider kein Erfolg.

Noch mehr Ideen?
Hast Du getestet ob ein Restart des sysctl:

Code: Alles auswählen

systemctl restart systemd-sysctl.service
erfolgreich ist?
Teste mal auch mit der persistenten Einstellung:

Code: Alles auswählen

net.ipv4.ip_nonlocal_bind = 1
in der /etc/sysctl.conf (oder gleichwertig).

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: VPN: IPV6 Leak

Beitrag von ingo2 » 04.12.2019 17:57:54

Habe den Thread erst jetzt gelesen.
Warum macht ihr das denn so umständlich, um IPv6 generell zu unterbinden, es geht doch hier nur um den Bypass beinVerwendung eines VPN-Tunnels.

Ich habe das ganz einfach gelöst, indem IPv6 erst bei Aufbau des Tunnels angeschaltet wird und bei Beendigung wieder an (das letzte klappt leider vollständig erst nach einem Reboot).

Doku dazu http://linux.die.net/man/8/networkmanager

Neues Script erstellt:

Code: Alles auswählen

 /etc/NetworkManager/dispatcher.d/02noipv6onvpn
 
#!/bin/sh -e
# Script to disable IPv6 during VPN-connections
# Place in /etc/NetworkManager/dispatcher.d/
if [ "$2" = "vpn-up" ]; then
   echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
fi
if [ "$2" = "vpn-down" ]; then
   echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6
fi
Getestet mit meinem OpenVPN, und läuft seit Jessie bis heute (Buster) problemlos auf meinem Laptop (T520).

Noch ein Tipp:

Ich leite auch die DNS-Anfragen durch den Tunnel auf meinen "unbound recursive resolver".
Damit auch DNS-Abfragen durch den Tunnel laufen, muß die /etc/resolv.conf angepaßt werden. Das erledigt in meiner Konfiguration der NetworkManager:

Die VPN-Verbindung "VPN-Home" im NetworkManager editiert und unter IPv4-Einstellungen -> Zusätzliche DNS-Server
den VPN-Endpunkt (der Server) "10.8.0.1" eingetragen.
Das klappt! Der NetworkManager setzt die Adresse dann als erste in die resolv.conf.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 04.12.2019 19:11:34

mat6937 hat geschrieben: ↑ zum Beitrag ↑
03.12.2019 18:58:09
Hast Du getestet ob ein Restart des sysctl:

Code: Alles auswählen

systemctl restart systemd-sysctl.service
erfolgreich ist?
Ja, das funktioniert und lädt die Werte.
Teste mal auch mit der persistenten Einstellung:

Code: Alles auswählen

net.ipv4.ip_nonlocal_bind = 1
in der /etc/sysctl.conf (oder gleichwertig).
Das bringt leider keine Änderung. Noch mehr Ideen?

TomL

Re: VPN: IPV6 Leak

Beitrag von TomL » 04.12.2019 19:16:45

Wie verändert sich eigentlich die Ausgabe von vor und nach der Aktion? Wenn ich das Statement

Code: Alles auswählen

sysctl -w net.ipv6.conf.all.disable_ipv6=1
absende,ist IPv6 definitiv sofort weg.

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 04.12.2019 19:50:49

_ash hat geschrieben: ↑ zum Beitrag ↑
04.12.2019 19:11:34
mat6937 hat geschrieben: ↑ zum Beitrag ↑
03.12.2019 18:58:09
Hast Du getestet ob ein Restart des sysctl:

Code: Alles auswählen

systemctl restart systemd-sysctl.service
erfolgreich ist?
Ja, das funktioniert und lädt die Werte.
Na dann weißt Du doch was Du machen kannst (... als workaround). Eine timer-unit schreiben, die diese service-unit z. B. 30 Sekunden nach dem booten, restartet.

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 04.12.2019 20:25:44

TomL hat geschrieben: ↑ zum Beitrag ↑
04.12.2019 19:16:45
Wenn ich das Statement

Code: Alles auswählen

sysctl -w net.ipv6.conf.all.disable_ipv6=1
absende,ist IPv6 definitiv sofort weg.
Das ist beim TE auch der Fall:
Ein Schritt weiter: es scheint, als ob die sysctl.conf beim Booten nicht ausgelesen wird. Wenn ich manuell die Werte auslesen lassen (systctl -p), ist ipv6 deaktiviert, beim Neustart wieder da.
Das Problem ist die Ausführung via service-unit. Da stellt sich auch die Frage, welche Eintragungen in der config der sysctl werden via service-unit, evtl. noch nicht aktiviert werden? D. h. man kann sich nicht darauf verlassen und sollte diese service-unit restarten.

mat6937
Beiträge: 2926
Registriert: 09.12.2014 10:44:00

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 05.12.2019 11:23:13

_ash hat geschrieben: ↑ zum Beitrag ↑
02.12.2019 17:36:09
Ein Schritt weiter: es scheint, als ob die sysctl.conf beim Booten nicht ausgelesen wird. Wenn ich manuell die Werte auslesen lassen (systctl -p), ist ipv6 deaktiviert, beim Neustart wieder da. Eine Idee, an was das liegen könnte?
Poste mal sofort nach dem Booten, die Ausgabe von:

Code: Alles auswählen

sysctl net.ipv6.conf.all.disable_ipv6
Führe danach:

Code: Alles auswählen

sysctl --system -p
aus und poste danach die Ausgaben von:

Code: Alles auswählen

sysctl net.ipv6.conf.all.disable_ipv6
sysctl --system -p | grep -i applying
In welcher Datei hast Du den Eintrag:

Code: Alles auswählen

net.ipv6.conf.all.disable_ipv6 = 1
? Mit "sysctl -p" wird nur die Datei "/etc/sysctl.conf" ausgelesen und mit "sysctl --system -p" werden alle sysctl-wirksamen Dateien (d. h. auch die "/<...>/sysctl.d/<*.conf>"-Dateien) ausgelesen.

_ash
Beiträge: 1196
Registriert: 13.05.2005 12:35:02

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 08:57:47

mat6937 hat geschrieben: ↑ zum Beitrag ↑
05.12.2019 11:23:13
Poste mal sofort nach dem Booten, die Ausgabe von:

Code: Alles auswählen

# sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1

Code: Alles auswählen

# sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
# sysctl --system -p | grep -i applying
* Applying /usr/lib/sysctl.d/30-tracker.conf ...
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.d/protect-links.conf ...
* Applying /etc/sysctl.conf ...
In welcher Datei hast Du den Eintrag:

Code: Alles auswählen

net.ipv6.conf.all.disable_ipv6 = 1
In /etc/sysctl.conf

Hast Du noch Ideen dazu?

Antworten