MarkSomethingDownLLS icon indicating copy to clipboard operation
MarkSomethingDownLLS copied to clipboard

DNS 信息汇总

Open moooofly opened this issue 6 years ago • 14 comments

信息列表

  • [x] 流利说 DNS 变更历史
  • [x] 全国 DNS 服务器地址查询
  • [x] 利用站长工具进行 DNS查询
  • [x] DNS Q&A
  • [x] DNS 查询类型
  • [x] HTTPDNS - 只适合移动端访问,作为pc端的话不太适合
    • [x] DNSPod HttpDNS - https://www.dnspod.cn/httpdns/guide
    • [x] 阿里云 HttpDNS - https://www.aliyun.com/product/httpdns
    • [x] CloudXNS HttpDNS - http://www.cloudxns.net/Index/HttpDNS.html
    • [x] 腾讯云 HttpDNS - https://dnspod.cloud.tencent.com/solution/httpdns
  • [x] 运营商劫持
    • DNS 劫持:一些运营商恶意分析请求的域名,返回一些错误的IP,跳转到指定广告页面或者无反应。
    • 内容劫持:在访问的网站页面追加广告代码,多在一些网站以及手机App里的HTML页面常见
  • [x] DNS 污染
    • 运营商的污染
    • 墙的污染
  • [x] 流量穿透
  • [x] 阿里公共 DNS
  • [ ] 泛域名
  • [ ] 搭建一个本地 dns 服务器
  • [ ] anycast - https://en.wikipedia.org/wiki/Anycast
  • [ ] 智能解析
  • [ ] DNS TTL
  • [ ] DNSmasq - 如果是愿意拆腾的话,在路由器或VPS上,用轻巧的DNSmasq搭个DNS服务,也是不错的做法
  • [x] Apex Domain

Related

https://github.com/moooofly/stethoscope/issues/27

  • dig
  • nslookup

其他

moooofly avatar Dec 20 '18 07:12 moooofly

