Sne*_*ike 3 dns https pihole cloudflare doh
我正在使用 pihole 和 Quad9 DoH 的上游 DNS 服务器。上游 DNS 和 pihole 通过 docker 配置docker-compose.yml file,上游 DoH 服务器使用cloudflared服务。
version: "3.5"
networks:
network-pihole:
name: "dns-pihole"
driver: bridge
ipam:
driver: default
config:
- subnet: 192.10.0.0/24 #Internal Docker Network between pihole and wirguard, bridged
cloudflared:
image: crazymax/cloudflared:latest
container_name: cloudflared
ports:
- '5053:5053/udp'
- '5053:5053/tcp'
environment:
- "TZ=Europe/Budapest"
- "TUNNEL_DNS_UPSTREAM=https://9.9.9.9/dns-query,https://149.112.112.112/dns-query"
# - "TUNNEL_DNS_UPSTREAM=https://1.1.1.1/dns-query,https://1.0.0.1/dns-query"
restart: unless-stopped
networks:
network-pihole:
ipv4_address: 192.10.0.2
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
- "443:443/tcp"
environment:
- "TZ=Europe/London"
- "PIHOLE_DNS_=192.10.0.2#5053"
dns:
- 127.0.0.1
- 9.9.9.9
# Volumes store your data between container upgrades
volumes:
- "./etc-pihole/:/etc/pihole/"
- "./etc-dnsmasq.d/:/etc/dnsmasq.d/"
cap_add:
- NET_ADMIN
restart: unless-stopped
networks:
network-pihole:
ipv4_address: 192.10.0.3
Run Code Online (Sandbox Code Playgroud)
在环境下的cloudflared服务内: . 我将设置设置为. 以及dns: to下的pihole服务。TUNNEL_DNS_UPSTREAM=https://9.9.9.9/dns-query,https://149.112.112.112/dns-query9.9.9.9
一切都很好,但是当我浏览到这个和这个cloudflare 检查器时,它说我没有通过 https / secure dns 使用 dns:
但是,如果我使用 cloudflares DoH,我将设置设置TUNNEL_DNS_UPSTREAM=为TUNNEL_DNS_UPSTREAM=https://1.1.1.1/dns-query,https://1.0.0.1/dns-query并将pihole服务设置为dns: to 1.1.1.1,然后再次运行两个 cloudflare 测试,它现在显示:Using DNS over HTTPS (DoH) yes和绿色勾号表示 secure dns。
我不确定为什么这些测试不适用于 Quad9 DoH。还有其他方法可以验证我是否使用 Quad9 DoH 吗?
我什至不确定是否可以使用wireshark来查看数据包以查看dns查询是否已加密?我对wirehshark很陌生,所以如果这是验证Quad9 DoH的方法,那么我不确定我会寻找什么。
\n\n一切都很好,但是当我浏览到这个和这个 cloudflare 检查器时,它说我没有通过 https / secure dns 使用 dns:
\n
一般来说,Cloudflare 检查器无法知道您是否使用基于 HTTPS 的 DNS。它唯一知道的是您是否专门使用Cloudflare DoH 服务。
\n该检查器的工作方式是 Cloudflare 将其服务器设置为根据查询的方式对某些域做出不同的响应。该网页实际上无法知道您的 DNS 设置是什么,而是查询一些只有1.1.1.1 才能识别的特殊域。
\n例如,如果您向 1.1.1.1 询问名称is-cf.help.every1dns.net,您将得到成功的答复,但如果您向任何其他 DNS 服务器询问相同的名称,它会说该域不存在。(同样,is-dot如果查询通过 DoT 到达,子域只会为您提供结果,并且is-doh只会通过 DoH 进行响应。)
但是所有这些神奇的子域都是 Cloudflare 特定的 \xe2\x80\x93 如果您询问其中任何一个,例如 9.9.9.9,它总是会说该域不存在,因为从全局 DNS 的角度来看它确实存在才不是。
\n\n\n我什至不确定是否可以使用wireshark来查看数据包以查看dns查询是否已加密?我对wirehshark很陌生,所以如果这是验证Quad9 DoH的方法,那么我不确定我会寻找什么。
\n
首先过滤发送到配置的 DNS 服务器的数据包。例如,如果您配置了 DNS 服务器1.1.1.1+1.0.0.1和 DoH URL https://1.1.1.1/dns-query,则您应该过滤这两个 IP 地址的捕获。
捕获过滤器(libpcap 语法):host 1.1.1.1 or 1.0.0.1
IPv6 使用相同的语法,例如host 1.1.1.1 or 2606:4700:4700::1111。
显示过滤器(Wireshark语法):ip.addr == 1.1.1.1 || ip.addr == 1.0.0.1
对于 IPv6,语法为ipv6.addr == 2606:4700:4700::1111。
明文 DNS 将立即被识别,因为明文 DNS \xe2\x80\x93 Wireshark 将向您显示每个查询和响应的实际内容。
\n同时,DoH 和 DoT 都将显示为 TLS 数据包。两者都使用相同类型的 TLS,区分它们的主要方法是查看 TCP 端口号:如果您使用 DoT,您将看到到专用“DNS over TLS”端口 853 的连接,而 DoH 使用与一般 HTTPS 相同的端口 443。
\n(这不仅仅是端口号 \xe2\x80\x93 DoH 实际上将查询放入 HTTP 请求中,而 DoT 则不然。您不会在 Wireshark 中看到这一点,因为它是 TLS 加密的,但这并不重要无论如何,为了你的目的。)
\n请注意,由于 DoH 与常规 HTTPS 没有区别(例如在浏览器中访问 https://xc2\xad/1.1.1.1 网站),因此端口 443 上存在TLS 数据包并没有多大意义 \xe2\x80\x93您还需要注意的是端口 53 上没有明文 DNS 数据包。
\n| 归档时间: |
|
| 查看次数: |
26671 次 |
| 最近记录: |