有时候会遇到使用网络命令会报错can,t find
,比如nslookup www.baidu.com
。原因之一就是无法解析到域名的IP地址,这极有可能是系统的dns配置有问题。如果是使用VMware虚拟机的话,会经常遇到这个问题。解决方法有两种:
配置dns的方法有三种:网卡配置、resolv.conf文件、hosts文件
我经常使用kali系统(基于Ubuntu),没有这个/etc/sysconfig/目录。
nameserver
表示解析域名时用该地址指定的主机为域名服务器,其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。nameserver至少指定一个,不然就会找不到dns服务器。
domain
声明主机的域名。很多程序用到它,如邮件系统。
search
它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
sortlist
参数为网络/掩码对,允许将得到域名结果进行特定的排序。
domain和search同时存在。如果同时存在,则要指定sortlist。
第一列是IP地址,第二列是域名,其中127.0.0.1的解析记录有两条。后三行是ipv6地址。 可见,这个文件是自己添加解析记录,而不是配置dns服务器地址。
这个文件的目录是/etc/host.conf。内容如下:
multi
表示是否允许/etc/hosts文件允许主机指定多个IP地址。on允许,off不允许。
系统会优先其中一种方式进行dns解析,如果没有成功才会使用下一种方式dns解析,首先查询hosts文件。
hosts文件 > 网卡配置 > resolve.conf文件