如何将条目添加到本地DNS解析器


19

我想在linux上做一些测试。我想在IP为1.2.3.4(假设)的计算机上放置一台小型Web服务器,并且在对特定URL进行DNS查询时:kitty.myweb.com我想返回此IP地址。

场景:

  1. 当我打开浏览器(firefox或其他)时,输入URL kitty.myweb.com,浏览器将执行DNS查询
  2. 我想编写一个程序对kitty.myweb.com进行DNS查询

我知道每台计算机都有一个本地DNS解析器,该解析器可缓存一些条目。调用URL将首先查询本地DNS解析器,如果没有相应的条目,它将把查询发送到LAN或Internet上的外部DNS解析器。

我要添加一个条目(kitty.myweb.com:1.2.3.4)到本地DNS解析器,这样对于上述2种情况,DNS响应将为1.2.3.4,而无需进行外部查询。

可以在linux上执行此操作吗?也许有任何C代码片段可以做到这一点?

Answers:


30

您可能可以使用/ etc / hosts添加条目。这实际上并没有使用DNS,但是会影响大多数应用程序使用的Linux中的解析器库。加:

1.2.3.4 kitty.myweb.com

另一种选择是在系统上安装一个简单的DNS服务器。我经常使用的一个称为dnsmasq。在某些发行版中,默认情况下将其安装为缓存解析器,在这种情况下,您只需要修改配置即可:

地址= / kitty.myweb.com / 1.2.3.4

如果您正在运行自己的DNS服务器,则可能需要使用Linux解析程序库所使用的/etc/resolv.conf。要使解析器库查看本地DNS服务器,您需要在resolv.conf中输入以下内容:

域名服务器127.0.0.1


9

在本地主机上添加单个DNS条目的最简单方法是将其添加到hosts文件。该文件的位置可能随发行版本而有所不同,但其传统位置是/etc/hosts,并且应大致如下所示:

:: 1本地主机localhost.yourdomain.tld
127.0.0.1本地主机localhost.yourdomain.tld
1.2.3.4 kitty.myweb.com

请注意,这只会影响您自己的计算机,并且伸缩性不佳。换句话说,对于简单的测试来说很好,只是不要尝试在很多计算机上编辑主机文件。为此,您需要正确的DNS条目。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.