我怎样才能停止openconnect改变/etc/resolv.conf?

当我运行openconnect(使用默认的vpnc脚本)时,它改变了/etc/resolv.conf ,它确实不应该这样做。 我只是使用一些特定主机的VPN而不是完整的Internet连接。

vpnc-script是这样吗? 如果是这样,下面的代码是为什么它改变你的/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 } 

“脏”的方法是使/etc/resolv.conf文件不可变:

 # chattr +i /etc/resolv.conf 

正确的方法是编辑你的vpnc脚本,使它不应该改变/etc/resolv.conf