ubuntu 11.10 找不到DNS

最近新装了一台ubuntu 11.10的机器,为了使用固定IP, 直接把/etc/network/interfaces改成了固定IP,指定了网关和子网掩码。麻烦就由此而来了。


机器只要一重启,就无法找到DNS服务器。不管多少次一直是这样。


我们知道。ubuntu读取DNS的配置文件为/etc/resolv.conf,即使在里面指定了nameserver的IP地址,只要机器一重启,自己修改的DNS就不见了。


最后就来研究/etc/resolv.conf这个文件了。第一行有一段注释# Generated by NetworkManager,告诉我们,这个文件是由NetworkManager自动产生的,不是手工修改的。


这么说还得看看NetworkManager这个软件怎么设的网卡信息。于是打开system里的network,发现处理unmanaged状态,也就是NetworkManager这个软件无法管理网卡。


于是网上找资料http://thilo.cestona.ro/?p=196,对着这个办法试过,没有作用。不过里面提到的命令sudo apt-get install –reinstall libnss3:i386 libnss3倒是可以记下来。

于是就来分析NetworkManager这个软件的一些配置情况了。

在更改NetworkManager的配置文件之前,先要把/etc/network/interfaces下的关于eth0的相关东西都注释掉,让NetworkManager软件来管理所有的网络接口。

一共有下面几个配置文件需要注意:

/var/lib/NetworkManager/NetworkManager.state记录了当前的软件使用状态,直接删掉,让软件自动生成。

/etc/NetworkManager/NetworkManager.conf核心的配置文件,需要把managed设为true。

[ifupdown]
managed=true

然后重启。


在NetworkMagager软件中设IP,网关,子网掩码,DNS。如果设置成为。会产生这个文件。

/etc/NetworkManager/system-connections/Wired connection 1

这个文件就是NetworkManager对网卡的管理的详细信息。里面的DNS设置就是给/etc/resolv.conf这个文件使用的。

关于NetworkManager.conf这个配置文件的一些信息可以参考http://manpages.ubuntu.com/manpages/maverick/man5/NetworkManager.conf.5.html


重启,DNS能够正常分配,问题解决。

经验:

      软件要从下面几个方面找原因

     1. 软件的当前运行状态,主要从/var/lib下面去看

     2. 哪些配置文件是手工修改,哪些是自动生成的,由什么软件自动生成?

     3. 安装相应的包,更新对应的库

     4. 尽量使用linux的发行版所附带的功能。而不要自己去更改底层的一些东西。


你可能感兴趣的:(linux使用常识,ubuntu,dns服务器,network,system,linux,网络)