使用 OpenWrt 重定向 DNS 请求

Nik*_*Kim 8 networking domain-name-system openwrt

我带了一个无线路由器到我的办公室,因为我家附近没有免费的网络插座。通过以太网电缆连接的每台普通计算机通常通过 DHCP 从企业路由器获取 IP 和 DNS 服务器地址。

我们的组织有一些内部地址,它们有自己的 URI,由本地 DNS 服务器解析。现在我可以通过 IP 地址访问它们,但不能通过 URI,因为“主机未知”。

在LuCI(OpenWrt 的网络界面)的DHCP 和 DNS部分中,DNS Forwardings我指定了企业 DNS 服务器的地址(它们是静态的),但没有成功。

如何让 OpenWrt 将所有无法自行解析的 DNS 请求转发到这些企业服务器,或仅将所有 DNS 流量转发到该服务器?

Mic*_*ton 11

不要理会 DNS 转发或 OpenWrt 的内部 DNS 服务器,只需直接为您的 DHCP 客户端提供现有的 DNS 服务器。您可以通过设置 DHCP 选项 6 来完成此操作,该选项将在 Web 界面中进行格式化,例如:

6,192.168.32.35,192.168.48.35
Run Code Online (Sandbox Code Playgroud)

您可以通过网络 --> 接口 --> LAN --> 向下滚动到底部 --> “高级设置”选项卡来访问 LuCI 中 Web 界面的相关部分:

LuCI DHCP 配置

我还必须提醒您,只有在您公司的网络管理员、IT 部门等明确了解和批准的情况下才能这样做。

  • 谢谢,它就像一个魅力!我将 `dhcp-option=6, 172.22.9.10, 172.22.10.10` 放入 `/etc/dnsmasq.conf`,其中 IP 是 DNS 服务器地址,现在一切正常。 (3认同)

Bha*_*bba 11

作为使用 DHCP 选项 6 的替代方案,您可以直接更改 OpenWrt 使用的 DNS 服务器。为此,请在网络界面 LuCI 下导航至

网络接口? 广域网编辑高级设置

并取消选中该选项Use DNS servers advertised by peer。然后Use custom DNS servers会出现一个新的选项字段,您可以在其中输入您选择的一个或多个 DNS 服务器的地址。

截图:OpenWrt 中的自定义 DNS 服务器

当然,如果您的 WAN 接口有另一个名称(例如,因为您通过 IPv6 连接),您必须改为更改该接口的这些设置。

这种方法的普遍优势在于,虽然 OpenWrt 使用您的自定义 DNS 服务器来查找任何未知地址,但它仍然充当连接客户端的 DNS 服务器。这样 OpenWrt 本身的 DNS 查询也由您的自定义 DNS 服务器回答(例如,如果您担心隐私并因此想要完全避免使用您的互联网提供商的 DNS 服务器,这可能很重要)。

其他优点包括所有客户端都使用一个 DNS 缓存(OpenWrt 的 DNS 缓存),并且您仍然可以使用 OpenWrt 的hosts文件添加自定义条目等。

我只在 OpenWrt 15.05 Chaos Calmer 下测试过这种方法,但我想它在以前的版本中应该以相同的方式工作。