Saltar al contenido

¿Cómo puedo evitar que openconnect cambie /etc/resolv.conf?

Este dilema se puede abordar de variadas maneras, por lo tanto te mostramos la que para nosotros es la solución más completa.

Solución:

Solución 1:

Cree el siguiente script /etc/vpnc/no_resolverupdate.sh

#!/bin/sh
#
#
export INTERNAL_IP4_DNS=

. /usr/share/vpnc-scripts/vpnc-script

Hazlo ejecutable:

chmod +x /etc/vpnc/no_resolverupdate.sh

Luego agregue una línea a su archivo de configuración de conexión (aquí /etc/vpnc/cliente.conf)

echo 'Script /etc/vpnc/no_resolverupdate.sh' >> /etc/vpnc/customer.conf

Solución 2:

¿Se parece esto a vpnc-script? Si es así, el código de abajo es por qué cambia su /etc/resolv.conf:

if [ -x /sbin/resolvconf ]; then # Optional tool on Debian, Ubuntu, Gentoo
    MODIFYRESOLVCONF=modify_resolvconf_manager
    RESTORERESOLVCONF=restore_resolvconf_manager
elif [ -x /sbin/modify_resolvconf ]; then # Mandatory tool on Suse earlier than 11.1
    MODIFYRESOLVCONF=modify_resolvconf_suse
    RESTORERESOLVCONF=restore_resolvconf_suse
else # Generic for any OS
    MODIFYRESOLVCONF=modify_resolvconf_generic
    RESTORERESOLVCONF=restore_resolvconf_generic
fi

modify_resolvconf_manager() 
    NEW_RESOLVCONF=""
    for i in $INTERNAL_IP4_DNS; do
        NEW_RESOLVCONF="$NEW_RESOLVCONF
nameserver $i"
    done
    if [ -n "$CISCO_DEF_DOMAIN" ]; then
        NEW_RESOLVCONF="$NEW_RESOLVCONF
domain $CISCO_DEF_DOMAIN"
    fi
    echo "$NEW_RESOLVCONF" 

La forma ‘sucia’ es hacer el /etc/resolv.conf archivo inmutable:

# chattr +i /etc/resolv.conf

La forma correcta es editar su vpnc-script para que no cambie el /etc/resolv.conf.


Solución 3:

Use vpn-slice para configurar una conexión de túnel dividido en la que su configuración de DNS no se modifica y solo el tráfico a algunos hosts o subredes de IP se enruta a través de la VPN.

fue creado para este propósito exacto:

Solo estoy usando la VPN para algunos hosts específicos, no para una conexión a Internet completa.

Una vez que haya instalado vpn-slice, utilícelo con OpenConnect como reemplazo del vpnc-script estándar (puede eliminar el -v --dump después de haber confirmado que funciona correctamente):

$ openconnect --script "vpn-slice -v --dump host.you.need.to.access some.other.host" 
   vpn-server.your.company.com

Esto configurará las tablas de enrutamiento para que solo el tráfico a esos dos hosts en particular se enrute a través de la VPN, y agregará entradas para ellos. /etc/hosts. Los documentos tienen más detalles.

(Soy el autor de vpn-slice y uno de los principales contribuyentes de OpenConnect).

Si para ti ha resultado de provecho nuestro artículo, sería de mucha ayuda si lo compartieras con el resto seniors y nos ayudes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *