局域网设备的 DNS 查询应该怎么做?

2022-04-06 01:23:38 +08:00
 cwcc

现在的网络架构非常简单,只有两层,一层是外部宽带接入的主路由(主路由为 TP-Link ,自带 IPv4 和 IPv6 的 DNS 功能)。现在我局域网内有几十台桥接服务搭建的虚拟机和物联网设备。如果想要快速连接他们,我都有对应的主机名称,但是 IP 总是记不住。

有没有一种比较简单的方案,搭建一个内网的 DNS (同时支持 v4 和 v6 ),实现效果就是,只要接入家里网络的设备(路由器的 DHCP 服务器可以自定义指定到内网 DNS 服务器),设置 DNS ,那么就可以实现内网+外网 DNS 的同时解析,例如:nslookup ci-debian.mydomain 返回 192.168.10.24,走 v6 查询的话也是同样的道理。

3583 次点击
所在节点    宽带症候群
14 条回复
mons
2022-04-06 01:55:30 +08:00
可以,如果不想每台终端手动配置 DNS 的话至少有两种解决方案:

1. 主路由支持修改 DHCP DNS Server 列表的话,直接把你内网的 DNS Server IP 加进去,这样所有遵循规范的 DHCP Client 都会默认采用这个 list 。譬如我的解决方案是在 RPi 上架了个 AdGuard Home 后加到了 DHCP DNS Server list. 如果开了 DHCPv6 ,则需要同样加到 v6 的 DNS Server list:





2. 往主路由跑的 dnsmasq 里直接加静态 host-route ,例如:

cat > /run/dnsmasq.conf.d/custom01.conf <<EOF
host-record=ci-debian.mydomain,192.168.10.24
host-record=ci-debian2.mydomain,192.168.10.25
EOF

然后 reload dnsmasq

供参考。
oovveeaarr
2022-04-06 03:59:39 +08:00
一般路由器自带的主机名解析功能,搜索域也可以自定义。
RatioPattern
2022-04-06 07:04:49 +08:00
PolarBears
2022-04-06 08:22:01 +08:00
要不或者考虑几块钱买个域名,直接域名设置解析成内网 IP 。
villivateur
2022-04-06 09:20:34 +08:00
以 openwrt 为例,改 /etc/hosts 即可解析内网 IP

比如加一行 192.168.1.1 example.com
xxb
2022-04-06 09:26:44 +08:00
你们是不是答偏了?
楼主问的不是路由器配置吧。
使用 adguardHome 自建 dns 服务器即可。
cwcc
2022-04-06 14:29:57 +08:00
@PolarBears 我域名很多,但是公网域名解析内网地址的话内网拓扑就会暴露,显然不符合数据安全措施。
cwcc
2022-04-06 14:30:34 +08:00
@xxb 是的,就是在自建 DNS 服务器上做文章,路由器配置的话都是现成很明朗的。
Jinnyu
2022-04-06 17:19:54 +08:00
用 adguard 就解决了
1. 路由上指定 dns 解析地址为 adguard
2. adguard 里指定运营商 dns 就可以了



目前我就是这么搞的
家里服务器上监听个 adguard
软路由 dns 指向 adguard (只不过我的 adguard 没有 fallback dns, 剩下的交由软路由解析)
这样局域网解析出来的 IP 都是内网的

外网访问 继续用公共 dns 解析就可以了 (frp 穿透回来+nginx 反代)
liuliangyz
2022-04-07 17:30:38 +08:00
ad 域能很好的解决你的问题!
FrankAdler
2022-04-07 20:21:04 +08:00
你可以看下一级路由的 dhcp 设置里是否有本地域名这个选项。
填个想要的域名比如 baidu.io ,那局域网内 hostname 为 work 的用 work.baidu.io 就可以访问了。
openwrt 是基于 dnsmasq 所以是有的,tp 我不确定,如果没有可以内网搭一个 dnsmasq 代替 tp 的 dhcp 。
FrankAdler
2022-04-07 20:22:01 +08:00
更改 dhcp 后需要重启这之前的服务网络,让他走新的 dhcp 服务器
FrankAdler
2022-04-07 20:25:29 +08:00
另外默认的 dhcp 过期是 12 小时,建议缩短到 1 小时,不然 dhcp 服务重启后会有短时间的解析失败
flynaj
2022-04-11 09:28:34 +08:00
主路由换成 openwrt 就可以,默认不用设置什么就可以用了,默认域 lan

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/845108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX