Ich verwende den OpenVPN-Client über das OpenVPN Network Manager-Plug-in auf einem Dual-Stack (dh für IPv4- und IPv6-Konnektivität konfiguriert). Ubuntu 13.10 leitet den gesamten Datenverkehr über das VPN um (Redirect-Gateway). Es funktioniert im Allgemeinen gut.
Aufgrund der Tatsache, dass IPv6 vom System bevorzugt wird, tritt eine "Undichtigkeit" des VPN auf. Wenn eine Verbindung zu Websites hergestellt wird, die auch über IPv6 verfügbar sind (z. B. Google oder Wikipedia), stellt der Browser eine direkte Verbindung her.
Eine Lösung wäre, den OpenVPN-Server für die Bereitstellung von IPv6-Konnektivität zu konfigurieren. Während dies mit OpenVPN möglich ist, wird es vom Plugin für Network Manager derzeit nicht unterstützt.
Da IPv6-Konnektivität über das VPN nicht unbedingt erforderlich ist, möchte ich IPv6 beim Herstellen einer Verbindung zum OpenVPN-Server einfach auf dem Client deaktivieren. Ist es möglich? Wenn ja, wie kann ich das machen?
quelle
Antworten:
Fügen Sie dies zu Ihrer Kernel-Zeile in Ihrem Bootloader hinzu, um IPv6 insgesamt zu deaktivieren:
Wenn Sie Grub verwenden (wenn Sie keinen eigenen Bootloader installiert haben, dann verwenden Sie Grub), sollte Ihre Kernel-Zeile ungefähr so aussehen:
Der empfohlene Ansatz, um der Kernel-Zeile etwas hinzuzufügen, besteht darin, der
GRUB_CMDLINE_LINUX_DEFAULT
Variablen in der/etc/default/grub
Datei den gewünschten Kernel-Parameter hinzuzufügen :Sobald Sie dies hinzugefügt haben
/etc/default/grub
, führen Sie den folgenden Befehl aus, um Ihr System neu zu generierengrub.cfg
:Alternativ hinzufügen
ipv6.disable_ipv6=1
stattdessen bleibt der IPv6-Stapel funktionsfähig, es werden jedoch keine IPv6-Adressen für Ihre Netzwerkgeräte zugewiesen.ODER
Um IPv6 über sysctl zu deaktivieren, fügen Sie Folgendes in Ihre
/etc/sysctl.conf
Datei ein:Vergessen Sie nicht, alle IPv6-Hosts in Ihrer
/etc/hosts
Datei zu kommentieren :HINWEIS
Für die sysctl-Methode ist möglicherweise ein Neustart erforderlich, und für den Kernel-Line-Ansatz ist auf jeden Fall ein Neustart erforderlich.
ODER
Zu vorübergehend deaktivieren Sie ipv6 :
Zu vorübergehend aktivieren Sie es :
Wenn Sie also ipv6 unter bestimmten Bedingungen deaktivieren müssen , schreiben Sie ein Bash-Skript in diese Richtung:
HINWEIS
Möglicherweise müssen Sie auch
/etc/hosts
für diese Methode alle IPv6-Hosts in Ihrer Datei deaktivieren , so wie ich es in der vorherigen Methode empfohlen habe.quelle
nmcli
, um zu überprüfen, ob eine Verbindung zu Ihrem VPN besteht. Wenn das nicht funktioniert, gibt es sicher ein Befehlszeilen-Dienstprogramm, das Zugriff auf diese Informationen bietet.sysctl
aktiviert diese Lösung ( ) IPv6 für WiFi nicht richtig. Sie müssen erneut eine Verbindung zum Access Point herstellen, um ihn zu aktivieren.Sie können ipv6 auf Clientebene für eine bestimmte Network Manager- Verbindung deaktivieren Clientebene indem Sie die IPv6-Option ipv6.method auf "Ignorieren" setzen.
// SOP: Stelle meine LAN-Verbindung mit der festen IP 192.168.0.95 zu Ethernet wieder her. `` ``
`` ``
quelle
Ich bin auf Ubuntu 16.04.03 LTS und verbinde mich über PiVPN mit einem Pi-Hole-Server.
So habe ich IPv6 beim Herstellen einer VPN-Verbindung über den Network Manager automatisch ein- und ausgeschaltet:
Erstellen Sie ein Skript in
/etc/NetworkManager/dispatcher.d
:Fügen Sie der Datei den folgenden Inhalt hinzu (ändern Sie den Inhalt entsprechend Ihren Anforderungen):
Machen Sie das Skript ausführbar:
Das ist es. Ich musste mein Pi-Hole-DNS manuell hinzufügen, da ein
dnsmasq
Fehler aufgetretenresolv.conf
ist, der die ordnungsgemäße Aktualisierung verhindert. Ändern Sie daher die angezeigten Zeilen, wenn Sie feststellen, dass Ihr DNS leckt.quelle
Ich denke, es ist weniger aufdringlich, IP6 in der Client-Datei zu deaktivieren (edit client_conf_file.ovpn), die den Kernel-TCP-Stack modifiziert.
Öffne deine conf_file.ovpn und füge folgende Zeilen hinzu:
Ich habe es versucht und danach verschwindet das ipv6.
Vor. Ich laufe
ip a |grep global
und Ergebnis ist:Nach. Ich laufe
ip a |grep global
und Ergebnis ist:quelle
Bearbeiten Sie das OpenVPN-Profil in NetworkManager, öffnen Sie die Registerkarte IPv6 und fügen Sie manuell eine Route hinzu:
Adresse: 2000 Präfix: 3 Gateway: 0100 :: 1
2000 :: / 3 erfasst alle öffentlich routbaren IPv6-Adressen. 0100 :: / 64-Präfix ist ein spezielles Präfix zum Verwerfen von Datenverkehr. Im Wesentlichen senden Sie den gesamten IPv6-Datenverkehr an ein nicht vorhandenes Gateway.
Vorteil: einfach und vollautomatisch.
Nachteil: Einige Apps, insbesondere Befehlszeilentools, greifen möglicherweise nicht so schnell auf IPv4 zurück, wie man es gerne möchte, wenn diese Methode verwendet wird.
quelle
Probieren Sie mein einfaches Skript aus, das ich gerade erstellt habe.
Wenn auf bestimmten Schnittstellen immer noch eine IPv6-Adresse vorhanden ist, versucht der Client immer noch das IPv6-Routing, aber da DNS UDP verwendet, besteht die Möglichkeit eines DNS-Lecks, das TCPwrapper nicht deaktivieren kann.
Dieses Skript funktioniert auch gut mit anderen Schnittstellen, da es nicht mehr auf dem Argument von NetworkManager basiert, wie z. B. vpn-up vpn-down.
erstelle eine ausführbare Datei in /etc/NetworkManager/dispatcher.d/
Füge den Code unten ein
dann mach es ausführbar
PS OpenVPN mit Network Manager verliert viele OpenVPN-Vorteilsoptionen aus Befehlszeilenversionen.
quelle