有什么问题:
- dig、nslookup 可以使用 PiHole dns 服务器解析域名
- ping、浏览器等都无法
我尝试做的是:
- 重启 :d
- 刷新缓存 (
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
) - 从注册器中添加/删除通配符条目
- 使用二级域名或子域名(hmwsl.de 与 int.hmwsl.de)
- 在网络设置中除 DHCP 之外添加 DNS 服务器条目
sudo networksetup -setdnsservers "Wi-Fi" 192.168.69.10
这有效
因此,当前面临的问题是:
- 为什么 DHCP 提供的 DNS 解析器不够用?
dscacheutil
和朋友究竟是如何工作的?
我想要的是:
- 从远处或从家庭 LAN 访问我的 raspberry-pi 服务
- 使用单个域名(带有子域名)来简化使用 Authelia 的身份验证
- 有一个 Authelia 实例
- 使用正确的 Let's Encrypt 证书
- 使用 Traefik 作为反向代理
我做了什么:
- 有一个域名
- 设置 Traefik、Authelia 和一些服务(它们与 Avahi 的 .local 域名配合使用)
- 使用通配符 DNS 条目为域设置 PiHole(见下文)
这是怎么回事:
Dig 和 nslookup 解析(通配符)域:
➜ dig foo.int.hmwsl.de
; <<>> DiG 9.10.6 <<>> foo.int.hmwsl.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2173
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;foo.int.hmwsl.de. IN A
;; ANSWER SECTION:
foo.int.hmwsl.de. 0 IN A 192.168.69.10
;; Query time: 40 msec
;; SERVER: 192.168.69.10#53(192.168.69.10)
;; WHEN: Tue Jul 18 15:11:12 CEST 2023
;; MSG SIZE rcvd: 61
➜ nslookup bar.int.hmwsl.de
Server: 192.168.69.10
Address: 192.168.69.10#53
Name: bar.int.hmwsl.de
Address: 192.168.69.10
但是 ping 和 Mac 实用程序没有:
➜ ping foo.int.hmwsl.de
ping: cannot resolve foo.int.hmwsl.de: Unknown host
➜ dscacheutil -q host -a name foo.int.hmwsl.de && echo end
end
❯ dns-sd -q foo.int.hmwsl.de
DATE: ---Tue 18 Jul 2023---
15:15:07.504 ...STARTING...
Timestamp A/R Flags IF Name Type Class Rdata
15:15:07.505 Add 40000002 0 foo.int.hmwsl.de. Addr IN 0.0.0.0 No Such Record
^C
我认为我的本地 DNS 配置正确:
➜ scutil --dns
DNS configuration
resolver #1
nameserver[0] : 192.168.69.10
nameserver[1] : 62.233.233.233
nameserver[2] : 8.8.8.8
if_index : 12 (en0)
flags : Request A records
reach : 0x00020002 (Reachable,Directly Reachable Address)
从 raspberry-pi 进行 ping 操作也可以正常进行:
$ ping baz.int.hmwsl.de
PING baz.int.hmwsl.de (192.168.69.10) 56(84) bytes of data.
64 bytes from pi-hole.int.hmwsl.de (192.168.69.10):
PiHole 中的相关条目:
$ cat pi-hole/etc/dnsmasq.d/02-local-wildcard-dns.conf
address=/int.hmwsl.de/192.168.69.10
答案1
任何 iOS/macOS 设备都存在同样的问题。我正在使用 Synology DNS 服务器,也遇到了同样的问题!Windows 系统没有问题!
变得疯狂