IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:DNS

共 41 篇相关文章

IT 累计浏览 25

解析到本地127的神奇域名

本文探讨了 Web 本地开发中,除 `127.0.0.1` 与 `localhost` 外,可专门解析到本地回环地址的实用域名及其应用场景。作者梳理了多个稳定可用的选项:**localhost** 及其子域名作为 IETF 官方规范,通用性最强;**lvh.me** 因其极短长度和泛域名支持,成为日常开发优选;**nip.io** 及其 **local.gd** 服务则提供了基于 IP 生成域名的灵活方案;此外还有如 **fbi.com** 等趣闻域名。这些本地域名主要解决了使用纯 IP 地址开发时面临的局限:它们能更好地模拟真实环境,支持 **Cookie 的子域名共享**;满足 OAuth 等服务商要求必须使用域名作为回调地址的强制规定;在同时开发多项目或多租户系统时,能通过清晰的子域名(如 `project-a.lvh.me`)进行区分,避免端口号混乱;同时也有助于构建与生产环境一致的多模块(如 admin、api)访问结构,实现代码逻辑的无缝迁移。

IT 累计浏览 32

Linux 桌面系统故障排查指南(五) - 网络

这篇文章系统性地剖析了Linux桌面网络的完整架构与故障排查方法,涵盖从硬件驱动到应用层的全链路。核心内容围绕现代网络管理组件systemd-networkd、iwd和systemd-resolved展开,详细说明了有线与无线连接的建立流程,并提供了具体的命令行工具进行状态查看与管理。 文章深入讲解了IPv4/IPv6双栈的工作机制与配置验证,特别指出了glibc的getaddrinfo()函数及/etc/gai.conf配置文件如何决定协议优先级。针对网络故障,提供了一套从检查网卡驱动、链路状态到验证IP配置、DNS解析的系统化诊断流程,并列举了常见问题的解决方案。 此外,文章介绍了基于nftables的现代防火墙配置,通过具体的规则集示例展示了如何设置网络访问策略。整体内容层次清晰,将复杂的网络系统分解为可操作的排查步骤,为解决桌面网络问题提供了实用的技术参考。

IT 累计浏览 3,315

使用DNSPOD的API实现动态域名

这篇讲的是如何通过 DNSPOD 的 API,一步步搭建自己的动态域名解析(DDNS)服务。作者从实际操作出发,解决的是家庭网络等场景下,公网 IP 变动导致域名指向失效的问题。 文章的核心方案非常清晰:利用 DNSPOD 提供的 HTTP API,通过脚本自动获取当前外网 IP 并更新 A 记录。作者详细拆解了七个关键步骤,其中特别强调了容易踩坑的地方,比如生成的 Token 必须是 “ID,Token” 的组合格式,以及如何正确获取域名和子域名的 Record ID。 整个实现思路巧妙地结合了 `nc` 命令获取 IP 和 `curl` 调用 API,并最终封装成一个 Shell 脚本,配合 crontab 定时任务(例如每 15 分钟一次)即可实现全自动化。这为需要稳定域名指向动态 IP 的技术人员提供了一个轻量、可靠的自建方案。

IT 累计浏览 3,521

救命!我的电子邮件发不到 500 英里以外!

这篇讲的是一个听起来像都市传说,却又真实得令人哭笑不得的邮件故障。作者接到统计系主任求助,对方煞有介事地表示:“我们的邮件发不出520英里。”经过一番测试,问题居然是可复现的,近的纽约能到,远的波士顿就失败。 排查最终指向了一个看似“打补丁”的维护操作。服务顾问在升级服务器OS时,不慎将系统自带的Sendmail 8降级回了老版本的Sendmail 5。新的sendmail.cf配置文件中许多高级选项被旧版程序当作“垃圾”跳过,其中就包括SMTP连接超时——它被默认设成了0。作者通过计算发现,在0毫秒超时下,数据包依靠光速所能传播的极限距离,恰好就是这500多英里。一个系统配置的乌龙,竟意外地与物理定律产生了美妙的巧合。这个故事不仅是个绝佳的故障排查案例,也提醒着每一次“例行维护”都可能埋下意想不到的彩蛋。

IT 累计浏览 3,257

最萌域名.cat背后的故事:加泰与西班牙政府的暗战

