我一直在使用 DNSMasq 设置 LAN DNS 服务器来转发我的网络服务器,该服务器目前具有 https 并由我的路由器进行端口转发。我注册了一个域,可以从我的 LAN 外部很好地解析,并且我一直在解决源自 LAN 的请求的 NAT 环回问题。在exausting之后花了足够的时间拉头发ifconfig
,dig
我打开firefox Nightly(98)发现我在地址栏中的域名很好地解决了一个https请求,现在有点松了一口气,我不知道为什么会这样。
dig mydomain.local 似乎与为我的服务器所在的私有 IP 返回的 A 记录正常工作:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> mydomain.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6363
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mydomain.local. IN A
;; ANSWER SECTION:
mydomain.local. 0 IN A 192.168.0.29
;; Query time: 3 msec
;; SERVER: 192.168.0.29#53(192.168.0.29)
;; WHEN: Sun Jan 16 22:33:18 AST 2022
;; MSG SIZE rcvd: 58
并且 IP 确实按预期解析和提供网站内容
我一直在做一些 dnsmasq 的基本配置,这里是我在dnsmasq.conf
domain-needed
bogus-priv
no-resolv
server=8.8.8.8
server=8.8.4.4
local=/localnet/
address=/mydomain.local/192.168.0.29
domain=localnet
并且主机文件包含
192.168.0.29 mydomain.local
我已经清除了 Chrome 的本地 dns 缓存,chrome://net-internals/#dns
但没有任何改变,所以此刻我想知道 chrome 在这方面与 firefox 有何不同。
Chrome 不仅需要一个可以在 上完成的 dns 缓存刷新
Chrome: chrome://net-internals/#dns
,它还需要一个套接字池的刷新。所以去chrome://net-internals/#sockets
点击flush socket pools
修复了这个缓存问题。Chrome 有自己的 DNS 缓存,与其他浏览器是分开的。这可以解释为什么其他浏览器没有问题。如果您想清除 DNS 缓存并使其影响 Chrome,请转到 Chrome 中的以下页面:chrome://net-internals/#dns
单击“清除主机缓存”按钮。