当前位置: 技术问答>linux和unix
请教,有关DNS的问题?
来源: 互联网 发布时间:2015-09-30
本文导语: 在Linux下,我设置了一个DNS的服务器(在这里暂且先把它命名为A_linux),定义了一个example.zone的域,并在DNS中的example.zone文件中配置了一个机器名(cc_linux 111.1.5.6),最后,用“service named restart”重启了named服务。...
在Linux下,我设置了一个DNS的服务器(在这里暂且先把它命名为A_linux),定义了一个example.zone的域,并在DNS中的example.zone文件中配置了一个机器名(cc_linux 111.1.5.6),最后,用“service named restart”重启了named服务。
然后,在另一台Linux的机器上(在这里暂且先把它命名为B_linux),我配置了DNS客户端,配置很简单,就是在“/etc/resolve”文件中加入了两行,分别如下:
nameserver A_linux
domain example
配置完成后,又用“service network restart”重启了它的网络服务,然后,我在B_linux机器上执行“nslookup cc_linux”命令,返回值正确,即可以解析机器名,返回了cc_linux所对应的IP地址“111.1.5.6”。
可当我“ping cc_linux”命令时,却报错,错误为“不认识的机器名”,然后我又编写了一个很简单的C程序,在程序里,用函数“gethostbyname("cc_linux")”来获取信息,发现也不能获取任何信息。
请问各位高手,这到底是怎么回事?怎么解决?
然后,在另一台Linux的机器上(在这里暂且先把它命名为B_linux),我配置了DNS客户端,配置很简单,就是在“/etc/resolve”文件中加入了两行,分别如下:
nameserver A_linux
domain example
配置完成后,又用“service network restart”重启了它的网络服务,然后,我在B_linux机器上执行“nslookup cc_linux”命令,返回值正确,即可以解析机器名,返回了cc_linux所对应的IP地址“111.1.5.6”。
可当我“ping cc_linux”命令时,却报错,错误为“不认识的机器名”,然后我又编写了一个很简单的C程序,在程序里,用函数“gethostbyname("cc_linux")”来获取信息,发现也不能获取任何信息。
请问各位高手,这到底是怎么回事?怎么解决?
|
nameserver不应该用主机名,设成DNS的IP试试,否则要在/etc/hosts里添加对应的IP,要不怎么找DNS Server?主机名查询顺序在/etc/host.conf里设置,我的是:order hosts, bind
|
order
hosts
resolove
/etc/sysconfig/network
hosts
resolove
/etc/sysconfig/network