mis*_*yes 22 networking linux dns
我想在linux上做一些测试。我想在一台 IP 为 1.2.3.4(假设)的机器上放置一个小型网络服务器,当对特定 URL 进行 DNS 查询时:kitty.myweb.com 我想返回这个 IP 地址。
场景:
我知道每台计算机都有一个本地 DNS 解析器来缓存一些条目;对 URL 的调用将首先查询本地 DNS 解析器,如果没有相应的条目,它将查询发送到 LAN 或 Internet 上的外部 DNS 解析器。
我想要的是向本地 DNS 解析器添加一个条目 (kitty.myweb.com : 1.2.3.4),这样对于上述 2 个场景,DNS 响应将是 1.2.3.4,而无需进行外部查询。
是否可以在 linux 上执行此操作,如果可以,如何执行?是否有任何 C 代码片段可以做到这一点?
Gre*_*gor 33
您或许可以使用 /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
Hen*_*nes 10
在本地主机上添加单个 DNS 条目的最简单方法是将其添加到主机文件中。该文件的位置可能因发行版而异,但其传统位置是/etc/hosts,大致如下所示:
::1 本地主机 localhost.yourdomain.tld 127.0.0.1 本地主机 localhost.yourdomain.tld 1.2.3.4 kitty.myweb.com
请注意,这只会影响您自己的计算机,并且无法很好地扩展。换句话说,简单的测试是可以的,只是不要尝试在大量计算机上编辑主机文件。为此,您需要正确的 DNS 条目。
| 归档时间: |
|
| 查看次数: |
109457 次 |
| 最近记录: |