nslookup,host和resolveip之间的区别?

时间:2012-06-21 08:49:05

标签: unix dns

我在我公司的VPN上,注意到nslookup和host都返回了我们服务器的公共IP地址,而resolveip和curl(以及我的浏览器)返回了正确的内部地址。为什么不同的Unix程序会以不同的方式解析相同的主机名?

1 个答案:

答案 0 :(得分:10)

nslookupdighost是直接查询DNS的客户端。 getent实用程序,curl和大多数应用程序(可能包括您正在讨论的resolveip,虽然我不熟悉它)是C库地址解析服务的客户端。 C库的地址解析服务使用/etc/nsswitch.conf进行配置,默认情况下会咨询/etc/hosts,如果在/etc/hosts中找不到答案,则会咨询DNS。它也可以配置为根本不咨询DNS(或其他一些服务)。

在您的情况下,您可能在/etc/hosts中拥有正确的内部地址。