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.