路由器中设置自定义域名以进行本地访问?

路由器中设置自定义域名以进行本地访问?

最近我购买了一个 TP Link 路由器供家庭使用,说明书上说你可以从http://tplinkwifi.net/领域。

但我搞不懂他们是怎么做到的?当我从家里 ping 该域时,它说正在 ping 192.168.0.1,但当我从办公室执行相同操作时,它说ping: cannot resolve tplinkwifi.net: Unknown host

他们如何添加仅在本地路由器环境中有效的自定义域名?我可以这样做吗?

还有哪些路由器型号支持本地域设置,以便我可以设置任何域名并将其指向我的本地 IP 地址。

我知道一种通过修改 Windows 中的 hosts 文件的方法,但这是一个漫长的过程,有没有办法通过路由器或任何 CMS 系统执行相同的操作?

请指教?

答案1

路由器正在自行拦截并回复 DNS 请求。

DNS 是将域名解析tplinkwifi.net为 IP 地址的系统192.168.0.1。该协议没有内置任何类型的加密或安全性 - 您的计算机向 DNS 服务器发送 DNS(纯文本)查询,接收(纯文本)响应,并信任它。

当使用 DHCP 时,您的路由器可以为您分配要使用的 DNS(主 DNS 和辅助 DNS),但您的计算机仍然可以覆盖该 DNS。

192.168.3.253就我而言,我的计算机通过 WiFi连接到 TP-Link Archer C50 路由器 ( ),192.168.3.200通过 DHCP 获取其 IP ( ),但设置了自定义 DNS 服务器 (8.8.8.88.8.4.4)。tplinkwifi.net解析为192.168.3.253(这不是路由器的标准 IP,因此解析不是固定的),即使我执行明确针对 DNS8.8.8.8服务器的 DNS 查询,我也会立即收到本地 IP 的响应:

$ dig @8.8.8.8 tplinkwifi.net

; <<>> DiG 9.10.6 <<>> @8.8.8.8 tplinkwifi.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48609
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;tplinkwifi.net.            IN  A

;; ANSWER SECTION:
tplinkwifi.net.     1   IN  A   192.168.3.253

;; Query time: 1 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Jul 07 23:59:52 -03 2021
;; MSG SIZE  rcvd: 48

因此结论是路由器拦截了该名称的 DNS 查询,并自行响应,冒充8.8.8.8。您可以看到1 msec响应时间(我的互联网连接非常差,ping8.8.8.8最多需要 30 毫秒),因此一定是路由器伪造了响应。

您最终可以检查Google 公共 DNS实际域名解析为其他 IP。为了能够访问该网站,您应该连接到 Internet 而不通过解析此域名的 TP Link 路由器,将这些 IP 硬编码到本地主机文件中,或者使用 DNS over HTTPs (DoH) 以避免 DNS 查询被路由器拦截。

答案2

根据型号和管理界面,您可能能够或不能添加/修改 DNS 条目。实际情况是您的计算机通过 DHCP 将路由器作为其主 DNS 服务器。路由器上要么有 DNS 服务器,要么有包含该地址的 hosts 文件。

由于它不是公开注册的域,因此您在任何时候都无法在本地网络之外访问该地址。

如果您想完全控制本地网络上的 DNS,您可以在树莓派上设置 bind9 并配置路由器以指向它。

相关内容