这篇讲的是一个看似可爱的互联网域名,如何成为一场政治文化暗战的缩影。 文章从全球猫奴都渴望的“.cat”域名切入,但它并非开放注册——这个“最萌”顶级域名在2004年被授予给了西班牙的加泰罗尼亚自治区,由非营利机构puntCAT严格管理,仅限用于加泰罗尼亚语网站,旨在保存和强化本土文化认同。 核心的冲突在于,这种对“本土”的强调,与西班牙中央政府的统一意志产生了激烈碰撞。当加泰罗尼亚推动独立公投时,语言和网络空间成了没有硝烟的战场。文章详细记述了西班牙警方突袭puntCAT办公室、逮捕其IT负责人,并要求其停止为独立公投相关域名提供解析服务的事件。电子前沿基金会(EFF)对此行动提出了尖锐质疑。 作者通过这个案例提出了一个深刻的观察:在技术领域,域名管理看似中立,实则能成为维护文化独特性或推行统一政策的工具。文章结尾做了一个大胆的推测——若加泰罗尼亚运动被镇压,.cat域名可能被全球开放注册,这虽会是猫奴的盛宴,却也意味着一种文化表达空间的消逝。这个从技术政策延伸至地缘政治的故事,揭示了互联网资源背后复杂的权力博弈。

IT 累计浏览 6,231

什么是DNS劫持和DNS污染?

你可能遇到过这样的怪事:输入正确的网址却跳到运营商广告页,或者明明翻了墙某些网站依然打不开。这些问题的共同根源往往是网络层面的DNS干扰。这篇技术讲解就厘清了其中两种最常见、但原理不同的手段:DNS劫持与DNS污染。 文章的核心在于对比。DNS劫持,可以理解为“结果被篡改”。它发生在DNS服务器层面,攻击者或运营商控制了服务器,直接修改了域名对应的IP地址。你的查询请求是真实的,但收到的回复是假的,导致你被引导到错误的网站。其典型症状是首次拨号上网时总会弹出运营商的门户页面。 而DNS污染,更像“过程被污染”。它利用DNS查询基于不可靠UDP协议的特点,在数据传输的途中进行拦截和伪装。当你的查询请求途经被监控的节点时,系统会提前伪造一个虚假的IP地址返回给你,根本无需你的请求到达真正的DNS服务器。这通常用于实现对特定境外网站的封锁。 因此,它们的应对策略也不同。对于DNS劫持,修改本地DNS服务器地址为公共DNS(如文章中列举的阿里DNS、114DNS等)是直接有效的解决方法。但对于工作在传输层的DNS污染,单纯更换DNS往往无效,通常需要借助VPN或远程解析等更复杂的方式。 文章不仅讲清了原理,还给出了从选择公共DNS到Windows系统下手动修改的完整操作指南,是一篇从现象认知到动手解决都很完整的实用科普。

IT 累计浏览 4,629

关于http代理

这篇技术文章聚焦于一个网络基础问题:当使用HTTP代理时,目标域名的DNS解析究竟发生在用户客户端,还是代理服务器上?作者从两种典型的代理工作模式展开分析,厘清了其中的关键差异。 第一种是直连模式,常用于HTTP请求,代理服务器直接接收客户端发送的完整URL并转发,因此域名解析由代理服务器完成。第二种是CONNECT隧道模式,主要用于HTTPS,客户端先与代理建立TCP通道,随后在通道内进行TLS握手,此时代理服务器同样负责解析目标域名。 为了验证这一点,作者进一步使用Golang编写了测试代码,并设置环境变量来配置代理。测试结果表明,无论是HTTP还是HTTPS请求,Golang的标准库实现与curl的行为一致,域名解析都发生在代理服务器端。文章还揭示了一个有趣的实现细节:在Golang处理HTTPS请求时,代理的CONNECT握手与后续的数据传输是在不同的线程中完成的。 通过对比和代码验证,这篇文章清晰地解释了不同代理场景下的底层行为,对于理解代理工作机制、进行相关调试或开发都有直接的参考价值。

IT 累计浏览 4,512

加速WEB访问:使用DNSmasq与squid代理并过滤广告

这篇讲的是在 CentOS 上搭建一套兼具加速与净化功能的网络网关方案。核心在于结合 DNSmasq 和 Squid 这两个经典工具,实现从 DNS 解析到网页访问的全链路优化。 作者首先配置了 DNSmasq,不仅利用其缓存功能加速域名解析,还通过定制化的地址记录,将常见广告域名指向本地,从源头拦截了大量广告请求。随后,详细讲解了 Squid 代理的安装与配置,重点区分了需要客户端手动设置的正向代理,和对用户完全透明的透明代理。 文章的一个实用亮点在于,指出了透明代理默认只能处理 HTTP 协议的局限性,并提供了通过开启系统 IP 转发、并配置 iptables 防火墙规则来重定向流量的完整解决方案,最终实现了无需客户端配置即可加速 HTTP 访问。此外,文章还分享了通过外部列表自动更新 Squid 屏蔽规则来持续过滤广告的脚本方法。 整体而言,这套方案能为小型网络提供 DNS 加速、网页缓存和广告过滤的多重效果,对于希望低成本提升内部网络体验和纯净度的读者来说,是一个步骤清晰、可操作性强的实践参考。

