快速业务通道

linux DNS服务器IP地址设置研究笔记

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-13

先把本文的总结放在前面:

总结:
1、当有应用需要进行域名解析时(如:ping www.sohu.com),会读取resolv.conf文件获取dns服务器地址,然后再向该dns服务器发送域名解析请求,若resolv.conf设置的不对或者没有resolv.conf都会导致域名解析失败.

2、通过ifcfg-eth0也可以设置DNS服务器地址,并自动修改或生成resolv.conf文件.在ifcfg-eth0中可以通过PEERDNS参数决定是否修改resolv.conf文件,设置PEERDNS=yes(这也是系统的默认配置)则启用该网络设备时,会修改或生成resolv.conf文件,设置PEERDNS=no,则不对resolv.conf做任何变动.

3、若ifcfg-eth0被配置为DHCP模式,则系统默认PEERDNS=no,也就是会用DHCP获取的DNS地址修改或生成resolv.conf文件.

4、我觉得没有特殊情况,不用在resolv.conf中设置DNS,应在ifcfg-eth0中设定DNS服务器地址方便些,即符合正常思维也更便于维护和管理.

参考文档:
红帽的随机文档/usr/share/doc/initscripts-8.45.30/sysconfig.txt,我是红帽子5.5,不同的版本这个‘initscripts-8.45.30’可能不一样.
附件中是redhat 5.5的sysconfig.txt,可以下载先看看.强烈推荐大家看看该文档,里面还写了不少其它有用的资料,至少我是这么认为的.

---------------------------------正文开始------------------------------------

与DNS设置有关的系统配置文件有2个,即:
/etc/resolv.conf ’程序在需要域名解析时,会通过该文件获取DNS服务器地址
/etc/sysconfig/network-scripts/ifcfg-eth0 ‘ifcfg-eth0这个文件名根据不同的网络设备名字会不同.该文件也可以设置DNS服务器地址

看到此,肯定会想到,两个文件都可以设置DNS,难倒不会产生冲突吗?下面,通过实验来验证这个问题

1.1通过resolv.conf设置DNS服务器IP地址
只要在文件中加入nameserver <DNS服务器IP地址>就可以了.

我的resolv.conf配置如下:
nameserver 202.96.134.33
nameserver 202.96.128.68

PING 搜狐网站通过:
[root@linux_1 ~]# ping www.sohu.com
PING pgctcgzt01.a.sohu.com (121.14.0.20) 56(84) bytes of data.
64 bytes from 121.14.0.20: icmp_seq=1 ttl=55 time=31.6 ms
64 bytes from 121.14.0.20: icmp_seq=2 ttl=55 time=29.4 ms
64 bytes from 121.14.0.20: icmp_seq=3 ttl=55 time=28.9 ms

--- pgctcgzt01.a.sohu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2328ms
rtt min/avg/max/mdev = 28.996/30.027/31.659/1.183 ms

再试下把resolv.conf改名为resolv.conf.bak,看是否还能ping通,此时相当于没有resolv.conf文件
[root@linux_1 ~]# mv /etc/resolv.conf /etc/resolv.conf.bak
[root@linux_1 ~]# ping www.sohu.com
ping: unknown host www.sohu.com

系统提示‘ping: unknown host www.sohu.com’,说明不能进行域名解析,由此可以判断出,系统是先读取resolv.conf文件获取dns服务器地址,然后再去向dns服务器发送域名解析请求的.
马上恢复resolv.conf
[root@linux_1 ~]# mv /etc/resolv.conf.bak /etc/resolv.conf

注意:resolv.conf文件修改后立即生效,是不需要重新应用网络服务的.


1.2 通过ifcfg-eth0文件设置DNS服务器IP地址
只要在文件中增加以下配置就可以了:
DNS1=<dns服务器ip地址>
DNS2=<dns服务器ip地址>

注:最多设置两个dns服务器.

我的resolv.conf配置如下:
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
IPADDR=192.168.1.63
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=202.96.134.33
DNS2=202.96.128.68

注:系统默认在应用网络配置时,会自动创

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号