您的位置:首页 > 其它

Ubuntu实践(5):DNS服务器设置

2012-11-27 23:18 330 查看
       12.04LTS中的resolv.conf是动态生成的,对它直接进行的手动修改都会丢失,因为它在resolvconf下一次重启的时候将被重写。resolv.conf文件内容里首先就有提示:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
           通过图形界面工具Network manager配置了静态IP和DNS服务器,能ping到局域网中的电脑,但是上不了网。因为,resolv.conf并没有nameserver的信息。如果是通过动态IP上网,不存在这个问题的。那么,如果你使用静态IP,怎么在哪里添加你的DNS配置呢?

     (一)可以通过在
/etc/network/interfaces里面,添加静态ip的同时写入DNS的配置,如下所示:

# The loopback network interface
auto lo
iface to inet loopback

#The primary network interface
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
...
dns-nameservers 8.8.8.8
     
这里使用了google的DNS服务器,手动添加了DNS配置。然后重启networking和resolvconf程序,你会发现resolvconf有了nameserver的信息,可以上网了。

     
dns-nameservers后面可以带多个服务器IP,只需要用空格隔开即可。

 
     (二)修改 /etc/resolvconf/resolv.conf.d/ 目录下的文件,resolvconf启动时会读取文件里面的DNS信息。一般该目录下,只有base和head两个文件,另外的两个original和tail需要手动创建。

 
     base是resolvconf在其他文件里找不到服务器信息时,才会被使用。head,顾名思义,里面的信息是作为resolv.conf服务器列表的第一个被使用的。original只是在resolvconf启动时,做一个备份。tail,和head恰恰相反,里面的信息会被追加到resolv.conf服务列表的最后。

 
     手动创建 /etc/resolvconf/resolv.conf.d/tail文件,并按照如下格式写入服务器信息(base等文件也是该格式):

nameserver 8.8.8.8
       接下来重启resolvconf程序,就可以下发服务器信息了。

 
     如果想添加多个服务器IP,需要分多行写,每行格式一样。

注:本文主要是针对ubuntu
12.04LTS 的DNS,其他旧版本或者未来的新版本可能不同,注意区分。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息