IT 累计浏览 2,925

一次DNS域名解析问题排查记录

这篇讲的是一个线上服务因DNS解析异常导致调用失败的排查过程。作者从同事反馈curl调用另一个服务接口报错“couldn’t connect to host”入手,通过strace追踪发现,连接实际指向了一台实体机的IP地址,而非预期的VIP。 问题的根源在于新安装的阿里自研DNS解析软件vipserver,它错误地将域名解析到了多台实体机IP。与对方工程师沟通后进一步发现,实体机服务端口是2087,而VIP上监听的是2088,端口不匹配直接导致了连接失败。排查中还发现了一个“隐形干扰者”——nscd的DNS缓存。清空缓存后,之前“正常”的机器也暴露出问题,这解释了为何集群内部分机器表现不一。 最终的处理是暂时关闭vipserver,等待对方完成配置修正。这个案例清晰地展示了,当引入新的服务发现组件时,对解析链路、缓存机制以及上下游端口配置进行同步验证是多么必要。

IT 累计浏览 15,879

从输入 URL 到页面加载完成的过程中都发生了什么事情?

这篇文章详细拆解了“输入URL到页面加载”这个经典问题的前两个环节,其独特之处在于从最底层的硬件交互开始讲起,串联起了整个技术栈。 作者从用户触摸屏幕的那一刻说起,解释了电容触摸屏如何将物理动作转换为电信号,通过I²C总线传递给CPU。在CPU内部,信号经过晶体管和逻辑门电路,最终触发操作系统的中断机制。以Android为例,内核驱动将触摸事件写入设备文件,再由系统的GUI框架(如EventHub)分发给前台应用,也就是浏览器。 当事件到达浏览器后,文章揭示了其中一些不为人知的优化。例如,Chrome会根据用户输入历史进行“预预测”,在按下回车键之前就可能开始建立网络连接或渲染,以加速页面显示。文章后续部分显然还会继续剖析网络请求、DNS解析等后续流程。 这篇长文并非只为面试准备,而是旨在建立硬件、操作系统与软件之间的关联认知。作者在文中推荐了从《编码》到《Linux内核设计与实现》等多本经典著作,适合希望深入理解计算系统工作原理的读者。

IT 累计浏览 1,828

简易云端Hosts的构建

这篇文章讲的是如何应对DNS解析故障并构建一个简单的“云端Hosts”方案。作者从之前席卷全国的DNS故障事件切入,指出一些移动应用之所以不受影响,是因为它们绕过了DNS,直接通过云端维护的域名-IP映射进行连接。 文章的核心是探讨在多机房、多线路的复杂网络环境下,如何为客户端智能地选择最佳服务器。作者没有采用需要复杂测速系统的“智能”方案,而是提出了一种更简易的思路:利用IP库判断用户地理位置,通过预存的城市经纬度数据,计算与各机房直线的物理距离,从而选出同线路中最近的机房。这个过程巧妙地通过IP直接访问谷歌地理编码API,避开了服务被墙的问题。 此外,文章在结尾还提供了一个实用的排错技巧:教你如何使用 `dig` 命令的追踪功能,通过观察DNS查询返回的层级是否完整,来判断是否遭遇了DNS污染。整个方案追求“差不多够用”的实用主义,思路清晰且可操作性强。

IT 累计浏览 1,858

Chrome清除dns缓存

这篇讲的是如何快速清理 Chrome 浏览器的本地 DNS 缓存。作者从 DNS 缓存的工作原理切入,指出 Chrome 会通过预提取 DNS 记录来加速网站连接,并内置了一个便捷的查看地址:在地址栏输入 `about:DNS`,就能直接看到当前存储的本地缓存记录。 当遇到网站解析异常、访问某些站点时 IP 指向错误,或者进行本地开发调试需要即时生效新 DNS 记录时,一个有效的解决办法就是清除这个缓存。文章具体指出了操作路径:在地址栏输入 `chrome://net-internals/#dns`,进入网络内部信息面板后,点击页面上方的“Clean host cache”按钮即可完成清理。 整个方法非常直接,不需要借助任何第三方工具或重启浏览器。对于开发者、运维人员或者经常遇到网络连接小毛病的用户来说,这算是一个实用的系统级调试技巧,能快速排除因本地缓存导致的 DNS 问题。

