Das hat leider nicht geholfen.unitra hat geschrieben:03.12.2019 00:55:59Versuche mal die Schnittstellen explizit mit dem Namen zu konfigurieren z.B. eth0, wlan0
VPN: IPV6 Leak [gelöst]
Re: VPN: IPV6 Leak
Re: VPN: IPV6 Leak
Leider kein Erfolg.mat6937 hat geschrieben:02.12.2019 19:15:59Versuch auch mal in der {Unit]-Section zusätzlich mit der Zeile:Code: Alles auswählen
Requires=systemd-modules-load.service
Noch mehr Ideen?
Re: VPN: IPV6 Leak
Hast Du getestet ob ein Restart des sysctl:
Code: Alles auswählen
systemctl restart systemd-sysctl.service
Teste mal auch mit der persistenten Einstellung:
Code: Alles auswählen
net.ipv4.ip_nonlocal_bind = 1
- 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
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:
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.
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
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.
avatar: [http://mascot.crystalxp.net/en.id.2938- ... nther.html MF-License]
Re: VPN: IPV6 Leak
Ja, das funktioniert und lädt die Werte.mat6937 hat geschrieben:03.12.2019 18:58:09Hast Du getestet ob ein Restart des sysctl:erfolgreich ist?Code: Alles auswählen
systemctl restart systemd-sysctl.service
Das bringt leider keine Änderung. Noch mehr Ideen?Teste mal auch mit der persistenten Einstellung:in der /etc/sysctl.conf (oder gleichwertig).Code: Alles auswählen
net.ipv4.ip_nonlocal_bind = 1
Re: VPN: IPV6 Leak
Wie verändert sich eigentlich die Ausgabe von
vor und nach der Aktion? Wenn ich das Statement
absende,ist IPv6 definitiv sofort weg.
Code: Alles auswählen
ip a
Code: Alles auswählen
sysctl -w net.ipv6.conf.all.disable_ipv6=1
Re: VPN: IPV6 Leak
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._ash hat geschrieben:04.12.2019 19:11:34Ja, das funktioniert und lädt die Werte.mat6937 hat geschrieben:03.12.2019 18:58:09Hast Du getestet ob ein Restart des sysctl:erfolgreich ist?Code: Alles auswählen
systemctl restart systemd-sysctl.service
Re: VPN: IPV6 Leak
Das ist beim TE auch der Fall:TomL hat geschrieben:04.12.2019 19:16:45Wenn ich das Statementabsende,ist IPv6 definitiv sofort weg.Code: Alles auswählen
sysctl -w net.ipv6.conf.all.disable_ipv6=1
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.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.
Re: VPN: IPV6 Leak
Poste mal sofort nach dem Booten, die Ausgabe von:_ash hat geschrieben:02.12.2019 17:36:09Ein 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?
Code: Alles auswählen
sysctl net.ipv6.conf.all.disable_ipv6
Code: Alles auswählen
sysctl --system -p
Code: Alles auswählen
sysctl net.ipv6.conf.all.disable_ipv6
sysctl --system -p | grep -i applying
Code: Alles auswählen
net.ipv6.conf.all.disable_ipv6 = 1
Re: VPN: IPV6 Leak
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 /etc/sysctl.confIn welcher Datei hast Du den Eintrag:Code: Alles auswählen
net.ipv6.conf.all.disable_ipv6 = 1
Hast Du noch Ideen dazu?
Re: VPN: IPV6 Leak
Das passt aber nicht zu dem was Du am 02.12. geschrieben hast:_ash hat geschrieben:29.12.2019 08:57:47Code: Alles auswählen
# sysctl net.ipv6.conf.all.disable_ipv6 net.ipv6.conf.all.disable_ipv6 = 1
D. h. sofort nach dem Booten ist ipv6 auch ohne "sysctl -p" schon deaktiviert.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, ...
Re: VPN: IPV6 Leak
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?
An was könnte das sonst liegen?
Re: VPN: IPV6 Leak
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
Re: VPN: IPV6 Leak
Code: Alles auswählen
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
Re: VPN: IPV6 Leak
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.
Re: VPN: IPV6 Leak
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??
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??
Re: VPN: IPV6 Leak
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?_ash hat geschrieben:29.12.2019 10:56:472. "sysctl -p"
3. google.com neu laden: isländische Seite (das steht mein VPN)
Wie kann das sein??
Wenn nicht, dann ist das ein bug.
Re: VPN: IPV6 Leak
Zumindest nicht bewusst. Könnte der Network-Manager hier eine Rolle spielen? Oder ufw?mat6937 hat geschrieben:29.12.2019 11:05:24Hast 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.
Ich habe das gleiche Verhalten übrigens auf 2 Rechners, meinem Desktop und meinem Laptop - das spricht vll für eine config Sache.
Re: VPN: IPV6 Leak
Ja, dem traue ich so etwas zu. BTW: Ich benutze den NM schon lange nicht mehr.
Re: VPN: IPV6 Leak
Was benutzt Du stattdessen? Oder könnte es an ufw liegen?
Ideen, wie ich den Fehler überhaupt finden könnte?
Re: VPN: IPV6 Leak
Ich benutze systemd-networkd und service-units. ufw habe ich nie benutzt. Wenn erforderlich, dann eigene iptables-Regeln die mit netfilter-persistent geladen werden.
- 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
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
Hatte selbst auch dadurch Ärger/etc/default/openvpn editieren (# entfernen)
AUTOSTART="none"
avatar: [http://mascot.crystalxp.net/en.id.2938- ... nther.html MF-License]
Re: VPN: IPV6 Leak
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?ingo2 hat geschrieben:29.12.2019 11:57:11Es 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 mitHatte selbst auch dadurch Ärger/etc/default/openvpn editieren (# entfernen)
AUTOSTART="none"
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
- 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
Wird das evtl. schon in der initrd geladen - dann hilft ein
?
Code: Alles auswählen
update-initramfs -u
avatar: [http://mascot.crystalxp.net/en.id.2938- ... nther.html MF-License]
Re: VPN: IPV6 Leak
Teste mal ob das Forwarding in Folge des Eintrags:_ash hat geschrieben:29.12.2019 12:20:16Nein, 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
Code: Alles auswählen
net.ipv4.ip_forward = 1