流利说 DNS 变更历史

  • 客户端默认从 DNSPod httpdns 服务上获取 ip 地址列表(使用企业版
  • 将从 local DNS 获取 ip 地址列表作为一种 fallback 方案
  • 后续打打算使用 aliyun httpdns 服务

moooofly avatar Dec 27 '18 09:12 moooofly

全国 DNS 服务器地址查询

  • https://ip.cn/dns.html
  • http://tools.cloudxns.net/Index/Around

效果图

image

image


以下内容是对上图的文本梳理

  • 公共 DNS 服务器 IP 地址
名称 DNS 服务器 IP 地址 DNS 服务器 IP 地址
114 DNS 114.114.114.114 114.114.115.115
阿里 AliDNS 223.5.5.5 223.6.6.6
百度 BaiduDNS 180.76.76.76
DNSPod DNS+ 119.29.29.29 182.254.116.116
CNNIC SDNS 1.2.4.8 210.2.4.8
oneDNS 117.50.11.11 117.50.22.22
DNS 派(电信/移动/铁通) 101.226.4.6 218.30.118.6
DNS 派(联通) 123.125.81.6 140.207.198.6
Google DNS 8.8.8.8 8.8.4.4
IBM Quad9 9.9.9.9
OpenDNS 208.67.222.222 208.67.220.220
V2EX DNS 199.91.73.222 178.79.131.110
  • 全国各地电信 DNS 服务器 IP 地址
名称 DNS 服务器 IP 地址 DNS 服务器 IP 地址
安徽电信 DNS 61.132.163.68 202.102.213.68
北京电信 DNS 219.141.136.10 219.141.140.10
重庆电信 DNS 61.128.192.68 61.128.128.68
福建电信 DNS 218.85.152.99 218.85.157.99
甘肃电信 DNS 202.100.64.68 61.178.0.93
广东电信 DNS 202.96.128.86 202.96.128.166
广东电信 DNS 202.96.134.33 202.96.128.68
广西电信 DNS 202.103.225.68 202.103.224.68
贵州电信 DNS 202.98.192.67 202.98.198.167
河南电信 DNS 222.88.88.88 222.85.85.85
黑龙江电信 DNS 219.147.198.230 219.147.198.242
湖北电信 DNS 202.103.24.68 202.103.0.68
湖南电信 DNS 222.246.129.80 59.51.78.211
江苏电信 DNS 218.2.2.2 218.4.4.4
江苏电信 DNS 61.147.37.1 218.2.135.1
江西电信 DNS 202.101.224.69 202.101.226.68
内蒙古电信 DNS 219.148.162.31 222.74.39.50
山东电信 DNS 219.146.1.66 219.147.1.66
陕西电信 DNS 218.30.19.40 61.134.1.4
上海电信 DNS 202.96.209.133 116.228.111.118
上海电信 DNS 202.96.209.5 108.168.255.118
四川电信 DNS 61.139.2.69 218.6.200.139
天津电信 DNS 219.150.32.132 219.146.0.132
云南电信 DNS 222.172.200.68 61.166.150.123
浙江电信 DNS 202.101.172.35 61.153.177.196
浙江电信 DNS 61.153.81.75 60.191.244.5
  • 全国各地联通 DNS 服务器 IP 地址
名称 DNS 服务器 IP 地址 DNS 服务器 IP 地址
北京联通 DNS 123.123.123.123 123.123.123.124
北京联通 DNS 202.106.0.20 202.106.195.68
重庆联通 DNS 221.5.203.98 221.7.92.98
广东联通 DNS 210.21.196.6 221.5.88.88
河北联通 DNS 202.99.160.68 202.99.166.4
河南联通 DNS 202.102.224.68 202.102.227.68
黑龙江联通 DNS 202.97.224.69 202.97.224.68
吉林联通 DNS 202.98.0.68 202.98.5.68
江苏联通 DNS 221.6.4.66 221.6.4.67
内蒙古联通 DNS 202.99.224.68 202.99.224.8
山东联通 DNS 202.102.128.68 202.102.152.3
山东联通 DNS 202.102.134.68 202.102.154.3
山西联通 DNS 202.99.192.66 202.99.192.68
陕西联通 DNS 221.11.1.67 221.11.1.68
上海联通 DNS 210.22.70.3 210.22.84.3
四川联通 DNS 119.6.6.6 124.161.87.155
天津联通 DNS 202.99.104.68 202.99.96.68
浙江联通 DNS 221.12.1.227 221.12.33.227
辽宁联通 DNS 202.96.69.38 202.96.64.68
  • 全国各地移动 DNS 服务器 IP 地址
名称 DNS 服务器 IP 地址 DNS 服务器 IP 地址
江苏移动 DNS 221.131.143.69 112.4.0.55
安徽移动 DNS 211.138.180.2 211.138.180.3
山东移动 DNS 218.201.96.130 211.137.191.26

moooofly avatar Jan 07 '19 07:01 moooofly

阿里云 HTTPDNS

ref: https://www.aliyun.com/product/httpdns

HTTPDNS是面向移动开发者推出的一款域名解析产品,具有域名防劫持、精准调度的特性。

产品概述

HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。

image

image

最佳实践

https://help.aliyun.com/document_detail/30143.html

moooofly avatar Jan 11 '19 08:01 moooofly

DNSPod HttpDNS

ref: https://www.dnspod.cn/httpdns/guide

什么是D+?

D+ 就是 DNSPod 研发的 HttpDNS 服务的专用名称。HttpDNS 是使用 HTTP 协议向 DNS 服务器的 80 端口进行请求,代替传统的 DNS 协议向 DNS 服务器的 53 端口进行请求,绕开了运营商的 Local DNS ,从而避免了使用运营商 Local DNS 造成的劫持跨网问题。

image

哪些人适合使用 D+

  1. 希望降低访问延迟、减少跨网访问的资讯、游戏类APP;
  2. 希望降低连接失败率,提升业务成功率的电商等通用APP;
  3. 域名屡次被劫持,希望用户访问顺畅无阻的社交等通用APP;
  4. 对流畅度要求高,提升连接成功率的视频、音乐类APP;

怎么接入 D+

目前 D+ 服务企业版和免费版:

image

以解析 apineo.llsapp.com 为例

➜  ~ curl http://119.29.29.29/d\?dn\=apineo.llsapp.com.
54.223.83.120;54.223.183.123;54.222.143.192;54.223.195.7;52.80.23.156;54.222.153.105;54.222.202.197;54.223.44.217%

对比 dig 的输出信息(即通过 local DNS 获取 ip 列表)

➜  ~ dig apineo.llsapp.com

; <<>> DiG 9.10.6 <<>> apineo.llsapp.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16241
;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;apineo.llsapp.com.		IN	A

;; ANSWER SECTION:
apineo.llsapp.com.	403	IN	CNAME	neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn.
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.195.7
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.83.120
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.44.217
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.45.159
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 52.81.1.122
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.19.202
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.222.202.197
neo-app-prod-elb-936082747.cn-north-1.elb.amazonaws.com.cn. 50 IN A 54.223.59.107

;; Query time: 7 msec
;; SERVER: 10.150.0.1#53(10.150.0.1)
;; WHEN: Fri Jan 11 17:05:18 CST 2019
;; MSG SIZE  rcvd: 235

➜  ~

能够看到,即使在几乎相同时刻进行查询,返回结果的差异也是蛮大的;

API 文档:D+免费版本接口说明

moooofly avatar Jan 11 '19 09:01 moooofly

CloudXNS HttpDNS

ref: http://www.cloudxns.net/Index/HttpDNS.html

Learn CloudXNS HttpDNS

The HttpDNS system of CloudXNS was developed based on the authorization DNS(CloudXNS) that was independently researched and developed by Fastweb. CloudXNS HttpDNS is a domain analytic project based on HTTP, which is customized for mobile client or software on PC, it solves problems such as abnormal LDNS analysis and inaccurate dispatch.

image

The dashed box(es) show(s) working method(s) of common: CloudXNS analyses the A record(s) of domain address www.cloudxns.net according to LDNS's IP.

HttpDNS execution:(red line) Users access CloudXNS HttpDNS by HTTP, and then transfer to DNS protocol (+client=user IP) access CloudXNS, CloudXNS will search A record address of domain or return CNAME value according to user IP.

How to use CloudXNS HttpDNS---cleartext interface

How to use CloudXNS HttpDNS---encrypted interface

moooofly avatar Jan 12 '19 08:01 moooofly

利用站长工具进行 DNS查询

web 地址:http://tool.chinaz.com/dns/?type=1&host=apineo.llsapp.com&ip=

效果图:

image

读取:

  • 该工具会同时向全国各地多个 DNS 服务发起查询请求
  • 不同 DNS 服务返回的 ip 地址列表是不同的
  • 不同 DNS 服务返回的 ip 地址列表中的 TTL 值是不同的
  • TTL 越短说明缓存更新的越频繁,数据越准确

moooofly avatar Jan 12 '19 08:01 moooofly

DNS Q&A

什么是权威 DNS

从字面意思也可以看出,权威就是该域名及下级域名的“说了算”的服务器;在权威上可以设置,修改,删除该区域内的解析记录, 而非权威DNS只能是查询.

什么是 Local DNS

Local DNS 也是和我们日常上网接触最多的DNS包括你的服务提供商(ISP)分配给你的DNS(一般为两个),或者接下来讲到的公共DNS。又因为填写在你的本地电脑上,所以也称为Local DNS

什么是公共 DNS

我们都知道,我们要能上网,就必须要使用DNS。这个DNS可能是你的运营商提供给你的,也可以是一些其它组织提供的,比如我们熟知的谷歌的8.8.8.8,国内114dns的114.114.114.114. 。他们负责给我们的请求提供解析服务。

不过首先要明白,公共DNS不是:

  • 不是根服务器
  • 不是权威dns托管商,不提供域名注册等服务,比如万网和DNSpod
  • 不是权威dns,不针对个别域名进行解析

公共DNS服务的特点就是服务的域名数量巨大,用户数多,同时要求具有安全性和抗攻击性,低延迟(响应快),无拦截(无广告)以及对解析成功率要求非常的高。

什么是A记录

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server,FTP server等上面。同时也可以设置域名的子域名。 通俗的来讲A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。

如何获取一个域名的所有 ip

  • 如果你想通过遍历国内 IP 地址段,得出所有有响应的 DNS 服务器地址。 那么你需要三网 IP ,因为
    • 一般而言移动的 DNS 不会响应电信过来的请求
    • 电信的 DNS 无法获得目标服务器的移动 IP
    • 部分运营商 DNS 不会跨地域响应
  • 在验证 DNS 结果时(发起请求到各个 IP 地址,并对比获得的响应信息)
    • CDN 地址可能不应答跨省数据
    • 部分新闻类站点存在不同 CDN 信息不同的可能性
  • 因此没法保证获得完整的 IP 地址列表
  • 因此没法保证验证 DNS 过程中请求靠谱(运营商劫持那是常有的事)

DNS迭代查询,递归查询是啥?

出于资源消耗和响应速度的综合考虑,一般来说从主机到本地DNS服务器递归查询从本地DNS到其他DNS服务器迭代查询。详细解释:DNS 查询的工作原理

BGP anycast是啥?

从域名可以解析出来很多个主机IP地址对应,那DNS服务器只有一个IP地址可不是只有一台。为了让一个IP地址对应分布在各地的多台DNS服务器,采用anycast(任播)将数据发送到一组目标节点上,通过路由协议选择"路由矢量最近点"提供“最快”的服务。可以应对DOS攻击和网络拥塞。

为什么要手动设置 DNS?

通常,宽带运营商会为我们分配一个 DNS 服务器。这个 DNS 通常是最快的,距离最近的服务器,那么为什么我们要手动设置 DNS 呢?

原因会有以下几点:

  • 访问某些网络服务很缓慢,比如 Apple 的 iCloud 服务。
  • 比较担心安全问题,希望能通过设置 DNS 来保证你访问安全的网站;
  • 厌烦了每当你输入一个不正确的网址,运营商总会给你跳转到一个充满广告的界面。

如果你经常被以上问题所烦扰,那么自定义 DNS 应该会有效地解决你的问题。

DNS 解析不准确问题处理

ref: https://www.cloudxns.net/Support/detail/id/1869.html

  • 如何监测到解析不准确:http://tools.cloudxns.net/index.php/Index/Diag
  • 解决办法
    • 直接指导客户修改本地DNS,例如公共DNS等。
    • 协调大客户和xx资源来联系到运营商dns服务器的运维人员;
    • 建议使用HTTPDNS

moooofly avatar Jan 12 '19 08:01 moooofly

DNS 劫持 & DNS 污染

优化是戏称,说白了就是劫持,移动在这方面做的比较多,很多 dns 都会被移动劫持,表现为延迟异常低,查询都是被重定向到移动自己的服务器上的,所以返回的结果很有可能是被污染的。

污染和劫持是两个概念,污染的结果就是 DNS 服务器本身被污染,劫持是你的通信过程被劫持;


DNS劫持与DNS污染的原理

DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

DNS劫持症状:连接宽带后,首次打开的页面都是指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

DNS污染是一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。

DNS污染症状:我们平时访问Youtube、Facebook之类网站等出现的状况。

区别:

  • DNS劫持是劫持了DNS服务器,进而修改其解析结果。
  • DNS污染是国内的某些服务器对DNS查询进行入侵检测,发现与黑名单上匹配的请求,该服务器就伪装成DNS服务器,给查询者返回虚假结果。它利用了UDP协议是无连接不可靠性。
  • 一个是劫持了DNS服务器,一个是伪装成DNS服务器。造成的结果都是返回错误的IP地址。

ref: https://www.cloudxns.net/Support/detail/id/1641.html?l=en-us

image

从上面的原理图上来看,DNS劫持是出现在第2步,通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现DNS劫持的。

而DNS污染则是发生在用户请求的第一步上,直接从协议上对用户的DNS请求进行干扰。目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube。

解决办法:

修改Hosts文件,系统中Hosts文件的优先级高于DNS服务器,操作系统在访问某个域名时,会先检测HOSTS文件,然后再查询DNS服务器。可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持,如 “www.liusuping.com 127.0.0.1(正确的域名IP地址)”

使用安全的DNS服务器,大多数用户都是使用ISP默认的DNS,如果发现存在DNS劫持现象可以通过更换DNS服务器来实现避免DNS劫持,例如可以更换为第三方的DNS服务Opendns或者得Google的DNS服务器,可以参考:[又多了一个不作恶的DNS选择:google公共DNS] ,不过使用第三方DNS服务器虽然可以解决DNS劫持情况,但是还是不能解决DNS污染问题的。


如何解决运营商劫持?

绕过自动分配 DNS ,使用 114dns 或 Google public DNS ;

这个方案看上去很美好,114dns 是国内最大的中立缓存 DNS ,而 Google 又是秉承不作恶理念的互联网工程帝国巨鳄。但是问题来了:对于 PC 端的来说,更改 DNS 配置不难,但是在手机端,要兼容 Android 和 iOS 两个平台,很困难,而且让用户自己修改相关配置更是难上加难。

Https 只能解决内容劫持,却无法解决DNS劫持问题! HttpDNS 最早是腾讯提出的,是为移动客户端量身定做的基于 Http 协议和域名解析的流量调度解决方案

image

Http DNS 的优势

  • 根治域名解析异常
  • 实现成本低廉
  • 调度精准

实践中遇到的困难:

  • 通过HttpDNS获取IP的频率要控制好: -我们的方案:本地缓存IP地址,24小时内单个域名的IP获取会更新一次
  • 获取IP后遇到过使用IP访问api依然无法访问的情况,也就是说IP直连依然访问不了
    • 我们的方案:默认仍然使用域名访问,在检测使用IP请求ok之后下一次的访问才会使用IP
  • 使用IP之后第一次ok,但是中途依然会出现访问失败的情况
    • 我们的方案:使用域名或者IP访问失败之后,下次请求会自动切换通道,直到访问成功为止

ref: https://www.cloudxns.net/Support/detail/id/1417.html

对于DNS劫持,可以采用使用国外免费公用的DNS服务器解决。例如OpenDNS(208.67.222.222)或GoogleDNS(8.8.8.8)。

对于DNS污染,可以说,个人用户很难单单靠设置解决,通常可以使用VPN或者域名远程解析的方法解决,但这大多需要购买付费的VPN或SSH等,也可以通过修改Hosts的方法,手动设置域名正确的IP地址。

moooofly avatar Jan 12 '19 16:01 moooofly

流量穿透

移动还有流量穿透,就算请求没有被劫持,很有可能 DNS 看到你的请求时,因为穿透的关系,源 IP 变成了电信,联通,而不是本来的移动 IP 。甚至有可能 IP 的地区都不对。

moooofly avatar Jan 13 '19 13:01 moooofly

CloudXNS

image

image


ref:

  • http://tools.cloudxns.net/index.php/Index/Query
  • http://www.cloudxns.net/Index/index.html
  • http://www.cloudxns.net/Index/HttpDNS.html
  • https://github.com/moooofly/MarkSomethingDownLLS/issues/32

moooofly avatar Jan 15 '19 06:01 moooofly

DNS 查询类型

主机[A]记录

描述: 主机地址记录。在 DNS 域名与 IP 地址之间建立映射关系 语法: owner class ttl A IP_v4_address 例子: host1.example.microsoft.com. IN A 127.0.0.1

别名[CNAME]

描述: 用来表示用在该区域中的、其它资源记录类型中、已指定名称的、替补或别名 DNS 域名。 语法: owner ttl class AFSDB subtype server_host_name 例子: aliasname.example.microsoft.com. AFSDB 1 truename.example.microsoft.com.

主机信息[HINFO]

描述: 用来说明映射到特定 DNS 主机名的 CPU 类型和操作系统类型的 RFC-1700 保留字符串类型,这个信息可以被应用程序通信协议使用。 语法: owner ttl class HINFO cpu_type os_type 例子: my-computer-name.example.microsoft.com. HINFO INTEL-386 WIN32

邮箱[MB]

描述: 用来将指定的域邮箱名映射到这个邮箱的主机的当前区域中的主机地址记录 语法: owner ttl class MB mailbox_hostname 例子: mailbox.example.microsoft.com. MB mailhost1.example.microsoft.com

邮箱或通信信息 MINFO

描述: 用来指定负责维护该记录中特定通信名单或邮箱的联系域邮箱名称。同时,还被用来指定接收与该记录中特定通信名单或邮箱有关的错误信息的邮箱 语法: owner ttl class MINFO responsible_mailbox error_mailbox 例子: administrator.example.microsoft.com. MINFO resp-mbox.example.microsoft.com err-mbox.example.microsoft.com

邮件交换器 [MX]

描述: 用来向特定邮件交换器提供消息路由,该主机作为指定 DNS 域名的邮件交换器。MX 记录需要一个16-位整数来表示消息路由中的主机优先级,多个邮件交换在消息一中被指定。对于这个记录类型中的每个邮件交换主机,需要一个相应的主机地址类型记录。 语法: owner ttl class MX preference mail_exchanger_host 例子: example.microsoft.com. MX 10 mailserver1.example.microsoft.com

指针记录 [PTR]

描述:用来指向域名空间中的某个位置。PTR记录通常在特殊域中来执行地址到名称镜像的反向搜索。每个记录提供要指向域名称空间的某个其它位置的简单数据。 语法: owner ttl class PTR targeted_domain_name 例子: 1.0.0.10.in-addr.arpa. PTR host.example.microsoft.com.

服务记录 [SRV]

描述: SRV 资源记录允许管理员使用单一 DNS 域的多个服务器,容易的用管理功能将 TCP/IP 服务从一个主机移到另一个主机,并且将服务提供的程序主机分派为服务的主服务器,将其它的分派为辅助的 语法: service.protocol.name ttl class SRV preference weight port target 例子: ldap.tcp.ms-dcs SRV 0 0 389 dc1.example.microsoft.com SRV 10 0 389 dc2.example.microsoft.com

已知服务记录 [WKS]

描述: 用来描述一个特定 IP 地址上特定通讯协议支持的 TCP/IP 服务,它提供 TCP 和 UDP 可使用性信息。如果服务器同时支持 TCP 和 UDP 的已知服务,或者有多个支持服务的 IP 地址,多个 WKS 记录会被使用 语法: owner ttl class WKS address protocol service_list 例子: example.microsoft.com. WKS 10.0.0.1 TCP ( telnet smtp ftp )

在"起始颁发机构" SOA 中,记录了这个 Zone 中 DNS 服务器是那一台主机,也记录着负责本 zone 的管理员的邮件地址,如果以后在安装邮件服务器需要修改该信息时,注意将邮件地址中的 "@" 符改为句点 "." ,因为 "@" 是保留字,代表 zone;另外,要使用域完整名称 FQDN,不要漏掉最后的句点。可以通过 "zone→属性→起始颁发机构"对管理员邮件地址进行修改。

moooofly avatar Jan 15 '19 11:01 moooofly

阿里公共 DNS

ref: http://www.alidns.com/

特点

  • 稳定(Stable)
    • 全球数百台服务器组成的集群,充足的带宽资源
    • 自研高性能DNS系统和清洗中心,保障系统稳定和安全
  • 快速(Speedy)
    • BGP anycast技术,让您访问最近的DNS集群
    • 动态缓存技术,加速解析响应
  • 智能(Smart)
    • 精确的IP区域划分,解析结果更准确
    • 即将支持edns-client-subnet 技术,调度精准

DNS 知识科普

什么是权威DNS

从字面意思也可以看出,权威就是该域名及下级域名的“说了算”的服务器;在权威上可以设置,修改,删除该区域内的解析记录, 而非权威DNS只能是查询.

什么是Local DNS

Local DNS 也是和我们日常上网接触最多的DNS包括你的服务提供商(ISP)分配给你的DNS(一般为两个),或者接下来讲到的公共DNS。又因为填写在你的本地电脑上,所以也称为Local DNS

什么是公共DNS

我们都知道,我们要能上网,就必须要使用DNS。这个DNS可能是你的运营商提供给你的,也可以是一些其它组织提供的,比如我们熟知的谷歌的8.8.8.8,国内114dns的114.114.114.114. 。他们负责给我们的请求提供解析服务。

不过首先要明白,公共DNS不是:

  • 不是根服务器
  • 不是权威dns托管商,不提供域名注册等服务,比如万网和DNSpod
  • 不是权威dns,不针对个别域名进行解析

公共DNS服务的特点就是服务的域名数量巨大,用户数多,同时要求具有安全性和抗攻击性,低延迟(响应快),无拦截(无广告)以及对解析成功率要求非常的高。

什么是A记录

A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server,FTP server等上面。同时也可以设置域名的子域名。 通俗的来讲A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。

常见问题

为什么有些用户ping阿里公共DNS比运营商的延迟大

阿里公共DNS在多个骨干网节点机房部署DNS服务器集群,采用BGP anycast技术宣告统一服务IP:223.5.5.5和223.6.6.6,接收并应答客户请求.

由于是部署在骨干网机房,个别用户ping的网络延迟可能会比本地运营商Local DNS稍大。但是阿里公共DNS通过多机房高可用架构、自研的高性能DNS系统和优化的DNS缓存技术,能为用户提供更加稳定、无劫持广告的DNS递归解析服务。

为什么我设置阿里公共DNS后,访问某些大网站变慢了?

许多网站的静态资源都使用了CDN服务或者DNS智能解析服务(这里的DNS是指域名的权威DNS服务器),目前大部分CDN或者DNS智能解析是根据客户Local DNS IP来进行调度的

为了让使用阿里公共DNS的客户访问CDN的域名更快。阿里公共DNS设计了两层cache架构,第一层CACHE采用bgp anycast技术宣告统一服务IP:223.5.5.5和223.6.6.6,接收并应答客户请求。

第二层CACHE结合阿里优质的机房资源及淘宝IP地址库,根据客户端的公网出口IP,选择与客户本地网络最近的节点代替客户进行递归查询。从而让这些网站的CDN调度系统返回离用户最近的CDN节点。

如果您使用阿里公共DNS,感觉访问大网站变慢,有可能是我们选择代替您递归的二级CACHE节点不够准确,也可能是网站服务商的CDN或者权威DNS调度我们的IP有问题。

请您配合我们做一下测试,并提供一下测试结果,以便我们改善我们的服务,谢谢!

如果是windows操作系统, 请点击 开始 -> 运行 -> 输入 cmd 回车.

在命令行提示符下输入下列命令:

c:\> ping 223.5.5.5
c:\> tracert -d 223.5.5.5
c:\> nslookup www.taobao.com 223.5.5.5

如果是linux 或 Mac 操作系统, 请打开终端.

在命令行提示符下输入下列命令:

$ ping 223.5.5.5 -c 10
$ traceroute -n 223.5.5.5
$ nslookup 您访问的域名 223.5.5.5

访问 http://tool.alikunlun.com/doc.html 将命令行返回信息及访问页面内容, 一并复制或截图, 发到 [email protected] 邮箱.

设置阿里公共DNS后,无法访问,或访问变慢了?

阿里公共DNS是面向互联网提供免费的DNS递归解析服务。但由于各个运营商网络环境的不同, 可能会出现访问变慢或无法访问的情况. 为了便于我们了解您的问题,及改善用户体验. 请您配合我们做如下测试.

如果是windows操作系统, 请点击 开始 -> 运行 -> 输入 cmd 回车.

在命令行提示符下输入下列命令

c:\> ping 223.5.5.5
c:\> tracert -d 223.5.5.5
c:\> nslookup www.taobao.com 223.5.5.5

如果是linux 或 Mac 操作系统, 请打开终端.

在命令行提示符下输入下列命令:

$ ping 223.5.5.5 -c 10
$ traceroute -n 223.5.5.5
$ nslookup www.taobao.com 223.5.5.5

访问 http://tool.alikunlun.com/doc.html 将命令行返回信息及访问页面内容, 一并复制或截图, 发到 [email protected] 邮箱.

我自己有个域名,可以使用阿里公共DNS么?

阿里公共DNS面向全网客户提供DNS递归解析服务,不提供权威解析服务。但阿里旗下万网是国内最大的域名服务提供商,可以为您的域名提供权威解析。

公共DNS技术介绍

阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,目标是成为国内互联网基础设施的组成部分,面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。

DNS简介

DNS是互联网上存储域名与IP映射关系的一个分布式数据库。使用DNS,用户可以方便的用域名访问互联网,而不用关心复杂难记的IP地址。通过域名获取对应IP地址的过程叫域名解析。

域名解析是一个相对复杂的过程,需要多个环节,遍历多个DNS服务器,才能获取域名的IP地址。解析过程见下图:

image

用户使用DNS面临的问题

从域名解析过程可以看到,用户打交道最多的就是Local DNS,它负责接收用户的请求,代替用户遍历其他DNS服务器,获得结果后返回客户,并做一定时间的缓存,在下次请求时直接应答。

大部分用户使用的Local DNS是用户在接入网络时由ISP自动分配的。存在几方面问题:

  • 首次查询或缓存过期后的查询,需要遍历多个互联网上多个DNS才能得到结果,查询时间较长,影响用户的访问速度。
  • 域名解析的环节较多,其中任何一点出现问题,都可能会导致解析异常,进而影响用户对互联网的访问。
  • Local DNS会对获取的结果做一定时间缓存,当域名管理员对域名对应的IP地址调整后,Local DNS不能马上感知,还会用缓存中老的地址应答,可能导致访问出错。
  • 当前互联网上CDN很多都是根据Local DNS的地址来调度。有些ISP的Local DNS并不直接去递归解析,而是转发到其他Local DNS上,可能导致CDN调度不准确,使用户不能访问到最快的站点
  • ISP不是专业的DNS服务商,提供的Local DNS可能出现性能、稳定性等方面的问题。另外,日益频繁的DNS攻击,也会导致Local DNS出现宕机、劫持等情况。这些都会影响客户的上网体验。
  • 部分ISP通过DNS劫持做广告植入,给用户带来较差的体验。

阿里提供公共DNS服务的优势

  • 阿里在全国有优质的机房、网络、带宽等互联网基础设施资源。
  • 阿里建设和运营着全国最大的CDN网络,对互联网流量调度有丰富的经验。
  • 阿里旗下万网是国内最大的域名注册商,管理着几百万域名。同时有丰富的DNS管理经验。
  • 阿里拥有大量优秀的技术人才,有非常强的自主研发能力和运维保障能力。

阿里公共DNS的特点

快速:

  • 通过BGP anycast技术,让用户访问到离自己较近的DNS集群
  • 主动同步com/net域名、万网注册域名的变更,减小ttl时间的影响,快速访问到正确的记录。
  • 主动缓存热点域名的,提高查询CACHE命中率,减少递归过程,快速应答。

稳定:

  • 异地多机房高可用架构。
  • 基于DPDK自主研发的高性能DNS系统。
  • Aliguard多种攻击防御策略。
  • 持久化保存热点记录,当“根”或域名的权威DNS出现异常后,阿里公共DNS具备快速恢复正常访问的能力。

智能:

  • 结合阿里优质CDN资源和精准的IP地址库,让用户访问到较近的网站。

moooofly avatar Jan 16 '19 08:01 moooofly

腾讯云 HttpDNS

ref: https://dnspod.cloud.tencent.com/solution/httpdns

移动解析解决方案:解决移动互联网中的域名解析问题,根治域名劫持(DNS劫持),精准识别来源请求,令您的用户访问最准确的服务节点。

接入 BGP Anycast 网络架构 => 与运营商建立 BGP 互联 => 确保快速访问到 HTTPDNS 服务器

image

云解析 DNS + 移动解析 HttpDNS

image

云解析

image

image

https://cloud.tencent.com/document/product/302/2589

云解析简介

腾讯云云解析基于业界领先的DNSPod域名解析,提供可靠稳定的权威域名解析服务。DNSPod是国内领先的DNS服务商,有10年的DNS解析服务经验。

免费版云解析

免费版云解析支持在解析控制台中添加域名,设置A记录、CNAME等解析记录。除此之外,还可以添加子域名指向购买云资源的公网IP,或者云资源的内网IP,让解析在内网生效,这样便可以在内网通过域名访问云资源,此外还可以关联到腾讯云的负载均衡实例。

付费版云解析

针对大中小企业用户,提供不同的包年套餐(针对单域名)。对子域名级别、A记录负载均衡、DNS攻击防护等功能都进行了提升,详细可以参考价格总览。

移动解析HttpDNS

移动解析(HttpDNS)基于Http协议向腾讯云的DNS服务器发送域名解析请求,替代了基于DNS协议向运营商Local DNS发起解析请求的传统方式,可以避免Local DNS造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。

image

image

https://cloud.tencent.com/document/product/379/3519

什么是HttpDNS?

HttpDNS基于Http协议向腾讯云的DNS服务器发送域名解析请求,替代了基于DNS协议向运营商LocalDNS发起解析请求的传统方式,可以避免LocalDNS造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。

由DNSPod提供基础能力,多年技术积累沉淀,覆盖4亿+用户,值得信赖。

HttpDNS解决的问题?

HttpDNS目的在于解决移动互联网中DNS解析异常、域名劫持的问题:

  • 移动DNS的现状:运营商LocalDNS出口根据权威DNS目标IP地址进行NAT,或将解析请求转发到其他DNS服务器,导致权威DNS无法正确识别运营商的LocalDNS IP,引发域名解析错误、流量跨网。
  • 域名被劫持的后果:网站无法访问(无法连接服务器)、访问到钓鱼网站等。
  • 解析结果跨域、跨省、跨运营商、国家的后果:网站访问缓慢甚至无法访问。

HttpDNS实现的原理?

  • 客户端直接访问HttpDNS接口,获取域名的最优IP。(基于容灾考虑,建议保留使用运营商LocalDNS解析域名的方式作为备选。)
  • 客户端获取到业务IP后,就向直接往此IP发送业务协议请求。以Http请求为例,通过在header中指定host字段,向HttpDNS返回的IP发送标准的Http请求即可。

现实中发现,有时 DNSPod 给出的 ip 不是最优的,甚至是错误线路的

HttpDNS服务的质量?

HttpDNS服务具有高可用性和快速响应能力

  • 部署BGP Anycast网络:HttpDNS接入了BGP Anycast网络架构,与全国Top 17的运营商建立了BGP互联,确保各个运营商的用户请求能够快速访问到HttpDNS的服务器,接入运营商在持续增加中,保证服务的快速响应。
  • 异地容灾,实时切换:HttpDNS在华北、华东、华南等多个数据中心部署了多个节点,任意节点发生故障均能无缝切换到备份节点,保证服务的高可用性。

HttpDNS企业版功能

  • 自研智营SDK(提供iOS、Android版本),已覆盖超过一亿用户
  • 支持加密
  • 高达99.99%的SLA
  • 不限量查询
  • 支持用户访问分布报表
  • 支持edns-client-subnet
  • 工单、电话服务支持

https://cloud.tencent.com/document/product/379/3521

根治域名解析异常

由于绕过了运营商的LocalDNS,用户解析域名的请求通过Http协议直接透传到了HttpDNS服务器IP上,用户在客户端的域名解析请求将不会遭受到域名解析异常的困扰。

调度精准

HttpDNS能直接获取到用户IP,通过结合DNSPod自有专利技术生成的IP地址库以及测速系统,可以保证将用户引导的访问速度最快的IDC节点上。

实现成本低

接入HttpDNS的业务仅需要对客户端接入层做少量改造,无需用户手机进行root或越狱;而且由于Http协议请求构造非常简单,兼容各版本的移动操作系统更不成问题;总而言之,就是以最小的改造成本,解决了业务遭受域名解析异常的问题,并满足业务精确流量调度的需求。

扩展性强

HttpDNS提供可靠的域名解析服务,业务可将自有调度逻辑与HttpDNS返回结果结合,实现更精细化的流量调度。比如指定版本的客户端连接请求的IP地址,指定网络类型的用户连接指定的IP地址等。

总结来说,HttpDNS能有效地避免由于移动互联网用户所使用的LocalDNS异常导致的无法访问到您预期的最优接入点,最终导致用户访问您的业务出现异常。

moooofly avatar Jan 26 '19 09:01 moooofly

Apex Domain

An Apex Domain is a custom domain without an included subdomain. For example, "my-example.com" is an Apex Domain, but "docs.my-example.com" is not.

Apex Domains are sometimes referred to as "naked", "bare", "base", "root", or "zone apex" domains.

moooofly avatar Jul 28 '20 02:07 moooofly