Como posso impedir que o openconnect altere o /etc/resolv.conf?

3

Quando eu executo o openconnect (com o script vpnc padrão) ele muda /etc/resolv.conf e realmente não deveria fazer isso. Eu estou usando apenas a VPN para um host específico não para uma conexão completa com a Internet.

    
por chx 16.11.2011 / 00:45

2 respostas

6

O script vpnc parece com isso ? Se assim for, o código abaixo é porque ele muda seu /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" | /sbin/resolvconf -a $TUNDEV
}

A maneira 'suja' é tornar o arquivo /etc/resolv.conf imutável:

# chattr +i /etc/resolv.conf

A maneira correta é editar seu script vpnc para fazer com que ele não altere o /etc/resolv.conf .

    
por 16.11.2011 / 01:36
5

Crie o seguinte script /etc/vpnc/no_resolverupdate.sh

#!/bin/sh
#
#
export INTERNAL_IP4_DNS=

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

Torne-o executável:

chmod +x /etc/vpnc/no_resolverupdate.sh

Em seguida, adicione uma linha ao seu arquivo de configuração de conexão (aqui /etc/vpnc/customer.conf )

echo 'Script /etc/vpnc/no_resolverupdate.sh' >> /etc/vpnc/customer.conf
    
por 09.03.2018 / 10:18

Tags