Clash DNS的运行特点
本篇文章着重记录Clash.meta/mihomo的DNS运行特点(如DNS缓存状况、fallback机制等),作为备忘录使用。 乐观缓存 Clash的DNS拥有乐观缓存机制,测试时Clash提供了一个过期了24个小时的记录,其TTL为1(1秒),并且在提供过期记录之后触发了DNS记录更新,在下次解析时则为没过期的内容。 根据配置文件,Clash应该没有持久化保存DNS缓存的机制,即在Clash重启或关闭后缓存就会丢失。 乐观缓存目前是无法关闭的。 Fake-ip 使用Fake-ip响应DNS解析时Clash不会在日志中显示解析记录。 有些互联网连接不支持使用Fake-ip,所以需要利用fake-ip-filter字段将这些连接切换为普通的真ip模式(redir-host)。 Fallback DNS的fallback组和nameserver组通常是并发解析的,即同时使用这两个组解析域名,这是为了防止DNS污染,这也是使用Clash时有DNS泄露的原因,并不是BUG或漏洞,这是正常现象。 1234567891011fallback-filter: geoip:...
细说透明代理
之前在《什么是软路由?硬路由又是什么?都有什么特点?》中提到了一点透明代理,现在就再展开讲讲这个透明代理在科学上网中发挥的作用。
TLS的最后一片拼图:ECH
在准备写上一篇《反代加速的秘密》时想起域前置和ECH很像,于是就决定再写一篇ECH的。 之前我看到了Cloudflare的一篇文章,文章提到了之前的关闭的ECH功能重新开放了,我还以为这是灰度测试,可能要很久才能对我的博客开放,毕竟一段时间前ECH的开关还是不可用的状态。去Cloudflare控制面板一看,ECH的开关好像是找不到了,是默认开启了?我用开启浏览器的ECH访问一下,果然,Clash的控制面板里已经看不到teapotium.com了,反而多了一个cloudflare-ech.com。 ECH的用途是? SNI,服务器名称指示(Server Name Indication),CDN服务器利用SNI的内容决定向客户端发送哪一个网站的证书,简单来说就是CDN利用SNI的内容确定你要访问的是哪一个网站。 ECH全称 Encrypted Client Hello ,ECH是为了解决TLS流量中明文SNI带来的隐私问题,ECH和它的前辈ESNI不同,ESNI只加密了SNI,而ECH则加密了包括SNI在内的整个Client...
反代加速的秘密
反代加速软件究竟是怎么做到不需要代理服务器就可以访问被屏蔽的网站?
[DNS] 6. DNS泄露是怎么一回事?
折腾DNS的时候没少听说过这个吧?不要怕!本文带你正确认识DNS泄露。
[DNS] 5. DNS如何找到离你最近的结果?
将DNS系统简化后就变成了客户端 - 递归解析服务器 - 权威域名服务器三者之间的关系,权威域名服务器是如何隔着递归解析服务器找到最接近客户端的结果呢?
[DNS] 4. DNS的递归与迭代
想要将一份DNS记录播撒到全世界还是有些难度的,虽然域名解析的在表面上只是回答某一域名的IP,但是在内部却有一套截然不同的运行逻辑。在表面上,直接提供指定域名的IP被称为递归解析,而按照域名的层级在多台服务器间获取结果的过程则称为迭代解析。
[DNS] 3. DNS的结果类型
根据域名管理者的配置,DNS服务器会提供各种类型的响应,响应结果称为记录,一些域名会拥有不同类型记录的解析结果,这是一些常见的记录类型。
[DNS] 2. DNS的请求方式
DNS解析都能靠什么方式?DoT?DoH?DoQ?这些都是什么?
[DNS] 1. 什么是DNS?
DNS是使用互联网无法避免的存在,想要折腾好DNS,了解DNS是必要的。那么究竟什么是域名解析?它很重要吗?