于Linux服务器跟Docker环境里的运维工作当中,DNS也就是域名系统,常常会被视作为网络配置里的“隐形基石”。

要是我们于/etc/resolv.conf里设置nameserver,或者在Nginx容器之中借助域名对后端服务进行反向代理时,DNS的稳定性以及解析速度直接就决定了业务的可用性以及用户体验。

一旦 DNS 解析出现故障,那么,在较轻的程度上讲,会致使云服务器没有办法借助域名去访问自身的服务,而在较重的程度上而言,会使得整个集群对外进行提供的 API 接口全部陷入瘫痪状态。

针对不同的用户群体来进行网站部署,对于DNS服务商的选择,要结合服务器的物理位置,还要结合目标用户的分布情况,进行综合的考量。

倘若您的云服务器是部署于阿里云国内节点的,而目标用户同样是在国内的,那么选取DNSPod或者阿里云解析会是技术层面的最优解决办法的,这是由于它们跟国内主流ISP的Local DNS是存在深度优化情况的,智能解析是能够精准地返回电信、联通、移动的分线路IP的。

反过来讲,要是您的业务在像 Linode 或者 DigitalOcean 这种海外 VPS 上运行,并且是面向全球用户的,那么就应该优先去考虑像 Cloudflare 还有 Amazon Route 53 这样支持 Anycast 技术的国际 DNS 服务,以此来借助其全球覆盖的节点降低递归查询延迟。

以下会结合Linux运维实战方面的经验,在针对国内外主流免费DNS服务时,展开深度的技术层面的拆解,还会给出配置可以落地实施的方案。

国内生产级 DNS 解析服务

1. DNSPod

于国内 DNS 解析领域而言是具有开创性的存在,DNSPod 自 2006 年起始,凭借其“立即产生效果”以及“毫无限制地增添记录”这些特质而成了运维工作者优先选择的对象。

于Linux相关环境呀,不论您已基于Docker去运转了数目众多多个这类微服务容器 ,DNSPod针对此情形都能够较为轻松实现对成百再加上上千个这样的域名记录予以托管操作的哈。

其所供应的 D 监控服务,对高可用架构而言是极为关键的,在主服务器出现宕机状况时,D 监控能够自动把解析转换至备用 IP,达成分钟级别的故障转移。

进行配置之际,仅仅需于域名注册商那里,把 NS 记录朝着 DNSPod 所给到的地址进行指向就行,解析记录作出修改,一般在 60 秒之内于全球达成生效,极其适配 DevOps 高频发布的需求。

2. 阿里云解析

仰仗阿里云规模巨大的基础设施,它免费的 DNS 适配 A、CNAME、TXT、MX 等标准记录,还针对中国繁杂的网络环境给出了精确的线路拆分。

当在Linux服务器那儿对邮件服务予以配置之际,准确无误地去设置SPF(也就是TXT记录)以及MX记录属于防止邮件被拒收的那个关键要点。

应予以留意的是,阿里云免费版解析针对海外 IP 的解析策略曾出现过变动,要是您是于海外 ECS 上部署面向国内的服务,那么在购买之前建议借助 dig 命令来测试不同线路的解析结果,以此保证海外节点能够正确返回 IP。

国际通用型免费 DNS

1. Cloudflare

倘若您所管理的是针对全球范围内用户的网站,Cloudflare 乃是无法避开的名称。

于Linux运维期间,我们通常并非仅仅运用其CDN功能,而是更加注重其身为DNS权威服务器时的稳定性。

Cloudflare 具备着规模巨大的 Anycast 网络,它的 NS 服务器在全球范围内广泛分布。

就算您并不需要 CDN 加速,在添加上域名之后,也能够仅仅去使用它的 DNS 服务。

借助 API,对于运维人员而言,可以去编写用于动态更新 DNS 记录的脚本,而这种情形在和动态 IP 的办公网络相配合,或者说是在应用于临时测试环境的时候是极为实用、具有不小价值的。

2. Linode DNS

域名DNS服务商推荐_DNS域名解析服务_免费DNS域名解析服务

Linode 身为知名的海外 VPS 提供商,它会免费给所有用户提供 DNS 托管服务,哪怕这些用户并未购买其主机,是的。

它所给出的五台 NS 服务器,分布于欧美地区,还分布在亚太地区,适宜部署在海外数据中心的业务。

在Linux环境当中进行配置之际,您仅仅需要保证域名于注册商那里指向像ns1.linode.com这类的节点,之后在Linode后台添加域名解析就行。

针对外贸电商网站,或者是面向特定海外市场的应用而言,Linode DNS的响应速度极其稳定。

CDN 厂商衍生的 DNS 与专用 DNS

1. 百度云加速 / 360 网站卫士

其安全加速解决方案的入口,本质上是这类由国内 CDN 服务商所提供的免费 DNS。

针对部署于 Nginx 之上的网站,借助接入那些 DNS 并且开启防护,能够有效地拦截常见的 Web 攻击。

配置方式一般存在两种情况,其一为NS接入,也就是把域名NS记录朝着对方进行指向,其二是CNAME接入,这是要在原本的DNS之上给域名增添CNAME记录。

就个人站长而言,或者对中小企业来讲,这是一种能以低成本获取基础安全防护的方式。

2. DNSLAF

这是在韩国具有知名度的免费 DNS 服务,它成立的时间是 2004 年,其稳定性表现极其良好。

于Linux服务器开展配置之际,添加解析记录之后,一般在几分钟的范围之内便可达成。

它具备英文界面的支持,适宜于存在韩国用户的情况,或者是业务部署于东北亚地域的场景。

Linux 运维中的 DNS 检查与排错

无论选择上述哪种服务,上线前的测试必不可少。

在 Linux 服务器这儿,我们经常性地运用 dig 或者 nslookup 命令去开展诊断。

# 指定 DNSPod 的 NS 服务器查询解析
dig @f1g1ns1.dnspod.net yourdomain.com
# 查询 MX 记录
dig yourdomain.com MX
# 使用 ping 或 curl 测试解析后的 IP 连通性
ping -c 4 yourdomain.com

要是碰到解析延迟这种情况,或者出现不一致的状况时,那就应当去检查云服务器的那个,名为 /etc/resolv.conf 的文件,以此来确认本机递归 DNS 的设置是不是合理。

对于Docker容器,启动之时,能够借助--dns参数,去指定容器的DNS服务器,以此防止容器继承宿主机的配置,进而引发解析异常。

总体而论,于Linux以及云原生的环境状况之中,挑选DNS服务必须依照“用户就近、线路智能、操作可控”这样的准则。

对于国内相关业务而言,首先应当选择的是DNSPod或者阿里云,这是依托于它们本身所具备的强大的分线路解析能力;而针对于国际业务来讲,则是需要考虑Cloudflare或者Linode DNS,以此来利用全球节点所拥有的优势。

把规范的运维流程运用起来,再借助 dig 这类工具加以验证,这样才能够保证从域名到服务器的链路不存在任何差错。