Estoy usando el cliente OpenVPN a través del complemento OpenVPN Network Manager en una pila dual (es decir, configurado para conectividad IPv4 e IPv6) Ubuntu 13.10 para redirigir todo el tráfico a través de la VPN (redirect-gateway). Generalmente funciona bien.
Sin embargo, debido a que el sistema prefiere IPv6, la VPN "pierde" y cuando se conecta a sitios que también están disponibles a través de IPv6 (como Google o Wikipedia), el navegador se conecta directamente.
Una solución sería configurar el servidor OpenVPN para proporcionar conectividad IPv6. Si bien es posible con OpenVPN, el complemento para Network Manager actualmente no lo admite.
Dado que la conectividad IPv6 a través de la VPN no es estrictamente necesaria, me gustaría simplemente deshabilitar IPv6 en el cliente cuando se conecta al servidor OpenVPN. ¿Es posible? Si es así, ¿cómo puedo hacerlo?
fuente
Respuestas:
Agregue esto a su línea de kernel en su gestor de arranque para deshabilitar por completo IPv6:
Si está utilizando Grub (si no ha instalado su propio gestor de arranque, entonces está utilizando Grub), la línea de su núcleo debería verse así:
El enfoque recomendado, para agregar algo a la línea del núcleo, es agregar el parámetro del núcleo deseado a la
GRUB_CMDLINE_LINUX_DEFAULT
variable en el/etc/default/grub
archivo:Una vez que haya agregado eso
/etc/default/grub
, ejecute el siguiente comando para regenerar sugrub.cfg
:Alternativamente, agregar en su
ipv6.disable_ipv6=1
lugar mantendrá la pila IPv6 funcional pero no asignará direcciones IPv6 a ninguno de sus dispositivos de red.O
Para deshabilitar IPv6 a través de sysctl, coloque lo siguiente en su
/etc/sysctl.conf
archivo:No olvide comentar los hosts IPv6 en su
/etc/hosts
archivo:NOTA
puede ser necesario reiniciar para el método sysctl, y definitivamente es necesario reiniciar para el enfoque de línea del núcleo.
O
Para deshabilitar temporalmente ipv6:
Para habilitarlo temporalmente :
Entonces, si necesita deshabilitar ipv6 en una condición dada , escriba un script bash en alguna parte a lo largo de estas líneas:
NOTA
Es posible que también necesite deshabilitar cualquier host ipv6 en su
/etc/hosts
archivo para este método, tal como lo recomendé en el método anterior.fuente
nmcli
para verificar si está conectado a su VPN; si eso no funciona, entonces estoy seguro de que hay una utilidad de red de línea de comandos que dará acceso a esa información.sysctl
) no vuelve a habilitar IPv6 para WiFi correctamente. Debe volver a conectarse al punto de acceso para habilitarlo.Puede deshabilitar ipv6 en el nivel del cliente para una conexión específica de Network Manager configurando la opción ipv6.method IPv6 para "ignorar"
// SOP: recrear mi conexión LAN usando IP FIJA 192.168.0.95 a Ethernet. `` ``
`` ``
fuente
Estoy en Ubuntu 16.04.03 LTS, conectándome a un servidor Pi-Hole a través de PiVPN.
Esto es lo que hice para encender y apagar automáticamente IPv6 al conectarme a una VPN a través del Administrador de red:
Crea un script en
/etc/NetworkManager/dispatcher.d
:Agregue el siguiente contenido al archivo (modifique el contenido según sus requisitos):
Haga que el script sea ejecutable:
Eso es. Tuve que agregar manualmente mi DNS de Pi-Hole debido a un
dnsmasq
error que impide queresolv.conf
se actualice correctamente, así que modifique las líneas indicadas si encuentra que su DNS tiene una fuga.fuente
Creo que es menos intrusivo deshabilitar ip6 en el archivo del cliente (editar client_conf_file.ovpn) que modifica la pila tcp del kernel.
Abra su conf_file.ovpn y agregue las siguientes líneas:
Lo probé y después de esto, el ipv6 desaparece.
Antes de. Corro
ip a |grep global
y el resultado es:Después. Corro
ip a |grep global
y el resultado es:fuente
Edite el perfil de OpenVPN en NetworkManager, abra la pestaña IPv6 y agregue manualmente una ruta:
Dirección: 2000 Prefijo: 3 Puerta de enlace: 0100 :: 1
2000 :: / 3 captura todas las direcciones IPv6 enrutables públicamente. 0100 :: / 64 prefijo es un prefijo especial designado para descartar tráfico. Básicamente, enviará todo el tráfico IPv6 a una puerta de enlace que no existe.
Al revés: fácil y completamente automático.
Desventaja: algunas aplicaciones, es decir, herramientas de línea de comandos, pueden no recurrir a IPv4 tan rápido como a uno le gustaría cuando se usa este método.
fuente
Prueba mi sencillo guión que acabo de hacer ahora, esto lo hará,
Si todavía hay una dirección ipv6 en ciertas interfaces, el cliente aún intenta el enrutamiento ipv6, pero como DNS usa UDP, hay posibilidades de fuga de DNS que TCPwrapper no puede desactivar.
Este script también funciona bien con otras interfaces porque ya no se basa en el argumento de NetworkManager, como vpn-up vpn-down.
crear un archivo ejecutable en /etc/NetworkManager/dispatcher.d/
pegue el código a continuación
luego hazlo ejecutable
PS OpenVPN con Network Manager pierde muchas opciones de beneficios de OpenVPN de las versiones de línea de comandos.
fuente