《DNS稳定保障系列1--服务双保障“辅助DNS”产品介绍》
2016 年 10 月 21 日,DNS 服务商 dyn 的服务器遭遇黑客大流量的 ddos 攻击,使得美国大量互联网公司如 twitter,github等都出现解析失败,无法提供服务。如下图可见,该事件造成了美国东海岸的网络瘫痪,媒体当时形容此次危机为“史上最大DDoS攻击”。该事件影响及其恶劣,直接对人们的生活造成了影响,唤起了广大互联网用户对 DNS 稳定性的重视。
2016 年 10 月 21 日,DNS 服务商 dyn 的服务器遭遇黑客大流量的 ddos 攻击,使得美国大量互联网公司如 twitter,github等都出现解析失败,无法提供服务。如下图可见,该事件造成了美国东海岸的网络瘫痪,媒体当时形容此次危机为“史上最大DDoS攻击”。该事件影响及其恶劣,直接对人们的生活造成了影响,唤起了广大互联网用户对 DNS 稳定性的重视。
一个使用 Golang 构建的轻量级 CAN 管理服务:CAN-Bridge。作者把复杂的 CAN 配置、端口初始化、状态检测、报文收发封装成 HTTP API,不用再写脚本和记 SocketCAN 指令,还支持自动恢复、Prometheus 监控和容器化部署。适合机器人、工业控制、车载设备等场景做稳定化改造。
本文深入复盘了一次完整的产品重构过程,明确了重构的时机和阶段性目标。重构中主要解决了架构混乱、性能瓶颈和用户体验不佳等问题。具体操作包括重构代码模块、优化数据库查询、引入缓存机制,并通过用户行为数据来调整功能细节。作者还提出了应对重构风险的方法,如建立测试闭环、逐步发布和快速响应用户反馈,以确保重构效果和产品稳定性。
给某大厂的技术新人做了一个关于产品思维的分享,提前收集了一些困惑,贴几条提及最多的,稍微聊一下。
哦对了,先帮产品说句话——技术同学,千万别简单地用“那个产品是傻X”来回答以下问题。这是因为,作为技术,如果你总觉得和你配合的产品都是傻X,那大概率,别人会觉得你也是——要不然,为什么选择与傻X共事?所谓 “若,我看周围皆傻X,料,世人看我亦如是”。
在分布式系统中,由于有多个机器(进程)在一起协调工作,于是如何定义分布式系统中事件的先后顺序就成了难题,本文介绍论文 《Time, Clocks, and the Ordering of Events in a Distributed System》中提到的Lamport时钟。
在本地的局域网上建立 DNS 解析服务可以显著地改善 DNS 的安全性:所有的 DNS 查询将由可以信任的本地 DNS 解析服务进行验证,而不是简单地相信一台不受控的远程服务器通过 UDP 提供的应答。
当我第一次知道 DNS 时,我想它应该不会很复杂。不就是一些存储在服务器上的 DNS 记录罢了。有什么大不了的?
但是教科书上只是介绍了 DNS 的原理,并没有告诉你实际使用中 DNS 可能会以多少种方式破坏你的系统。这可不仅仅是缓存问题!
所以我 在 Twitter 上发起了一个提问,征集人们遇到的 DNS 问题,尤其是那些一开始看起来与 DNS 没什么关系的问题。(“总是 DNS 问题”这个梗)
我不打算在这篇文章中讨论如何解决或避免这些问题,但我会放一些讨论这些问题的链接,在那里可以找到解决问题的方法。
有些时候,使用远程控制能够简化不少运维和操作的事情。本篇文章分享如何通过开源工具 “Urch(Ubuntu Remote Control Helper)” 让 Ubuntu 原生的远程控制(远程桌面)功能稳定可靠。方案已经经过 Ubuntu 22.04 LTS 和最新版本的 Ubuntu 22.10 两个版本的验证。
日志成本控制主要有如下几个维度:- 减量:去掉没有意义的无效日志,只打印关键日志。- 减周期:尽可能减少日志存储的时长。- 转低频:低频相较于标准存储,可降低 6 0%--70%的成本。- 慎开全文索引:全文索引将会把所有日志全部索引一遍,并且这个存储是未压缩的存储,如果开启全文索引,则存储往往会比不开的存储高出 4--10 倍。
本文从纯粹的技术原理角度简介加密SOCKS5信道中防DNS泄露的问题,不涉及其它。
初代SOCKS5协议本身不包含加密机制,但现实世界中有许多加密SOCKS5实现。现代浏览器及相应Proxy插件普遍支持远程DNS解析,DNS泄露得到相当程度的阻止。但是,这样不足以彻底阻止DNS泄露。比较理想的状态是本机所有DNS解析请求都走加密SOCKS5信道,对此至少有两种现成的开源实现,Tor-DNS与DNS2SOCKS,自行放狗。
缺省情况下,Tor-DNS侦听53/UDP,收到DNS请求后做某种处理再发送到Tor SOCKS5 Proxy侦听的9050/TCP,由后者设法进行加密后的远程DNS解析,以此对付DNS泄露。
Tor-DNS用Go语言编写,第一次看Go代码,语法都不了解,全凭其他语言经验瞎猜。起初不想猜,让ChatGPT给我翻译成Python,未能如愿,后来硬着头皮看Go代码,大致看明白了。
最近看到了一个github的项目,分析过后觉得里面无论是代码还是界面都很好看,然后开始研究其代码。
这篇文章主要分析其如何实现的辅助窗口的实现,其用到的东西有minihook+DirectX11(9) Hook+imgui。