VPN断开连接:resolv.conf未刷新
我使用vpnc连接到VPN。 当VPN断开连接时,无论是超时还是达到会话限制,VPN都会终止,但resolve.conf继续包含对我的VPN网络的引用。
VPN连接之前的resolv.conf:
nameserver 127.0.0.1 search mylocalnetwork
VPN连接后resolv.conf并在VPN丢失后保留:
nameserver XXXX nameserver XXXZ nameserver 127.0.0.1 search internal.mycompany.com mylocalnetwork
在10.04中,当VPN丢失时,我将运行此脚本来刷新resolve.conf:
7$ cat bin/refreshResolvconf.sh #!/bin/bash #if [ -e /etc/resolvconf/run/interface/tun0 -a "`pidof vpnc`" == "" ]; then /sbin/resolvconf -d tun0; fi if [ -e /etc/resolvconf/run/interface/tun0 -a "`pidof vpnc`" == "" ] then /sbin/resolvconf -d tun0; echo "Refreshed resolv.conf" fi
但是,在12.04中更改的resolveconf已更改,因此此脚本不再适用。
要解决此问题,我手动编辑resolve.conf或通过“gnome-control-center network”关闭/打开我的连接。
其他人有同样的问题吗? 如何在VPN断开后更新resolv.conf?
不再使用路径/ etc / resolvconf / run。
如果没有运行vpnc进程,以下代码段将删除tun0记录。
[ "$(pidof vpnc)" ] || resolvconf -d tun0
该问题的正确解决方案是安排vpnc以在退出之前清理的方式终止,其中清理包括删除它在连接时创建的任何resolvconf记录。