DNS ( 域名系统或服务 )是分层分散式命名系统/服务,将域名转换为Internet或专用网络上的IP地址,提供此类服务的服务器称为DNS服务器 。
本文介绍如何使用Linux系统中的hosts文件(/ etc / hosts)在本地域解析之前设置本地DNS,或者在生效之前对网站进行测试。
例如,您可能希望通过修改本地系统上的/ etc / hosts文件,将域名指向您配置的本地DNS服务器的IP地址,然后通过自定义域名在本地测试网站。
/ etc / hosts是将主机名或域名转换为IP地址的操作系统文件。 这对于在网站公开上线之前测试网站更改或SSL设置非常有用。
注意 :只有主机具有静态IP地址,此方法才有效。 因此,请确保为Linux主机或运行其他操作系统的节点设置了静态IP地址 。
为了本文的目的,我们将使用以下域名,主机名和IP地址(使用适用于您本地设置的值)。
Domain: youcl.lan Host 1: ubuntu.youcl.lan 192.168.56.1 Host 2: centos.youcl.lan 192.168.56.10
了解Linux中的名称服务切换
在进一步移动之前,您应该了解有关另一个重要文件/etc/nsswitch.conf的一些内容 。 它提供名称服务切换功能,它控制查询服务的顺序以进行名称服务查找。
配置基于订单; 如果文件在dns之前,则表示系统将在检查名称服务请求的DNS之前查询/ etc / hosts文件。 但是如果DNS是在文件之前,则域查找过程将在任何其他适当的服务或文件之前首先查询DNS。
在这种情况下,我们要查询“ 文件 ”服务。 要查看订单,请键入。
$ cat /etc/nsswitch.conf OR $ grep hosts /etc/nsswitch.conf
检查名称服务开关
在Linux中本地配置DNS / etc / hosts文件
现在使用您的编辑器打开/ etc / hosts文件,如下所示
$ sudo vi /etc/hosts
然后将下面的行添加到文件的末尾,如下面的屏幕截图所示。
192.168.56.1 ubuntu.youcl.lan 192.168.56.10 centos.youcl.lan
接下来,测试一切是否按预期工作正常,使用主机1的ping命令 ,您可以使用域名ping ping 主机2 。
$ ping -c 4 centos.youcl.lan OR $ ping -c 4 centos
本地平局
在主机2上 ,我们 。 所以我们也可以通过转到URL http://centos.youcl.lan来测试名称翻译服务的工作原理 。
在本地检查域名
要点 :要在网络上的任何主机上使用域名,必须在/ etc / hosts文件中配置上述设置。
这是什么意思,在上面的例子中,我们只配置了主机1的主机文件,我们只能使用它的域名。 要在主机2上使用相同的名称,我们还必须将地址和名称添加到其主机文件中。
最后,您应该使用host命令或nslookup命令来测试名称翻译服务是否正在运行,这些命令仅查询DNS,并忽略/ etc / hosts和/etc/nsswitch.conf文件中的任何配置。
您也可以阅读以下相关文章。
- 在RHEL / CentOS 7中安装和配置仅缓存DNS服务器
- 设置基本递归缓存DNS服务器并配置域的区域
- 8 Linux Nslookup命令解决DNS(域名服务器)
- 用于查询DNS查找的有用的“主机”命令示例
而已! 请通过下面的评论部分与我们分享关于此主题的任何其他想法或疑问。