VPN: IPV6 Leak [gelöst]

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
_ash
Beiträge: 1198
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: 1198
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: 2953
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: 1198
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: 2953
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: 2953
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: 2953
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: 1198
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?

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 09:59:37

_ash hat geschrieben: ↑ zum Beitrag ↑
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
Das passt aber nicht zu dem was Du am 02.12. geschrieben hast:
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, ...
D. h. sofort nach dem Booten ist ipv6 auch ohne "sysctl -p" schon deaktiviert.

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 10:06:57

Laut dem Wert ja, dennoch: gehe ich nach dem Booten auf google.com, erkennt es mich an meiner tatsächlichen Location. Führe ich "sysctl -p" aus und lade google.com neu, erkennt es nur noch die Location meines VPN.

An was könnte das sonst liegen?

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 10:21:16

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 10:06:57
An was könnte das sonst liegen?
Hm, ... ich kann mir nicht vorstellen, dass die Ausgabe von sysctl fehlerhaft ist.
Wie ist sofort nach dem Booten die Ausgabe von:

Code: Alles auswählen

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
?

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 10:29:24

Code: Alles auswählen

# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
Ich habe eben nochmal den Test mit google.com gemacht, nach wie vor das gleiche Verhalten. Nach "sysctl -p" geht es so, wie es soll.

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 10:36:41

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 10:29:24
Nach "sysctl -p" geht es so, wie es soll.
Das darf aber nicht sein. Da Du den Eintrag in der sysctl.conf hast, muss das sofort nach dem Booten wirksam sein, so dass ein "sysctl -p" nicht mehr erforderlich sein muss.

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 10:56:47

Sehe ich ganz genau so, dennoch ist das Verhalten exakt wie ich es beschrieben habe:

1. Nach dem Booten google.com besuchen: deutsche Seite
2. "sysctl -p"
3. google.com neu laden: isländische Seite (das steht mein VPN)

Wie kann das sein??

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 11:05:24

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 10:56:47
2. "sysctl -p"
3. google.com neu laden: isländische Seite (das steht mein VPN)

Wie kann das sein??
Hast Du evtl. eine Konfiguration die erst nach dem Booten eine sysctl-relevante Einstellung/Konfiguration generiert, die das deaktivieren von IPv6 via sysctl unwirksam macht? ... und die etwas mit ipv6-Routing (oder gleichwertig) zu tun hat?
Wenn nicht, dann ist das ein bug.

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 11:11:57

mat6937 hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:05:24
Hast Du evtl. eine Konfiguration die erst nach dem Booten eine sysctl-relevante Einstellung/Konfiguration generiert, die das deaktivieren von IPv6 via sysctl unwirksam macht? ... und die etwas mit ipv6-Routing (oder gleichwertig) zu tun hat?
Wenn nicht, dann ist das ein bug.
Zumindest nicht bewusst. Könnte der Network-Manager hier eine Rolle spielen? Oder ufw?

Ich habe das gleiche Verhalten übrigens auf 2 Rechners, meinem Desktop und meinem Laptop - das spricht vll für eine config Sache.

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 11:14:34

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:11:57
Könnte der Network-Manager hier eine Rolle spielen?
Ja, dem traue ich so etwas zu. BTW: Ich benutze den NM schon lange nicht mehr.

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 11:16:26

mat6937 hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:14:34
BTW: Ich benutze den NM schon lange nicht mehr.
Was benutzt Du stattdessen? Oder könnte es an ufw liegen?

Ideen, wie ich den Fehler überhaupt finden könnte?

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 11:31:31

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:16:26
Was benutzt Du stattdessen? Oder könnte es an ufw liegen?
Ich benutze systemd-networkd und service-units. ufw habe ich nie benutzt. Wenn erforderlich, dann eigene iptables-Regeln die mit netfilter-persistent geladen werden.

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 » 29.12.2019 11:57:11

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:16:26
mat6937 hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:14:34
BTW: Ich benutze den NM schon lange nicht mehr.
Was benutzt Du stattdessen? Oder könnte es an ufw liegen?

Ideen, wie ich den Fehler überhaupt finden könnte?
Es gibt evtl. da noch eine Sache, die sich mit Buster geändert hat:
Schon im Bootprozeß wird versucht, VPN-Vebindungen zu starten/einzulesen. Kann natürlich bei systemd sehr früh sein. Das kannst du aber verhindern mit
/etc/default/openvpn editieren (# entfernen)
AUTOSTART="none"
Hatte selbst auch dadurch Ärger

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

Re: VPN: IPV6 Leak

Beitrag von _ash » 29.12.2019 12:20:16

ingo2 hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 11:57:11
Es gibt evtl. da noch eine Sache, die sich mit Buster geändert hat:
Schon im Bootprozeß wird versucht, VPN-Vebindungen zu starten/einzulesen. Kann natürlich bei systemd sehr früh sein. Das kannst du aber verhindern mit
/etc/default/openvpn editieren (# entfernen)
AUTOSTART="none"
Hatte selbst auch dadurch Ärger
Nein, das bringt leider keine Änderung. Ich habe hier noch den Output von "sysctl -p" nach dem Booten, vll fällt da jemandem was auf?

Code: Alles auswählen

# sysctl -p
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 5
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.log_martians = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.eno1.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv4.ip_nonlocal_bind = 1

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 » 29.12.2019 12:59:34

Wird das evtl. schon in der initrd geladen - dann hilft ein

Code: Alles auswählen

update-initramfs -u
?

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

Re: VPN: IPV6 Leak

Beitrag von mat6937 » 29.12.2019 13:07:42

_ash hat geschrieben: ↑ zum Beitrag ↑
29.12.2019 12:20:16
Nein, das bringt leider keine Änderung. Ich habe hier noch den Output von "sysctl -p" nach dem Booten, vll fällt da jemandem was auf?

Code: Alles auswählen

# sysctl -p
net.ipv4.ip_forward = 1
Teste mal ob das Forwarding in Folge des Eintrags:

Code: Alles auswählen

net.ipv4.ip_forward = 1
, sofort nach dem Booten und ohne die Ausführung von "sysctl -p", aktiv/brauchbar ist. Wenn das der Fall ist, dann hat es nur etwas mit dem deaktivieren von IPv6 zu tun und nicht mit sysctl.

Antworten