IT 累计浏览 8,396

2014年1月21日中国互联网DNS瘫痪事件原因分析

这篇文章讲的是2014年1月21日中国互联网大规模DNS瘫痪事件的技术剖析。作者从一个普通用户的视角出发,描述了当时所有网站都打不开的异常现象,并以通俗的“电话本”比喻,解释了DNS作为互联网基础设施的核心作用。 作者详细梳理了从用户输入网址到获得IP地址的正常DNS解析流程,并与当天故障时的实际流程进行对比:所有查询都直接返回了同一个错误IP(65.49.2.178),跳过了正常的层层解析步骤。通过分析,作者排除了全球根域名服务器自身出错的可能,将原因锁定在“DNS劫持”上——即有人伪造了根服务器的响应。 文章进一步通过追踪那个错误IP的历史关联信息,发现其与特定组织及“无界浏览器”等翻墙工具存在关联,并指出这种大规模、快速的劫持手法与GFW(防火长城)的运作机制高度一致,从而提出了事件可能由某墙导致的观点。整个分析过程层层递进,从现象描述到技术原理拆解,再到幕后推断,为读者提供了一次生动的网络故障排查案例。

IT 累计浏览 2,043

分地区访问解决方案

这篇讲的是如何通过部署Nginx反向代理,来实现高效、精确的网站分地区内容访问。文章开篇直击痛点:传统的动态页面或DNS劫持方案,要么资源消耗大,要么因用户使用第三方DNS而误判率高。作者提出,在Web服务器前加一层Nginx负载均衡器是更优选择。 具体方案利用了Nginx的GeoIP模块。配置的核心是定义一个`geo`映射表,将不同的客户端IP段(如192.168.70.64/26)映射到特定变量值(如“cnc”)。接着,通过`upstream`为每个变量值定义一组后端服务器。当请求到达时,Nginx会根据来源IP自动选择对应的变量,并将请求代理到相应的后端服务器组,实现了透明的流量分流。 文章强调了该方案的最大优点:判断精确,且对后端应用完全无侵入。同时,也客观指出了代价——需要额外的代理服务器,且单台Nginx的并发处理能力存在上限(文中实测可达4.5万/秒)。因此,作者在文末建议,在生产环境部署前,务必使用LoadRunner等工具进行全面的压力与功能测试,确保方案稳定可靠。

IT 累计浏览 13,081

自建DNS以防止GFW干扰

这篇讲的是如何通过自建本地DNS服务器,来规避GFW对DNS查询的干扰,从而恢复部分网站的访问。文章首先解释了问题根源:GFW会拦截并污染常见的UDP协议DNS请求,导致解析结果错误。而一个有效的对策是利用TCP协议的DNS查询,因为它目前不易被干扰。 作者推荐的具体方案是,使用开源软件Unbound在本地搭建一个DNS服务器。该服务器监听本地,接收程序发出的UDP请求,并将其转换为TCP查询转发给上游公共DNS(如8.8.8.8),从而绕过污染。文章给出了在Windows系统上的详细配置步骤,包括安装、修改配置文件、重启服务,并最终将系统DNS指向本地127.0.0.1,操作性很强。 对于更进一步的安全需求,文章末尾还提到了一个升级思路:可以结合SSL加密,在境外服务器上部署Unbound作为上游,实现查询流量的端到端加密,提供了更彻底的解决方案。

IT 累计浏览 4,431

域名DNS相关术语

这篇讲的是域名与DNS世界里那些让人头大的术语。作者把 Registrant、Registrar、Registry 和 Registry Operator 这四个核心角色及其相互关系梳理得很清楚:一个是所有者(注册人),一个是代理服务商(注册商),一个是权威数据库(注册局),还有一个是运营方(注册局运营商)。这个链条一明确,很多配置和管理上的困惑就能迎刃而解。 文章接着把目光投向了域名层级本身,详细拆解了顶级域名(TLD)这个概念。它特别对比了通用顶级域名(如.com)和国家或地区顶级域名(如.cn)的根本区别:前者由 ICANN 全球协调,后者则与具体国家或地区的法律和管理体系紧密绑定。 读下来,感觉像是跟着一张清晰的架构图,走了一遍域名系统的基本骨架。对于需要与海外服务商打交道,或者想弄明白“.com”和“.cn”背后管理逻辑不同的技术人来说,这篇文章提供的准确定义和对比,是厘清思路的好帮手。

