我使用 VPN 客户端访问我公司的内联网。它以前在旧版本的 Ubuntu 上工作正常。但在 12.04 上却不行。它能够连接,但我没有看到任何数据包交换发生,因此无法浏览内联网。
在进行一些故障排除时,我发现 12.04 中的 DNS 解析已更改,并且我的 VPN 客户端无法更新 DNS 服务器。在谷歌搜索后,我找到了一篇帖子,建议将 DNS 名称服务器 IP 地址添加到/etc/dhcp/dhclient.conf
以下位置。
prepend domain-name-servers <ip1>, <ip2>; #this was the addition i made
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.domain-search, dhcp6.fqdn,
dhcp6.name-servers, dhcp6.sntp-servers;
这解决了问题,我可以浏览内联网网站。但这种情况不会持续很长时间。似乎 DNS 会在一段时间后发生变化。有没有办法让 DNS 设置不改变,或者每次改变时都应该将这些 IP 地址也包括在内?
答案1
在 ubuntu 12.04 中,对 的任何手动更改都/etc/resolv.conf
将稍后被名为 的 DNS 信息管理器覆盖resolvconf
。
如果您想更改默认设置,您可以修改下的文件base
、head
或。tail
/etc/resolvconf/resolv.conf.d
- 根据:当找不到其他数据时使用
- 头:默认 resolv.conf 的标头。服务器将首先检查其中的内容。
- 尾巴:附加在 resolv.conf 末尾的条目。在某些情况下,从以前的 Ubuntu 版本升级将使 tail 成为指向原始的符号链接
参考:
答案2
第三方 VPN 客户端有时会弄乱 /etc/resolv.conf,有时在退出时无法正确恢复 /etc/resolv.conf。
有关背景信息,请参阅 Launchpad 错误 #1000244 以及特别是评论 #121。
https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1000244/comments/121
要修复,请尝试执行sudo dpkg-reconfigure resolvconf
。