特定域的 DNS 服务器

特定域的 DNS 服务器

有没有办法为特定域定义 DNS 服务器?我正在使用 amp 堆栈设置开发机器,并且我想将所有具有特定域(即 project.dev)的 URL 重定向到 127.0.0.1。我在 OSX 上完成了此操作,并按以下方式配置了 dnsmasq:

# /etc/dnsmasq.conf

address=/.dev/127.0.0.1
listen-address=127.0.0.1
port=35353

并在 /etc/resolver 中添加一个包含此内容的 dev 文件

# /etc/resolver/dev

nameserver 127.0.0.1
port 35353

但是在带有 dhcpd 的 arclinux 中此功能不起作用。

我已经测试了 dnsmasq 并且它可以工作(返回的地址是 127.0.0.1)所以问题出在解析器上。dig [email protected] -p 35353

我也尝试过将以下内容放入 /etc/resov.conf.head 中:

# /etc/resolv.conf.head
nameserver 127.0.0.1
port 35353

并使用默认的 53 端口配置 dnsmasq,但没有成功。

这是我的 /etc/resolv.conf

# /etc/resolv.conf
nameserver 127.0.0.1
nameserver 192.168.0.1

答案1

这里有两个选择;要么你需要配置 192.168.0.1 的 DNS 服务器以将“.dev”解析为 127.0.0.1,要么运行 dnsmasq 并路由全部您的请求,就像您之前使用 OSX 时所做的那样。

resolv.conf尝试了多个名称服务器为了- 也就是说,如果无法访问最上面的一个,则将使用第二个。从顶级服务器获取 NXDOMAIN 或 SRVFAIL 响应不视为此情况下的失败

我在这里设置了相同的配置,但现在我可以控制远程 DNS 服务器(使用未绑定),我能够转换“.local”以解析为 127.0.0.1。以前我使用 dnsmasq 执行此操作 - 您真正需要做的唯一事情就是告诉 dnsmasq 三件事;

无解决:不要在文件中查找上游名称服务器resolv.conf。由于它只包含127.0.0.1,所以会给您带来递归麻烦。

服务器=192.168.0.1或者您的远程 DNS 服务器在哪里 - 如果 dnsmasq 无法在其本地配置中找到您问题的答案,它应该去哪里查找?您也可以在此处使用类似“8.8.8.8”的内容(Google 的公共 DNS 服务)。

地址/.dev/127.0.0.1- 将任何对“*.dev”的请求与“127.0.0.1”匹配。

有了它和nameserver=127.0.0.1中的指令resolv.conf.head,您就应该准备好了。

相关内容