Hello! 欢迎来到小浪云!


linux之dns配置


简介

有时在执行网络命令时会遇到can’t find错误,比如nslookup www.baidu.com。这通常是因为无法解析到域名的IP地址,可能是由于系统的DNS配置问题。如果使用的是VMware虚拟机,这种情况尤为常见。解决此问题的方法有两种:

  1. 将虚拟机的网络适配器改为桥接模式。
  2. 配置系统的DNS设置。

配置DNS的方法有三种:通过网卡配置、编辑resolv.conf文件和hosts文件。

网卡配置: 使用ifconfig命令查看网卡序号,通常是eth0。然后编辑vi /etc/sysconfig/network-scripts/ifcfg-eth0配置文件,添加DNS服务器地址。不过,在使用Kali系统(基于Ubuntu)时,并没有/etc/sysconfig/目录。

resolv.conf文件: 编辑vim /etc/resolv.conf文件,在文件末尾添加nameserver后跟DNS服务器地址。我通常会添加宿主机的地址。

linux之dns配置

文件配置详解:

  • nameserver表示使用该地址指定的主机作为域名服务器,域名服务器按文件中出现的顺序查询,只有当第一个nameserver无响应时才查询下一个。至少需要指定一个nameserver,否则系统将无法找到DNS服务器。
  • domain声明主机的域名,许多程序会用到它,如邮件系统。
  • search指定域名查询顺序。当查询没有域名的主机时,系统会在search声明的域中查找。
  • sortlist参数为网络/掩码对,允许对域名结果进行特定排序。
  • 如果domain和search同时存在,则需要指定sortlist。

hosts文件: 编辑vim /etc/hosts文件,添加解析记录,如下图所示:

linux之dns配置

第一列是IP地址,第二列是域名,其中127.0.0.1有两条解析记录。后三行为IPv6地址。这个文件是用来添加解析记录的,而不是配置DNS服务器地址。

host.conf文件: 该文件位于/etc/host.conf,内容如下:

linux之dns配置

multi表示是否允许/etc/hosts文件中主机指定多个IP地址,on允许,off不允许。

优先级: 系统会优先使用一种方式进行DNS解析,如果不成功则使用下一种方式。解析顺序为:hosts文件 > 网卡配置 > resolv.conf文件。

相关阅读