IT 累计浏览 1,710

DNSv6和DNS64简单配置

这篇讲的是如何在Linux系统上配置IPv6环境下的DNS服务,特别是DNSv6和DNS64功能。作者从上一篇DHCPv6的部署延伸出来,直指DNS作为互联网入口在IPv6时代的重要性。 文章以Bind服务为例,给出了清晰的实操路径。它从最简单的源码安装开始,然后聚焦于核心配置:如何让DNS监听IPv6地址(`listen-on-v6`指令是关键),并配置了测试用的IPv6地址段。配置过程还包括了关闭防火墙、设置SELinux等便于测试的准备工作,同时提醒线上环境需合理配置安全策略。 最终,文章提供了一个精简的主配置文件(`/etc/named.conf`)示例,让读者能快速抓住启用IPv6 DNS服务的配置要点。整体而言,这是一篇步骤明确、重点突出的配置指南,适合需要快速上手IPv6 DNS服务搭建的运维人员参考。

IT 累计浏览 6,034

DNS解析过程及DNS TTL值

这篇从DNS劫持和解析错误这些常见痛点出发,系统拆解了域名背后的运作机制。文章首先明确了全球仅13台根域名服务器的核心地位,任何域名解析都需从这里获取顶级索引。 接着,它用六个步骤清晰复现了从客户机发起请求到本地DNS服务器完成查询的全过程。其中,递归查询与迭代查询的差异被直观呈现:前者是本地DNS一路负责到底,后者则是逐级向下获取地址。 文章重点阐述了DNS TTL(生存时间)的概念——这条记录在各级DNS服务器中的缓存时长。针对域名解析IP变更后如何加速更新的问题,作者给出了一个实用的分步操作建议:先将TTL值调至最低(如60秒),等待各地缓存过期后再修改解析记录,最后恢复正常TTL。这种从理论到实践的过渡,让技术原理落到了具体操作层面。文末配合的全球根服务器分布图与解析流程图,也帮助读者建立了直观的理解。

IT 累计浏览 8,720

从谷歌宕机事件认识互联网工作原理

这篇讲的是谷歌服务曾经历的一次全球性短暂宕机,作者作为一名CloudFlare网络工程师,从亲身参与修复的角度,带读者深入了一次真实的网络故障现场。 故事从发现谷歌所有服务(甚至包括其公共DNS 8.8.8.8)无法访问开始。作者通过追踪发现,本应由谷歌自己管理的IP地址,其BGP路由路径却诡异地指向了印度尼西亚的运营商Moratel。这揭示了问题的根源:一家ISP可能因操作失误(“胖手指”),错误地向其上游提供商(电讯盈科)宣告了本属于谷歌的IP地址,而后者信任了这一宣告,导致错误路由像涟漪般扩散至全球互联网。 文章核心观点在于阐释互联网如何建立在BGP协议的相互信任机制之上,而这种信任一旦被错误信息打破,即便是谷歌这样的巨头也可能服务中断。作者最终通过业界人脉直接联系Moratel公司才得以修复问题。这给我们的启发是:可靠的网络运维不仅关乎技术,也关乎全球协作网络与及时响应能力——即使你控制不了外部路由,也必须有团队时刻监控和管理你与世界的连接。

IT 累计浏览 8,056

域名相关的一些基本概念总结

这篇技术博客系统梳理了互联网基础设施中的核心概念——DNS及其相关配置。文章从DNS(域名系统)的底层作用讲起,解释了它如何将人类可读的域名翻译为机器所需的IP地址,并特别强调了DNS服务器数量(通常至少两个)对解析稳定性的意义。 内容重点对比了A记录、AAAA记录、CNAME记录、MX记录和TXT记录等关键DNS记录类型。例如,A记录直接将域名指向IPv4地址,而CNAME则为域名创建别名,便于管理;MX记录专用于指定邮件服务器,是搭建企业邮箱的关键;TXT记录则常用于SPF反垃圾邮件验证。文章还厘清了子域名、泛解析(覆盖所有未定义的子域名)与域名绑定(将域名关联到特定服务器空间)之间的区别与应用场景。 对于需要管理域名的开发者或运维人员而言,理解这些概念的差异和适用条件,能更精准地完成网站部署、邮件服务配置或流量调度,避免常见的配置疏漏。