精华内容
下载资源
问答
  • 全国公共DNS服务器IP地址汇总

    千次阅读 2020-04-28 20:45:32
    DNS全称是 Domain Name System 或者 Domain Name Service,它主要作用就是人们所熟悉网址 (域名) “翻译电脑可以理解 IP 地址,这个过程叫做DNS 域名解析。优质 DNS 服务不仅只是域名解析速度快,...

    前言、

    DNS 的全称是 Domain Name System 或者 Domain Name Service,它主要的作用就是将人们所熟悉的网址 (域名) “翻译”成电脑可以理解的 IP 地址,这个过程叫做 DNS 域名解析。优质的 DNS 服务不仅只是域名解析速度快,而且还兼具一些诸如屏蔽恶意网址、智能纠错、解决部分 DNS 污染以及准确地将 CDN 解析到离你距离最近的节点 IP (从而大大提高文件的下载速度) 等功能。

    公共 DNS 服务器 IP 地址

    阿里 Ali DNS

    223.5.5.5

    223.6.6.6

    百度 Baidu DNS

    180.76.76.76

    2400:da00::6666

    DNSPod DNS+

    119.29.29.29

    119.28.28.28

    182.254.116.116

    182.254.118.118

    Google DNS

    8.8.8.8

    8.8.4.4

    Cloudflare DNS

    1.1.1.1

    1.0.0.1

    114 DNS

    114.114.114.114

    114.114.115.115

    AdGuard DNS

    176.103.130.130

    176.103.130.131

    Next DNS

    45.90.28.249

    45.90.30.249

    CNNIC DNS

    1.2.4.8

    210.2.4.8

    One DNS

    117.50.11.11

    52.80.66.66

    微软 DNS

    4.2.2.1

    4.2.2.2

    DNS 派(360 DNS) 电信/移动/铁通

    101.226.4.6

    218.30.118.6

    DNS 派(360 DNS) 联通

    123.125.81.6

    140.207.198.6

    清华大学TUNA DNS

    101.6.6.6

    2001:da8::666

    中科大 DNS

    教育网:202.38.93.153

    电信线路:202.141.178.13

    中国电信:202.141.162.123

    中国移动:202.141.176.93

    IBM Quad9

    9.9.9.9

    Open DNS

    208.67.222.222

    208.67.220.220

    V2EX DNS

    199.91.73.222

    178.79.131.110

    Pure DNS

    123.207.137.88

    115.159.220.214

    Comodo Secure DNS

    8.26.56.26

    8.20.247.20

    Ultra DNS

    156.154.70.1

    156.154.71.1

    Norton ConnectSafe DNS

    199.85.126.10

    199.85.127.10

    威瑞信 DNS

    64.6.64.6

    64.6.65.6

    Dyn DNS

    216.146.35.35

    216.146.36.36

    Freenom World DNS

    80.80.80.80

    80.80.81.81

    FUN DNS

    119.23.248.241

    BAI DNS

    106.14.152.170

    DNS.SB

    185.222.222.222

    185.184.222.222

    Safe DNS

    195.46.39.39

    195.46.39.40

    Panda DNS

    115.159.157.26

    115.159.158.38

    Mogu DNS

    122.114.245.45

    115.159.96.69

    PdoMo DNS

    101.132.183.99

    193.112.15.186

    HI!XNS DNS

    40.73.101.101

    level 3 DNS

    4.2.2.1

    4.2.2.2

    骆驼云安全 camelyun DNS

    63.223.94.66

    Cute DNS

    123.206.61.167

    119.29.105.234

    101.236.28.23

    120.77.212.84

     

    全国各地电信 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

    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

    黑龙江电信

    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

    61.147.37.1

    218.2.135.1

    江西电信 DNS

    202.101.224.69

    202.101.226.68

    内蒙古电信

    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

    202.96.209.5

    180.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

    61.153.81.75

    60.191.244.5

     

    全国各地联通 DNS 服务器 IP 地址

    北京联通 DNS

    123.123.123.123

    123.123.123.124

    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

    黑龙江联通

    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

    内蒙古联通

    202.99.224.68

    202.99.224.8

    山东联通 DNS

    202.102.128.68

    202.102.152.3

    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

    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

    Apple TV DNS 服务器 IP 地址

    上海电信: 180.153.225.136

    杭州电信 :115.29.189.118

    广东电信: 203.195.182.150

    北方联通: 118.244.224.124

     

    港澳台地区 DNS 服务器 IP 地址

    中国台湾中华电信 HiNet DNS

    168.95.1.1

    168.95.192.1

    台湾网络资讯中心 DNS

    101.101.101.101

    101.102.103.104

    香港宽频 DNS

    203.80.96.10

    203.80.96.9

    和记黄埔有限公司 DNS

    202.45.84.58

    西门子菠菜服务器(香港) DNS

    112.121.178.187

    中国(香港)电信全球有限公司 DNS

    202.55.11.100

    202.55.21.85

    展开全文
  • DNS域名解析地址

    2020-06-26 11:10:26
    DNS全称是 Domain Name System 或者 Domain Name Service,它主要作用就是人们所熟悉网址 (域名) “翻译电脑可以理解 IP 地址,这个过程叫做DNS 域名解析。 DNS 服务器一般是由互联网服务提供商 (ISP...

    DNS 的全称是 Domain Name System 或者 Domain Name Service,它主要的作用就是将人们所熟悉的网址 (域名) “翻译”成电脑可以理解的 IP 地址,这个过程叫做 DNS 域名解析

    DNS 服务器一般是由互联网服务提供商 (ISP) 出资建立的,比如电信/移动宽带,它们在全国各地建立了多组 DNS 服务器,上网拨号时会按地区自动为你们分配,一般大家不必理会也能正常上网。但问题在于,部分地区所提供的 DNS 经常宕机、人满为患没有及时扩容、上网高峰时解析缓慢,甚至有些地方的机房人员滥用职权谋取私利,利用 DNS 劫持网站,偷偷插广告/诱导/嗅探帐号密码等,都会对用户的网速和上网体验和帐号安全造成影响。

    以下收集的都是目前全球范围内 (更多数是国内的) 比较靠谱的免费公共 DNS 服务的 IP 地址。由于地区差异,同一组 DNS 服务器在不同国家不同地区的表现并不完全相同,解析速度、响应时间等都有所区别,所以建议大家以自行测速结果为准,多多对比再行选择咯。

    ★ DNSPod Public DNS+

    Public DNS+ 是属于 腾讯云旗下的公共 DNS 服务。拥有 80 多条国内线路和 4 条海外线路,有 BGP Anycast 技术,也是国内首家支持谷歌 ECS (edns-client-subnet) 协议的公共 DNS 解析服务。它只使用一个 IP,但有三地集群容灾和秒级自动故障切换,在国内大多数地方的测速数据都非常好,值得推荐。

    Public DNS+
    IPv4 地址
    首选:119.29.29.29

    ★ AliDNS 阿里公共 DNS 解析服务

    阿里公共 DNS 是 阿里云 推出的免费 DNS 递归解析系统,宣称全球数百台服务器组成的集群,拥有充足的带宽资源,目标是成为国内互联网基础设施的组成部分,支持 BGP Anycast 以及 ECS 技术。

    AliDNS 阿里公共 DNS
    IPv4 地址
    首选:223.5.5.5
    备用:223.6.6.6

    ★ 114 DNS

    114 DNS 在国内的用户量相当巨大,其 DNS 解析成功率高,与 ISP 的 DNS 相比,能访问更多的国内外网站;号称纯净、无劫持、无需再忍受被强插广告或粗俗网站之痛苦;114DNS 做得比较早,有一定的技术积累,稳定性不错,尽管速度比前两者差一点点,但也都能让人满意。它还有一个特色,就是根据不同用途可以选择不同的 DNS 组。

    114 DNS
    常规公共 DNS (干净无劫持)
    首选:114.114.114.114 、备选:114.114.115.115
    拦截钓鱼病毒木马网站 (保护上网安全)
    首选:114.114.114.119、备用:114.114.115.119
    拦截色情网站 (保护儿童)
    首选:114.114.114.110、备用:114.114.115.110

    ★ 百度 BaiduDNS

    百度 DNS 公共解析服务,支持 ipv4 和 ipv6。作为中国最大的搜索引擎,百度拥有一流的基础设施和强大技术实力,国内速度相当快!该服务快速稳定无劫持,智能拦截恶意网站,支持 BGP Anycast 和 ECS 技术。

    百度 BaiduDNS
    IPv4 地址:180.76.76.76
    IPv6 地址:2400:da00::6666

    360 DNS 派 (DNSpai Public DNS)

    DNS 派是由 360 出品的免费公众 DNS 解析服务。它可以让网上冲浪更加稳定、快速、安全;为家庭拦截钓鱼网站,过滤非法网站,建立一个绿色健康的网上环境;为域名拼写自动纠错等。

    DNS 派
    首选(电信/移动/铁通):101.226.4.6
    备选(电信/移动/铁通):218.30.118.6
    首选(联通):123.125.81.6
    备选(联通):140.207.198.6

    CNNIC sDNS

    sDNS (SecureDNS,简称 sDNS) 是由中国互联网络信息中心 CNNIC 与国内外电信运营商合作推出的免费公共云解析服务,旨在为用户提供高速、安全、智能的上网接入解析服务。sDNS递归云解析服务采用 IP Anycast+BGP 技术跨区域、跨运营商的分布式异构部署,比运营商提供的 DNS 更快更稳定。

    CNNIC sDNS
    IPv4 地址
    首选:1.2.4.8
    备用:210.2.4.8

    OneDNS

    OneDNS 是一个安全、快速、免费的小众 DNS 服务。它能屏蔽恶意网站、摆脱无良 ISP 的DNS污染与劫持。同时横跨南北的高速线路加速您的网络连接。

    OneDNS
    IPv4 地址
    首选:117.50.11.11
    备用:117.50.22.22

    国外 (美国) 免费公共 DNS 解析服务推荐:

    顾名思义,国外的 DNS 当然是适合海外用户使用咯。而对于国内用户来说,尽管这些 DNS 服务器在国内访问速度不算快,但作用也不少,比如买了国外的 VPS 可以配置它使用国外的 DNS 等等。

    ★ Google Public DNS (8.8.8.8)

    来自 Google 提供的免费全球公共 DNS 服务,主要为了改进网络浏览速度、改善网络用户的浏览体验。这个基本上不用多做什么介绍了,可能它也是目前全球范围内使用量最大的公共 DNS 了,老牌、稳定、技术强劲。

    Google Public DNS
    IPv4 地址
    首选:8.8.8.8
    备用:8.8.4.4
    IPv6 地址
    首选:2001:4860:4860::8888
    备用:2001:4860:4860::8844

    ★ CloudFlare DNS (1.1.1.1)

    CloudFlare DNS 是号称全球最快的 DNS 服务 (当然国内不算在全球范围内 >_<), CloudFlare 是全球最大的 CDN / DDOS 防护服务提供商之一 (在国内与百度云加速合作),其遍布全球的基础设施资源极其丰富,资金和技术实力相当雄厚。在国外实测速度相当强劲,目前我已将海外的 VPS 全部换到此 DNS,解析速度非常快,相当值得推荐!

    CloudFlare DNS
    IPv4 地址
    首选:1.1.1.1
    备用:1.0.0.1
    IPv6 地址:
    首选:2606:4700:4700::1111
    备用:2606:4700:4700::1001

    IBM Quad9 (9.9.9.9)

    IBM 、Global Cyber Alliance 和 Packet Clearing House 合作推出的免费 Quad9 公共 DNS 服务 (9.9.9.9),主打安全,它会智能屏蔽恶意网址、僵尸网络、钓鱼攻击和其它恶意主机相关联的域名,而且更注重隐私保护。对安全有需求的朋友可以使用这组 DNS。

    IBM Quad9
    IPv4 地址
    首选:9.9.9.9
    备用:149.112.112.112
    IPv6 地址
    首选:2620:fe::fe
    备用:2620:fe::9

    Cisco OpenDNS

    OpenDNS 是一个老牌的免费公共 DNS 提供商,后来被 Cisco (思科) 全资收购。

    OpenDNS
    IPv4 地址
    首选:208.67.222.222
    备用:208.67.220.220
    IPv6 地址
    首选:2620:0:ccc::2
    备用:2620:0:ccd::2

    Hurricane Electric Public DNS (HE)

    HE Public DNS (访问)
    IPv4 地址
    首选:74.82.42.42
    备用:66.220.18.42
    IPv6 地址
    首选:2001:470:20::2
    备用:2001:470:0:9d::2

    科摩多 Comodo SecureDNS

    科摩多公共 DNS 服务 (访问)
    IPv4 地址
    首选:8.26.56.26
    备用:8.20.247.20

    Verisign Public DNS

    Verisign Public DNS (访问)
    IPv4 地址
    首选:64.6.64.6
    备用:64.6.65.6
    IPv6 地址
    首选:2620:74:1b::1:1
    备用:2620:74:1c::2:2

    Neustar Recursive DNS

    Neustar Recursive DNS (访问)
    IPv4 地址
    首选:156.154.70.1
    备用:156.154.71.1
    IPv6 地址
    首选:2610:a1:1018::1
    备用:2610:a1:1019::1

    ORACLE Dyn Public DNS

    Dyn Public DNS (访问)
    IPv4 地址
    首选:216.146.36.36
    备用:216.146.35.35

    Level3 Public DNS

    Level3 Public DNS (访问)
    IPv4 地址
    首选:209.244.0.3
    备用:209.244.0.4

    Alternate DNS

    Alternate DNS (访问)
    IPv4 地址
    首选:23.253.163.53
    备用:198.101.242.72

    香港地区公共 DNS 解析服务

    香港宽频 / HKBN

    香港宽频 DNS
    IPv4 地址
    首选:203.80.96.10

    和记环球电讯 DNS

    和记环球电讯 DNS
    IPv4 地址
    首选:202.45.84.58
    备用:202.45.84.59

    Pacific SuperNet DNS

    Pacific SuperNet DNS
    IPv4 地址
    首选:202.14.67.4
    备用:202.14.67.14

    台湾地区公共 DNS 解析服务

    中华电信 / HiNet

    中华电信公共 DNS
    IPv4 地址
    首选:168.95.1.1
    备用:168.95.192.1
    IPv6 地址
    首选:2001:b000:168::1
    备用:2001:b000:168::2

    数位联合电信 / Seednet

    数位联合电信 DNS
    IPv4 地址
    首选:139.175.252.16
    备用:139.175.55.244

    台湾网路资讯 / TWNIC Quad101 Public DNS

    台湾网路资讯 TWNIC Quad101 Public DNS (访问)
    首选:101.101.101.101
    备用:101.102.103.104
    IPv6 地址
    首选:2001:de4::101
    备用:2001:de4::102

    韩国免费公共 DNS 解析服务推荐:

    KT olleh

    KT olleh DNS
    IPv4 地址:
    首选:168.126.63.1
    备用:168.126.63.2

    SK Broadband

    SK Broadband DNS
    首选:210.220.163.82
    备用:219.250.36.130

    LG U+

    LG U+ DNS
    两者二选一
    首选:164.124.101.2
    备用:203.248.252.2
    -
    首选:164.124.107.9
    备用:203.248.242.2

    其他国家地区公共 DNS 解析服务:

    俄罗斯 Yandex Public DNS

    俄罗斯 Yandex Public DNS (访问)
    IPv4 地址
    首选:77.88.8.8
    备用:77.88.8.1
    IPv6 地址
    首选:2a02:6b8::feed:0ff
    备用:2a02:6b8:0:1::feed:0ff

    俄罗斯 SafeDNS

    俄罗斯 SafeDNS (访问)
    IPv4 地址
    首选:195.46.39.39
    备用:195.46.39.40

    德国 DNS.WATCH Public DNS

    德国 DNS.WATCH Public DNS (访问)
    IPv4 地址
    首选:84.200.69.80
    备用:84.200.70.40
    IPv6 地址
    首选:2001:1608:10:25::1c04:b12f
    备用:2001:1608:10:25::9249:d69b

    瑞士 xiala.net Public DNS

    瑞士 xiala.net Public DNS (访问)
    IPv4 地址
    首选:77.109.148.136
    备用:77.109.148.137
    IPv6 地址
    首选:2001:1620:2078:136::
    备用:2001:1620:2078:137::

    丹麦 UncensoredDNS

    丹麦 UncensoredDNS (访问)
    IPv4 地址
    首选:91.239.100.100
    备用:89.233.43.71
    IPv6 地址
    首选:2001:67c:28a4::
    备用:2a01:3a0:53:53::

    荷兰 Freenom World Public DNS

    荷兰 Freenom World Public DNS (访问)
    IPv4地址
    首选:80.80.80.80
    备用:80.80.81.81

    展开全文
  • 静态IP与动态IP区别

    2020-05-23 10:04:22
    这时候,DNS作用就是网站地址翻译成IP地址,来方便用户的记忆。所以,为了不需要经常更新DNS的记录,静态IP地址的作用就显现出来了。 动态IP并非是个真实的IP,你提供的域名经服务器动态分配一个,以供用户在无法...

    1、动态IP需要在连接网络时自动获取IP地址以供用户正常上网,而静态IP是ISP在装机时分配给用户的IP地址,可以直接连接上网,不需要获取IP地址。
    网络世界中,数据的传输是以IP地址来作为源、目的地址,而非一个网站地址。这时候,DNS作用就是将网站地址翻译成IP地址,来方便用户的记忆。所以,为了不需要经常更新DNS的记录,静态IP地址的作用就显现出来了。
    动态IP并非是个真实的IP,你提供的域名经服务器动态分配一个,以供用户在无法记住静态IP地址的时候上网。动态IP代理
    静态IP是可以直接上网的IP段,该IP在ISP装机时会划分一个IP地址给你,让计算机在连接网络时不再自动获取网络地址,避免了网络连接上的困扰。
    静态IP有一个弱点,不过影响不大,那就是连接其余网络时需要将IP地址改为自动获取,转为动态IP,设置前请记得备份静态IP地址,便于下次上网。
    2、动态IP和静态IP对网速的影响。
    ISP对每个用户所提供的网速,并不是从IP地址限定的,而是从用户连接到ISP的物理线路上进行限定的。
    例如,ISP对小明家的线路开放了4M的带宽,但是对小红家的线路开放了2M的带宽。但是即使小明和小红都是使用静态IP的情况下,小明都会比小红有更好的上网速度。所以,从这个实际情况上可以知道,IP地址对网速是没有任何影响的。
    3、ISP分配的静态IP地址。
    ISP赠送IP地址的情况是不可能存在的。准确的应该说是ISP将IP地址租借给用户使用。因为在目前IPv4地址已经分配完毕,严重稀缺的情况下。ISP是不可能随便将一个IP地址赠送给用户的。

    展开全文
  • 域名系统DNS服务

    千次阅读 2020-06-21 17:31:33
    域名系统(Domain Name System)是整个互联网电话簿,它能够可被人理解的域名翻译成可被机器理解 IP 地址,使得互联网使用者不再需要直接接触很难阅读和理解 IP 地址。 域名系统在现在互联网中非常重要,...

    dns.png

    DNS是什么?

    域名系统(Domain Name System)是整个互联网的电话簿,它能够将可被人理解的域名翻译成可被机器理解 IP 地址,使得互联网的使用者不再需要直接接触很难阅读和理解的 IP 地址。

    域名系统在现在的互联网中非常重要,因为服务器的 IP 地址可能会经常变动,如果没有了 DNS,那么可能 IP 地址一旦发生了更改,当前服务器的客户端就没有办法连接到目标的服务器了,如果我们为 IP 地址提供一个”别名“并在其发生变动时修改别名和 IP 地址的关系,那么我们就可以保证集群对外提供的服务能够相对稳定地被其他客户端访问。

    DNS 其实就是一个分布式的树状命名系统,它就像一个去中心化的分布式数据库,存储着从域名到 IP 地址的映射。

    本地名称解析配置文件:hosts

    ​ linux:/etc/hosts

    ​ windows:%WINDIR%/system32/drivers/etc/hosts

    ​ DNS基于C/S架构,服务器端:53/udp,53/tcp

    ​ FQDN:全称域名=主机名(别名) + 域名(组织,独立的名称空间)

    BIND:Bekerley Internet Name Domain,由ISC提供的DNS软件实现


    DNS域名结构

    在这里插入图片描述

    • 根域
    • 一级域名:TOP Level Domain —— TLD
      • com、edu、mil、gov、org…
      • 三类:组织域、国家域(.cn .ca …)、反向域
    • 二级域名:baidu.com
    • 三级域名:img.baidu.com
    • 最多可达到127级域名

    DNS工作原理

    简单来说:当你输入一个域名时,DNS会返回一个IP地址

    虽然只需要返回一个IP地址,但是DNS的查询过程非常复杂,分成多个步骤。

    在这里插入图片描述

    1. DNS客户端向DNS解析器发出解析www.baidu.com域名请求
    2. DNS解析器首先会向就近的根DNS服务器.请求顶级域名DNS服务器地址,每个DNS服务器都知道根服务器地址
    3. 拿到根域名DNS服务com.的地址后会向.com域名服务器请求负责baidu.com.域名解析的命名服务得到baidu.com.地址信息
    4. 拿到.baodu.com.域名服务器的地址后向域名服务器请求负责www.baidu.com.域名解析并返回结果给DNS解析器
    5. DNS解析器将解析的结果交给DNS客户端
    6. DNS解析器把解析结果缓存到DNS查询缓存中,之后如果再要查询同样的域名,就直接读取缓存内容(本机也有缓存)
      • window:ipconfig/display
      • Linux:默认没有缓存,只有本地hosts文件

    完整的查询请求经过流程

    Client——hosts文件——Client DNS Service Local Cache——DNS Server(recursion)——DNS Server Cache——Iteration——根——顶级域名DNS——二级域名DNS——...
    
    # recursion 递归
    # iteration 迭代
    

    DNS 客户端接受到 IP 地址之后,整个 DNS 解析的过程就结束了,客户端接下来就会通过当前的 IP 地址直接向服务器发送请求。

    对于 DNS 解析器,这里使用的 DNS 查询方式是迭代查询,每个 DNS 服务并不会直接返回 DNS 信息,而是会返回另一台 DNS 服务器的位置,由客户端依次询问不同级别的 DNS 服务直到查询得到了预期的结果;另一种查询方式叫做递归查询,也就是 DNS 服务器收到客户端的请求之后会直接返回准确的结果,如果当前服务器没有存储 DNS 信息,就会访问其他的服务器并将结果返回给客户端。

    雪人计划(Yeti DNS Project)

    根服务器是国际互联网最重要的战略基础设施,是互联网通信的“中枢”。由于种种原因,现有互联网根服务器数量一直被限定为13个。基于全新技术架构的全球下一代互联网(IPv6)根服务器测试和运营实验项目—— “雪人计划”。2015年6月23日正式发布,我国下一代互联网工程中心主任、“雪人计划”首任执行主席刘东认为,该计划将打破根服务器困局,全球互联网有望实现多边共治。

    2017年11月,据相关报道由下一代互联网国家工程中心牵头发起的“雪人计划”已在全球完成25台IPv6(互联网协议第六版)根服务器架设,中国部署了其中的4台,打破了中国过去没有根服务器的困境。

    DNS查询类型

    • 递归查询:查询到返回最终结果
    • 迭代查询:查询到部分结果,分布查询返回结果

    解析类型

    • FQDN——>IP 正向解析
    • IP——>FQDN 反向解析

    注意

    正反向解析是两个不同的名称空间,通俗来讲是两颗不同的解析树

    DNS服务相关概念与技术

    DNS服务器的类型

    • 主DNS服务器

    • 从DNS服务器

    • 缓存DNS服务器(转发器)

      主DNS服务器

      管理和维护所负责解析的域内解析库的服务器

      从DNS服务器

      从主服务器或从服务器“复制”(区域传输)解析库副本

      序列号:解析库版本号,主服务器解析库变化是,其序列递增

      刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔

      重试时间间隔:从服务器请求同步失败是,再次尝试时间间隔

      过期时长:从服务器联系不到主服务时,多久后停止服务

      通知机制:主服务器解析库发生变化时,会主动通知从服务器

    互联网域名

    域名注册:

    • 万网:被阿里收购
    • 新网:被腾讯收购
    • godaddy

    DNS搭建软件BIND

    DNS服务器软件:bind,powerdns,unbound

    BIND相关程序包

    [root@localhost ~]# yum list all bind*
    bind		# 服务器
    bind-libs	# 相关库
    bind-utils	# 客户端
    bind-chroot	# 安全包,将DNS相关文件放至/var/named/chroot
    
    [root@localhost ~]# rpm -qa bind*
    bind-libs-lite-9.11.4-9.P2.el7.x86_64
    bind-license-9.11.4-9.P2.el7.noarch
    bind-export-libs-9.11.4-9.P2.el7.x86_64
    bind-utils-9.11.4-9.P2.el7.x86_64
    bind-libs-9.11.4-9.P2.el7.x86_64
    
    

    安装bind、bind-utils

    [root@localhost ~]# yum install bind bind-utils -y
    [root@localhost ~]# systemctl enable --now named
    Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
    

    bind-utils常见的客户端测试工具

    [root@localhost ~]# rpm -ql bind-utils
    /etc/trusted-key.key
    /usr/bin/delv
    /usr/bin/dig
    /usr/bin/host
    /usr/bin/mdig
    /usr/bin/nslookup
    /usr/bin/nsupdate
    ...
    

    bind文件列表

    [root@localhost ~]# rpm -ql bind
    /etc/logrotate.d/named
    /etc/named
    /etc/named.conf
    # 主配置文件
    /etc/named.iscdlv.key
    /etc/named.rfc1912.zones
    /etc/named.root.key
    /etc/rndc.conf
    /etc/rndc.key
    /etc/rwtab.d/named
    /etc/sysconfig/named
    /run/named
    /usr/bin/arpaname
    /usr/bin/named-rrchecker
    /usr/lib/python2.7/site-packages/isc
    /usr/lib/python2.7/site-packages/isc-2.0-py2.7.egg-info
    /usr/lib/python2.7/site-packages/isc/__init__.py
    /usr/lib/python2.7/site-packages/isc/__init__.pyc
    /usr/lib/python2.7/site-packages/isc/__init__.pyo
    /usr/lib/python2.7/site-packages/isc/checkds.py
    /usr/lib/python2.7/site-packages/isc/checkds.pyc
    /usr/lib/python2.7/site-packages/isc/checkds.pyo
    /usr/lib/python2.7/site-packages/isc/coverage.py
    /usr/lib/python2.7/site-packages/isc/coverage.pyc
    /usr/lib/python2.7/site-packages/isc/coverage.pyo
    /usr/lib/python2.7/site-packages/isc/dnskey.py
    /usr/lib/python2.7/site-packages/isc/dnskey.pyc
    /usr/lib/python2.7/site-packages/isc/dnskey.pyo
    /usr/lib/python2.7/site-packages/isc/eventlist.py
    /usr/lib/python2.7/site-packages/isc/eventlist.pyc
    /usr/lib/python2.7/site-packages/isc/eventlist.pyo
    /usr/lib/python2.7/site-packages/isc/keydict.py
    /usr/lib/python2.7/site-packages/isc/keydict.pyc
    /usr/lib/python2.7/site-packages/isc/keydict.pyo
    /usr/lib/python2.7/site-packages/isc/keyevent.py
    /usr/lib/python2.7/site-packages/isc/keyevent.pyc
    /usr/lib/python2.7/site-packages/isc/keyevent.pyo
    /usr/lib/python2.7/site-packages/isc/keymgr.py
    /usr/lib/python2.7/site-packages/isc/keymgr.pyc
    /usr/lib/python2.7/site-packages/isc/keymgr.pyo
    /usr/lib/python2.7/site-packages/isc/keyseries.py
    /usr/lib/python2.7/site-packages/isc/keyseries.pyc
    /usr/lib/python2.7/site-packages/isc/keyseries.pyo
    /usr/lib/python2.7/site-packages/isc/keyzone.py
    /usr/lib/python2.7/site-packages/isc/keyzone.pyc
    /usr/lib/python2.7/site-packages/isc/keyzone.pyo
    /usr/lib/python2.7/site-packages/isc/parsetab.py
    /usr/lib/python2.7/site-packages/isc/parsetab.pyc
    /usr/lib/python2.7/site-packages/isc/parsetab.pyo
    /usr/lib/python2.7/site-packages/isc/policy.py
    /usr/lib/python2.7/site-packages/isc/policy.pyc
    /usr/lib/python2.7/site-packages/isc/policy.pyo
    /usr/lib/python2.7/site-packages/isc/rndc.py
    /usr/lib/python2.7/site-packages/isc/rndc.pyc
    /usr/lib/python2.7/site-packages/isc/rndc.pyo
    /usr/lib/python2.7/site-packages/isc/utils.py
    /usr/lib/python2.7/site-packages/isc/utils.pyc
    /usr/lib/python2.7/site-packages/isc/utils.pyo
    /usr/lib/systemd/system/named-setup-rndc.service
    /usr/lib/systemd/system/named.service
    # 服务文件
    /usr/lib/tmpfiles.d/named.conf
    /usr/lib64/bind
    /usr/libexec/generate-rndc-key.sh
    /usr/sbin/ddns-confgen
    /usr/sbin/dnssec-checkds
    /usr/sbin/dnssec-coverage
    /usr/sbin/dnssec-dsfromkey
    /usr/sbin/dnssec-importkey
    /usr/sbin/dnssec-keyfromlabel
    /usr/sbin/dnssec-keygen
    /usr/sbin/dnssec-keymgr
    /usr/sbin/dnssec-revoke
    /usr/sbin/dnssec-settime
    /usr/sbin/dnssec-signzone
    /usr/sbin/dnssec-verify
    /usr/sbin/genrandom
    /usr/sbin/isc-hmac-fixup
    /usr/sbin/lwresd
    /usr/sbin/named
    # 主程序
    /usr/sbin/named-checkconf
    /usr/sbin/named-checkzone
    /usr/sbin/named-compilezone
    /usr/sbin/named-journalprint
    /usr/sbin/nsec3hash
    /usr/sbin/rndc
    # 实现服务关闭或重新加载
    /usr/sbin/rndc-confgen
    /usr/sbin/tsig-keygen
    /usr/share/doc/bind-9.11.4
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch01.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch02.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch03.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch04.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch05.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch06.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch07.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch08.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch09.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch10.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch11.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch12.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.ch13.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.html
    /usr/share/doc/bind-9.11.4/Bv9ARM.pdf
    /usr/share/doc/bind-9.11.4/CHANGES
    /usr/share/doc/bind-9.11.4/README
    /usr/share/doc/bind-9.11.4/isc-logo.pdf
    /usr/share/doc/bind-9.11.4/man.arpaname.html
    /usr/share/doc/bind-9.11.4/man.ddns-confgen.html
    /usr/share/doc/bind-9.11.4/man.delv.html
    /usr/share/doc/bind-9.11.4/man.dig.html
    /usr/share/doc/bind-9.11.4/man.dnssec-checkds.html
    /usr/share/doc/bind-9.11.4/man.dnssec-coverage.html
    /usr/share/doc/bind-9.11.4/man.dnssec-dsfromkey.html
    /usr/share/doc/bind-9.11.4/man.dnssec-importkey.html
    /usr/share/doc/bind-9.11.4/man.dnssec-keyfromlabel.html
    /usr/share/doc/bind-9.11.4/man.dnssec-keygen.html
    /usr/share/doc/bind-9.11.4/man.dnssec-keymgr.html
    /usr/share/doc/bind-9.11.4/man.dnssec-revoke.html
    /usr/share/doc/bind-9.11.4/man.dnssec-settime.html
    /usr/share/doc/bind-9.11.4/man.dnssec-signzone.html
    /usr/share/doc/bind-9.11.4/man.dnssec-verify.html
    /usr/share/doc/bind-9.11.4/man.dnstap-read.html
    /usr/share/doc/bind-9.11.4/man.genrandom.html
    /usr/share/doc/bind-9.11.4/man.host.html
    /usr/share/doc/bind-9.11.4/man.isc-hmac-fixup.html
    /usr/share/doc/bind-9.11.4/man.lwresd.html
    /usr/share/doc/bind-9.11.4/man.mdig.html
    /usr/share/doc/bind-9.11.4/man.named-checkconf.html
    /usr/share/doc/bind-9.11.4/man.named-checkzone.html
    /usr/share/doc/bind-9.11.4/man.named-journalprint.html
    /usr/share/doc/bind-9.11.4/man.named-nzd2nzf.html
    /usr/share/doc/bind-9.11.4/man.named-rrchecker.html
    /usr/share/doc/bind-9.11.4/man.named.conf.html
    /usr/share/doc/bind-9.11.4/man.named.html
    /usr/share/doc/bind-9.11.4/man.nsec3hash.html
    /usr/share/doc/bind-9.11.4/man.nslookup.html
    /usr/share/doc/bind-9.11.4/man.nsupdate.html
    /usr/share/doc/bind-9.11.4/man.pkcs11-destroy.html
    /usr/share/doc/bind-9.11.4/man.pkcs11-keygen.html
    /usr/share/doc/bind-9.11.4/man.pkcs11-list.html
    /usr/share/doc/bind-9.11.4/man.pkcs11-tokens.html
    /usr/share/doc/bind-9.11.4/man.rndc-confgen.html
    /usr/share/doc/bind-9.11.4/man.rndc.conf.html
    /usr/share/doc/bind-9.11.4/man.rndc.html
    /usr/share/doc/bind-9.11.4/named.conf.default
    /usr/share/doc/bind-9.11.4/notes.html
    /usr/share/doc/bind-9.11.4/notes.pdf
    /usr/share/doc/bind-9.11.4/sample
    /usr/share/doc/bind-9.11.4/sample/etc
    /usr/share/doc/bind-9.11.4/sample/etc/named.conf
    /usr/share/doc/bind-9.11.4/sample/etc/named.rfc1912.zones
    /usr/share/doc/bind-9.11.4/sample/var
    /usr/share/doc/bind-9.11.4/sample/var/named
    /usr/share/doc/bind-9.11.4/sample/var/named/data
    /usr/share/doc/bind-9.11.4/sample/var/named/my.external.zone.db
    /usr/share/doc/bind-9.11.4/sample/var/named/my.internal.zone.db
    /usr/share/doc/bind-9.11.4/sample/var/named/named.ca
    /usr/share/doc/bind-9.11.4/sample/var/named/named.empty
    /usr/share/doc/bind-9.11.4/sample/var/named/named.localhost
    /usr/share/doc/bind-9.11.4/sample/var/named/named.loopback
    /usr/share/doc/bind-9.11.4/sample/var/named/slaves
    /usr/share/doc/bind-9.11.4/sample/var/named/slaves/my.ddns.internal.zone.db
    /usr/share/doc/bind-9.11.4/sample/var/named/slaves/my.slave.internal.zone.db
    /usr/share/man/man1/arpaname.1.gz
    /usr/share/man/man1/named-rrchecker.1.gz
    /usr/share/man/man5/named.conf.5.gz
    /usr/share/man/man5/rndc.conf.5.gz
    /usr/share/man/man8/ddns-confgen.8.gz
    /usr/share/man/man8/dnssec-checkds.8.gz
    /usr/share/man/man8/dnssec-coverage.8.gz
    /usr/share/man/man8/dnssec-dsfromkey.8.gz
    /usr/share/man/man8/dnssec-importkey.8.gz
    /usr/share/man/man8/dnssec-keyfromlabel.8.gz
    /usr/share/man/man8/dnssec-keygen.8.gz
    /usr/share/man/man8/dnssec-keymgr.8.gz
    /usr/share/man/man8/dnssec-revoke.8.gz
    /usr/share/man/man8/dnssec-settime.8.gz
    /usr/share/man/man8/dnssec-signzone.8.gz
    /usr/share/man/man8/dnssec-verify.8.gz
    /usr/share/man/man8/genrandom.8.gz
    /usr/share/man/man8/isc-hmac-fixup.8.gz
    /usr/share/man/man8/lwresd.8.gz
    /usr/share/man/man8/named-checkconf.8.gz
    /usr/share/man/man8/named-checkzone.8.gz
    /usr/share/man/man8/named-compilezone.8.gz
    /usr/share/man/man8/named-journalprint.8.gz
    /usr/share/man/man8/named.8.gz
    /usr/share/man/man8/nsec3hash.8.gz
    /usr/share/man/man8/rndc-confgen.8.gz
    /usr/share/man/man8/rndc.8.gz
    /usr/share/man/man8/tsig-keygen.8.gz
    /var/log/named.log
    /var/named
    /var/named/data
    /var/named/dynamic
    /var/named/named.ca
    /var/named/named.empty
    /var/named/named.localhost
    /var/named/named.loopback
    /var/named/slaves
    
    

    启动服务

    [root@localhost ~]# systemctl start named
    [root@localhost ~]# systemctl enable named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
    
    

    查看端口

    [root@localhost ~]# ss -nutlp
    Netid  State      Recv-Q Send-Q    Local Address:Port                   Peer Address:Port
    udp    UNCONN     0      0                 [::1]:53                             [::]:*                   users:(("named",pid=67617,fd=513))
    tcp    LISTEN     0      128               [::1]:953                            [::]:*                   users:(("named",pid=67617,fd=24))
    tcp    LISTEN     0      10                [::1]:53                             [::]:*                   users:(("named",pid=67617,fd=22))
    
    

    实现DNS主服务器搭建

    准备工作

    两台主机,一台作为DNS服务器,一台作为客户端

    设置 DNS服务器的/etc/resolv.conf文件,将DNS指向自己IP

    [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=fc4d728c-858c-41f2-9a0f-8bcbcdfdb804
    DEVICE=ens33
    ONBOOT=yes
    DNS1=127.0.0.1
    DNS2=180.76.76.76
    
    

    改完后,生效一下

    nmcli connection reload
    nmcli connection up ens33
    

    生效完成后/etc/resolv.conf的DNS内容已经改变

    [root@localhost ~]# nmcli connection reload 
    [root@localhost ~]# nmcli connection up ens33 
    Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
    [root@localhost ~]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    search localdomain CentOS8
    nameserver 127.0.0.1
    nameserver 180.76.76.76
    
    

    使用测试工具host、dig、nslookup

    host www.baidu.com DNSSERVER
    
    dig www.baidu.com @DNSSERVER
    
    nslookup可以做交互式
    

    host

    [root@localhost ~]# host www.baidu.com 127.0.0.1
    Using domain server:
    Name: 127.0.0.1
    Address: 127.0.0.1#53
    Aliases: 
    
    www.baidu.com is an alias for www.a.shifen.com.
    www.a.shifen.com has address 14.215.177.38
    www.a.shifen.com has address 14.215.177.39
    
    

    dig

    [root@localhost ~]# dig www.baidu.com @127.0.0.1
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.baidu.com @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46479
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 5, ADDITIONAL: 6
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 49986308e0fe172f521523215ee786b8e2cf8877826cd9f9 (good)
    ;; QUESTION SECTION:# 要求选项,将www.baidu.com解析成A
    ;www.baidu.com.			IN	A
    
    ;; ANSWER SECTION:# 返回结果
    www.baidu.com.		1142	IN	CNAME	www.a.shifen.com.
    www.a.shifen.com.	244	IN	A	14.215.177.38
    www.a.shifen.com.	244	IN	A	14.215.177.39
    
    ;; AUTHORITY SECTION:
    a.shifen.com.		1143	IN	NS	ns2.a.shifen.com.
    a.shifen.com.		1143	IN	NS	ns1.a.shifen.com.
    a.shifen.com.		1143	IN	NS	ns5.a.shifen.com.
    a.shifen.com.		1143	IN	NS	ns4.a.shifen.com.
    a.shifen.com.		1143	IN	NS	ns3.a.shifen.com.
    
    ;; ADDITIONAL SECTION:
    ns1.a.shifen.com.	1143	IN	A	61.135.165.224
    ns4.a.shifen.com.	1143	IN	A	14.215.177.229
    ns5.a.shifen.com.	1143	IN	A	180.76.76.95
    ns3.a.shifen.com.	1143	IN	A	112.80.255.253
    ns2.a.shifen.com.	1143	IN	A	220.181.33.32
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Mon Jun 15 10:33:28 EDT 2020
    ;; MSG SIZE  rcvd: 299
    
    

    nslookup:windows和linux都支持且为交互式

    [root@localhost ~]# nslookup 
    > server 127.0.0.1
    Default server: 127.0.0.1
    Address: 127.0.0.1#53
    > www.baidu.com
    Server:		127.0.0.1
    Address:	127.0.0.1#53
    
    Non-authoritative answer:# 非权威结果
    www.baidu.com	canonical name = www.a.shifen.com.
    Name:	www.a.shifen.com
    Address: 14.215.177.38
    Name:	www.a.shifen.com
    Address: 14.215.177.39
    
    

    查询到的内容是否为权威结果

    [root@localhost ~]# dig www.baidu.com @106.11.211.61
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.baidu.com @106.11.211.61
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 675
    ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
    			#此处有aa就为权威结果 
    ;; WARNING: recursion requested but not available
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.baidu.com.			IN	A
    
    ;; AUTHORITY SECTION:
    baidu.com.		600	IN	SOA	ns1.alidns.com. hostmaster.hichina.com. 2019090319 3600 1200 86400 360
    
    ;; Query time: 34 msec
    ;; SERVER: 106.11.211.61#53(106.11.211.61)
    ;; WHEN: Mon Jun 15 10:43:10 EDT 2020
    ;; MSG SIZE  rcvd: 114
    
    
    [root@localhost ~]# nslookup 
    > server 106.11.211.61
    Default server: 106.11.211.61
    Address: 106.11.211.61#53
    > www.baidu.com
    Server:		106.11.211.61
    Address:	106.11.211.61#53
    
    www.baidu.com	canonical name = www.a.shifen.com.
    Name:	www.a.shifen.com
    Address: 14.215.177.38
    Name:	www.a.shifen.com
    Address: 14.215.177.39
    

    将DNS服务监听所有地址

    修改配置文件

    [root@localhost ~]# rpm -qc bind
    /etc/logrotate.d/named
    /etc/named.conf
    /etc/named.rfc1912.zones
    /etc/named.root.key
    /etc/rndc.conf
    /etc/rndc.key
    /etc/sysconfig/named
    /var/named/named.ca
    /var/named/named.empty
    /var/named/named.localhost
    /var/named/named.loopback
    
    # /etc/named.conf
    
    
    
    [root@localhost ~]# vim /etc/named.conf
    
    //
    // named.conf
    //
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
            listen-on port 53 { 127.0.0.1; };//修改配置localhost 或 0.0.0.0;注释这行效果一样
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";//指定默认文件路径
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            secroots-file   "/var/named/data/named.secroots";
            recursing-file  "/var/named/data/named.recursing";
            allow-query     { localhost; };//允许谁查询,可以改成any;注释这行效果一样
    
            /* 
             - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
             - If you are building a RECURSIVE (caching) DNS server, you need to enable 
               recursion. 
               control to limit queries to your legitimate users. Failing to do so will
               cause your server to become part of large scale DNS amplification 
               attacks. Implementing BCP38 within your network would greatly
               reduce such attack surface 
            */
            recursion yes;
    
            dnssec-enable yes; //这两项最好改成no,加密选项
            dnssec-validation yes;
    
            managed-keys-directory "/var/named/dynamic";
    
            pid-file "/run/named/named.pid";
            session-keyfile "/run/named/session.key";
    
            /* https://fedoraproject.org/wiki/Changes/CryptoPolicy */
            include "/etc/crypto-policies/back-ends/bind.config";
    };
    
    logging {
            channel default_debug {
                    file "data/named.run";
                    severity dynamic;
            };
    };
    
    zone "." IN {
            type hint;
            file "named.ca";// 互联网上13ipv4个根服务器地址,文件路径在上方directory       "/var/named"中
    };
    // 引用其他区域的配置文件,我们在添加自己域时也应该使用这种引用方法
    include "/etc/named.rfc1912.zones";
    include "/etc/named.root.key";
    
    
    

    检查语法

    [root@localhost ~]# named-checkconf 
    [root@localhost ~]# rndc reload
    server reload successful
    

    此时可以实现DNS转发器功能

    查看named.ca内容

    [root@localhost ~]# cat /var/named/named.ca 
    
    ; <<>> DiG 9.11.3-RedHat-9.11.3-3.fc27 <<>> +bufsize=1200 +norec @a.root-servers.net
    ; (2 servers found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46900
    ;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 1472
    ;; QUESTION SECTION:
    ;.				IN	NS
    
    ;; ANSWER SECTION:# 13个根服务器
    .			518400	IN	NS	a.root-servers.net.
    .			518400	IN	NS	b.root-servers.net.
    .			518400	IN	NS	c.root-servers.net.
    .			518400	IN	NS	d.root-servers.net.
    .			518400	IN	NS	e.root-servers.net.
    .			518400	IN	NS	f.root-servers.net.
    .			518400	IN	NS	g.root-servers.net.
    .			518400	IN	NS	h.root-servers.net.
    .			518400	IN	NS	i.root-servers.net.
    .			518400	IN	NS	j.root-servers.net.
    .			518400	IN	NS	k.root-servers.net.
    .			518400	IN	NS	l.root-servers.net.
    .			518400	IN	NS	m.root-servers.net.
    
    ;; ADDITIONAL SECTION:
    # IPV4地址
    a.root-servers.net.	518400	IN	A	198.41.0.4
    b.root-servers.net.	518400	IN	A	199.9.14.201
    c.root-servers.net.	518400	IN	A	192.33.4.12
    d.root-servers.net.	518400	IN	A	199.7.91.13
    e.root-servers.net.	518400	IN	A	192.203.230.10
    f.root-servers.net.	518400	IN	A	192.5.5.241
    g.root-servers.net.	518400	IN	A	192.112.36.4
    h.root-servers.net.	518400	IN	A	198.97.190.53
    i.root-servers.net.	518400	IN	A	192.36.148.17
    j.root-servers.net.	518400	IN	A	192.58.128.30
    k.root-servers.net.	518400	IN	A	193.0.14.129
    l.root-servers.net.	518400	IN	A	199.7.83.42
    m.root-servers.net.	518400	IN	A	202.12.27.33
    # IPV6地址		  缓存时间518400以秒为单位
    a.root-servers.net.	518400	IN	AAAA	2001:503:ba3e::2:30
    b.root-servers.net.	518400	IN	AAAA	2001:500:200::b
    c.root-servers.net.	518400	IN	AAAA	2001:500:2::c
    d.root-servers.net.	518400	IN	AAAA	2001:500:2d::d
    e.root-servers.net.	518400	IN	AAAA	2001:500:a8::e
    f.root-servers.net.	518400	IN	AAAA	2001:500:2f::f
    g.root-servers.net.	518400	IN	AAAA	2001:500:12::d0d
    h.root-servers.net.	518400	IN	AAAA	2001:500:1::53
    i.root-servers.net.	518400	IN	AAAA	2001:7fe::53
    j.root-servers.net.	518400	IN	AAAA	2001:503:c27::2:30
    k.root-servers.net.	518400	IN	AAAA	2001:7fd::1
    l.root-servers.net.	518400	IN	AAAA	2001:500:9f::42
    m.root-servers.net.	518400	IN	AAAA	2001:dc3::35
    
    ;; Query time: 24 msec
    ;; SERVER: 198.41.0.4#53(198.41.0.4)
    ;; WHEN: Thu Apr 05 15:57:34 CEST 2018
    ;; MSG SIZE  rcvd: 811
    

    改完配置之后尽量reload而不是重启服务

    • 重启服务后会改变PID导致正在使用的用户断开
    rndc reload
    

    实现正向解析

    将flamenca.cn解析成IP

    主要正向解析DNS服务器

    type:master

    type:hint

    主DNS服务器配置

    // 在/etc/named.conf中
    // 注释掉下面两行
    // listen-on port 53 { 127.0.0.1; };
    // allow-query     { localhost; };
    
    // 域名解析范围
    zone "ZONE_NAME" IN {
            type {hint|master|slave|forward};
            file "ZONE_NAME.zone";
    };
    
    // 通过include导入数据配置
    include "/etc/named.XXX.zones";
    // 如
    include "/etc/named.rfc1912.zones";
    

    查看文件include "/etc/named.rfc1912.zones";

    [root@localhost ~]# vim /etc/named.rfc1912.zones 
    
    // named.rfc1912.zones:
    //
    // Provided by Red Hat caching-nameserver package
    //
    // ISC BIND named zone configuration for zones recommended by
    // RFC 1912 section 4.1 : localhost TLDs and address zones
    // and https://tools.ietf.org/html/rfc6303
    // (c)2007 R W Franks
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    // Note: empty-zones-enable yes; option is default.
    // If private ranges should be forwarded, add
    // disable-empty-zone "."; into options
    //
    zone "flamenca.com" IN {
        type master;
        file "flamenca.com.zone" //准备创建该目录
        
    }
        
    zone "localhost.localdomain" IN {
            type master;
            file "named.localhost";
            allow-update { none; };
    };
    
    zone "localhost" IN {
            type master;
            file "named.localhost";
            allow-update { none; };
    };
    
    zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
            type master;
            file "named.loopback";
            allow-update { none; };
    };
    
    zone "1.0.0.127.in-addr.arpa" IN {
            type master;
            file "named.loopback";
            allow-update { none; };
    };
    
    zone "0.in-addr.arpa" IN {
            type master;
            file "named.empty";
            allow-update { none; };
    };
    
    

    设定zone文件权限、所有组

    自己创建zone文件时需注意权限匹配:权限一般为640,其所有组为named

    [root@localhost named]# cd /var/named/
    [root@localhost named]# ll
    total 16
    drwxrwx---. 2 named named   23 Jun 15 10:31 data
    drwxrwx---. 2 named named   60 Jun 17 06:50 dynamic
    -rw-r-----. 1 root  named 2253 Apr 24 09:54 named.ca
    -rw-r-----. 1 root  named  152 Apr 24 09:54 named.empty
    -rw-r-----. 1 root  named  152 Apr 24 09:54 named.localhost
    -rw-r-----. 1 root  named  168 Apr 24 09:54 named.loopback
    drwxrwx---. 2 named named    6 Apr 24 09:54 slaves
    
    

    为什么不运行其他用户的权限?如果other有权限会让黑客得知公司的网络架构从而攻击之

    创建我的zone文件

    [root@localhost named]# pwd
    /var/named
    [root@localhost named]# touch flamenca.com.zone
    [root@localhost named]# id named
    uid=25(named) gid=25(named) groups=25(named)
    # 修改所属组
    [root@localhost named]# chgrp named flamenca.com.zone 
    [root@localhost named]# ll
    total 16
    drwxrwx---. 2 named named   23 Jun 15 10:31 data
    drwxrwx---. 2 named named   60 Jun 17 06:50 dynamic
    # 我新建的文件
    -rw-r--r--  1 root  named    0 Jun 17 07:41 flamenca.com.zone
    -rw-r-----. 1 root  named 2253 Apr 24 09:54 named.ca
    -rw-r-----. 1 root  named  152 Apr 24 09:54 named.empty
    -rw-r-----. 1 root  named  152 Apr 24 09:54 named.localhost
    -rw-r-----. 1 root  named  168 Apr 24 09:54 named.loopback
    drwxrwx---. 2 named named    6 Apr 24 09:54 slaves
    
    [root@localhost named]# chmod o= flamenca.com.zone 
    [root@localhost named]# ll flamenca.com.zone 
    -rw-r----- 1 root named 0 Jun 17 07:41 flamenca.com.zone
    
    

    zone文件内容参考

    # 可以参考namd.localhost
    [root@localhost named]# pwd
    /var/named
    [root@localhost named]# cat named.localhost  
    ###############   SOA   #######################
    
    $TTL 1D # 1D=1天
    # 管理的本域
    @	IN SOA	@ rname.invalid. (
    					0	; serial # 序列号
    					1D	; refresh
    					1H	; retry
    					1W	; expire
    					3H )	; minimum # 否定答案的TTL值
    # 前面IP不写,即从上一条继承即为@
    	NS	@
    	A	127.0.0.1
    	AAAA	::1
    
    
    ###############################################
    

    各种资源记录

    区域解析库:由众多RR组成:

    ​ 资源记录:Resource Record,RR

    ​ 记录类型:A,AAAA,RTP,SOA,NS,CNAME,MX

    • SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录

    • A:Internet Address,作用,FQDN——>IP

    • AAAA:FQDN——>IPv6

    • PTR:PoinTeR,IP——>FQDN

    • NS:Name Server,专门用于标明当前区域的DNS服务器

    • CNAME:Canonical Name,别名记录

    • MX:Mail eXchange,邮件交换器

    • TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮件)记录,https验证等,如下示例:

      _dnsauth TXT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      

    资源记录(RR)定义的格式

    name		[TTL]		IN		rr_type		value
    #域名			缓存时间	固定值	  上述资源类型	IP
    

    注意:

    • TTL可从全局继承
    • 使用"@"符号可用于引用当前区域的名字
    • 同一个名字可以通过多条记录定义多个不同的值,此时DNS服务器会以轮询的方式响应
    • 同一个值也可能有多个不同的定义名字,通过多个不同的名字指向同一个值进行定义;此仅仅表示通过多个不同的名字可以找到同一个主机

    主从服务器同步机制

    推:

    ​ 由主服务器将数据推送到从服务器进行同步

    拉:

    ​ 由从服务器将主服务器的数据拉到自身进行同步;有时间间隔

    从服务器序列号机制

    • 解析库版本号:从服务器器解析库变化时,其序列递增
    • 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔
    • 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔
    • 过期时长:从服务器联系不到主服务器时,多久以后停止服务
    • 通知机制(推操作):主服务器解析库发生变化时,会主动通知从服务器

    判断数据更新的条件:数据库的序列号

    SOA记录

    • name:当前区域的名字。例如”flamenca.com."
    • value:有多部分组成

    注意:

    • 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字

    • 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换例如:admin.flamenca.com

    • 从主服务区域传输相关定义以及否定的答案的统一的TTL

    范例:

    
    # 									主DNS服务器名字		管理员邮箱
    flameca.com.	86400	IN	SOA		ns.flamenca.com.	admin.flamenca.com.	(
    		1234	;# 序列号
    		2H		;# 刷新时间
    		10M		;# 重试时间
    		1W		;# 过期时间 Week
    		1D		;# 否定答案的TTL值,将不存在的、错误的记录缓存下来
    	)	
    

    开始仿写

    $TTL 1D
    @       IN      SOA     ns1.flamenca.com.       admin.flamenca.com.(
     
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
    
            NS      ns1
    ns1     A       192.168.33.129
    webserv A       192.168.33.130
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    
    
    

    检查配置文件与zone文件格式是否正确

    [root@localhost named]# named-checkconf 
    
    
    [root@localhost named]# named-checkzone flamenca.com /var/named/flamenca.com.zone 
    zone flamenca.com/IN: loaded serial 20200618
    OK
    
    

    配置完成reload

    [root@localhost named]# rndc reload
    server reload successful
    

    dig测试www.flamenca.com

    [root@localhost named]# dig www.flamenca.com
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.flamenca.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45146
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    ;;	显示	aa
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 92156a57011b8a24f1b619f95eeb77481eedcaa191394c91 (good)
    ;; QUESTION SECTION:
    ;www.flamenca.com.		IN	A
    
    ;; ANSWER SECTION:				;;CNAME 解析成功
    www.flamenca.com.	86400	IN	CNAME	webserv.flamenca.com.
    webserv.flamenca.com.	86400	IN	A	192.168.33.130
    
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.129#53(192.168.33.129)
    ;; WHEN: Thu Jun 18 10:16:40 EDT 2020
    ;; MSG SIZE  rcvd: 148
    
    

    开启另一台虚拟机192.168.33.130

    # 安装好httpd服务
    [root@localhost ~]# echo www.flamenca.com > /var/www/html/index.html
    [root@localhost ~]# systemctl start httpd
    
    

    curl访问网站内容

    
    [root@localhost named]# curl www.flamenca.com
    www.flamenca.com
    
    

    正向解析到此完成。

    A记录

    name:某主机的FQDN

    value:主机名对应主机的IP地址

    避免用户错写名称时候给错误答案,可通过泛域名解析进行解析至特定地址

    www.flamenca.com.		IN		A		192.168.33.129
    $GENERATE 1-254 HOST$	IN		A		1.2.3.$
    *.flamenca.com.			IN		A		192.168.33.129
    

    允许动态更新

    动态更新:可以通过远程更新区域数据库的资源记录。存在安全风险

    实现动态更新,需要在指定的zone语句块中加入

    Allow-update {any;}
    # 可以在大括号中加入IP指定可以远程更改数据库的主机
    

    image-20200619003322405.png

    实现反向解析区域

    ARPA顶级域

    将IP——>FQDN

    # 192.168.33.130——>www.flamenca.com
    
    # 按照:130.33.168.192的反向格式来解析
    
    	# 域名为:33.168.192.in-addr.arpa
    

    建立反向区域

    [root@localhost named]# vim /etc/named.rfc1912.zones 
    
    // named.rfc1912.zones:
    //
    // Provided by Red Hat caching-nameserver package
    //
    // ISC BIND named zone configuration for zones recommended by
    // RFC 1912 section 4.1 : localhost TLDs and address zones
    // and https://tools.ietf.org/html/rfc6303
    // (c)2007 R W Franks
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    // Note: empty-zones-enable yes; option is default.
    // If private ranges should be forwarded, add
    // disable-empty-zone "."; into options
    //
    
    zone "localhost.localdomain" IN {
            type master;
            file "named.localhost";
            allow-update { none; };
    };
    ...
    // 反向区域的例子
    zone "1.0.0.127.in-addr.arpa" IN {
            type master;
            file "named.loopback";
            allow-update { none; };
    };
    // 仿写
    zone "33.168.192.in-addr.arpa" IN {
    	type  master;
        file "192.168.33.zone"
    };
    
    zone "0.in-addr.arpa" IN {
            type master;
            file "named.empty";
            allow-update { none; };
    };
    
    zone "flamenca.com" IN {
            type master;
            file "flamenca.com.zone";
    };
    
    

    创建对应的192.168.33.zone文件

    [root@localhost named]# cd /var/named
    [root@localhost named]# vim 192.168.33.zone 
    
    $TTL 1D
    @       IN SOA  master.flamenca.com. admin.flamenca.com. (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
                            NS      master.flamenca.com.          ; master.flamenca.com
    master.flamenca.com.    A       192.168.33.129  ; DNS server IP
    130                     PTR     www.flamenca.com.       ; 130=192.168.33.130
    129                     PTR     master.flamenca.com.
    
    

    dig -t ptr测试

    [root@localhost named]# dig -t ptr 130.33.168.192.in-addr.arpa
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> -t ptr 130.33.168.192.in-addr.arpa
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57764
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 4144c2e7128bcbfe71b5ddc85eeb903f2aff58e8dfc42c99 (good)
    ;; QUESTION SECTION:
    ;130.33.168.192.in-addr.arpa.	IN	PTR
    
    ;; ANSWER SECTION:
    130.33.168.192.in-addr.arpa. 86400 IN	PTR	www.flamenca.com.
    
    ;; AUTHORITY SECTION:
    33.168.192.in-addr.arpa. 86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.129#53(192.168.33.129)
    ;; WHEN: Thu Jun 18 12:03:11 EDT 2020
    ;; MSG SIZE  rcvd: 151
    
    

    dig -x反向解析命令

    [root@localhost named]# dig -x 192.168.33.130
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> -x 192.168.33.130
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48564
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 89904e21ae5e908c7364f7c45eeb90b72b27912d58d0fa0c (good)
    ;; QUESTION SECTION:
    ;130.33.168.192.in-addr.arpa.	IN	PTR
    
    ;; ANSWER SECTION:
    130.33.168.192.in-addr.arpa. 86400 IN	PTR	www.flamenca.com.
    
    ;; AUTHORITY SECTION:
    33.168.192.in-addr.arpa. 86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.129#53(192.168.33.129)
    ;; WHEN: Thu Jun 18 12:05:11 EDT 2020
    ;; MSG SIZE  rcvd: 151
    
    

    在邮件中能通过反向解析来校验是否为合法主机,来排除垃圾邮件

    多个主机

    搭建多个DNS服务器实现容错

    一个主机指向多个IP

    $TTL 1D
    @       IN      SOA     ns1.flamenca.com.       admin.flamenca.com.(
     
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
    
            NS      ns1
    ns1     A       192.168.33.129
    ##########一个主机指向多个IP实现容错###########
    webserv A       192.168.33.130
    webserv A       192.168.33.131
    webserv A       192.168.33.132
    #####对外是一个域名,背后是多个服务器,实现负载均衡#####
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    
    

    实现容错

    用户敲错域名,用泛域名指向设置好的主机

    $TTL 1D
    @       IN      SOA     ns1.flamenca.com.       admin.flamenca.com.(
     
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
    
            NS      ns1
    ns1     A       192.168.33.129
    webserv A       192.168.33.130
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    ########泛域名##############
    *		CNAME	webserv
    ###########################
    # 输入其他内容,则指向webserv主机
    

    注意:*匹配不了空内容

    * 匹配不了不带前缀的 flamenca.com
    

    解决方案

    $TTL 1D
    @       IN      SOA     ns1.flamenca.com.       admin.flamenca.com.(
     
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
    
            NS      ns1
    ns1     A       192.168.33.129
    webserv A       192.168.33.130
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    ########泛域名##############
    *		CNAME	webserv
    ###########################
    # 输入其他内容,则指向webserv主机
    
    #########@通配符A记录############
    @		A		192.168.33.129
    ##########不能指向别名CNAME######
    

    image-20200619003508804.png

    搭建从服务器

    主要功能是实现数据的同步

    虚拟机192.168.33.130为从服务器

    [root@localhost ~]# yum install bind -y
    

    修改配置文件

    [root@localhost ~]# vim /etc/named.conf 
    
    //
    // named.conf
    //
    
    options {
    //      listen-on port 53 { 127.0.0.1; };
            ...
    //      allow-query     { localhost; };
    };
    # 注释掉这两行
    

    修改named.rfc1912.zones文件,创建与主服务器相同的zone

    
    [root@localhost ~]# vim /etc/named.rfc1912.zones 
    
    // named.rfc1912.zones:
    //
    //
    
    zone "flamenca.com" IN {
            type slave;# #
            masters {192.168.33.129;};# 主服务器地址
            file "slaves/flamecna.com.zone.slave";# 该路径为相对路径
    };
    
    ...
    

    从服务器的数据存放/var/named/slaves

    重启named

    [root@localhost ~]# systemctl restart named
    
    [root@localhost ~]# ll /var/named/slaves/
    total 4
    -rw-r--r-- 1 named named 422 Jun 19 09:00 flamecna.com.zone.slave
    # 成功
    # 该文件无法打开,非文本文件,只是一种数据文件
    

    在主服务器设定中增加从服务器的负载均衡

    增加主服务推送数据设置:在设置中增加NS记录

    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
            
            NS      master
            NS      slave	# 命名无所谓,需要有指向从服务器的记录
    master  A       192.168.33.129
    slave   A       192.168.33.130	# 从服务器解析IP
    webserv A       192.168.33.130
    webserv A       192.168.33.129
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    
    

    从服务及时同步的方法

    # 删除原下载的slave文件,重启named服务
    
    # 要让从服务更新服务,首先要更新主服务器的配置的序列号
    

    查看日志文件信息

    [root@localhost ~]# tail /var/log/messages 
    
    

    .129上查看

    [root@localhost named]# dig www.flamenca.com @192.168.33.130
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.flamenca.com @192.168.33.130
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37118
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: d486ed5b13c2f6b138aafd7d5eec0f245ea686e6c545bf36 (good)
    ;; QUESTION SECTION:
    ;www.flamenca.com.		IN	A
    
    ;; ANSWER SECTION:
    www.flamenca.com.	86400	IN	CNAME	webserv.flamenca.com.
    webserv.flamenca.com.	86400	IN	A	192.168.33.130
    
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.130#53(192.168.33.130)
    ;; WHEN: Thu Jun 18 13:04:39 EDT 2020
    ;; MSG SIZE  rcvd: 148
    
    

    解析成功

    主服务器的安全问题

    如何限制从服务?

    centos6 中可以直接抓取DNS数据信息

    dig -t axfr flamenca.com @192.168.33.129
    

    指定从服务器主机抓取数据

    vim /etc/named.conf
    
    allow-transfer	{192.168.33.130;};
    
    # 从服务也应有相应涉及
    allow-transfer	{none;};
    

    实现子域

    在父域的配置文件/var/named/flamenca.com.zone中加入子域信息

    [root@localhost named]# vim flamenca.com.zone 
    
    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
            NS      master
            NS      slave
    www.ziyu01.flamenca.com.    A       1.1.1.2
    blog.ziyu01.flamenca.com.   A       1.1.1.3
    
    master  A       192.168.33.129
    slave   A       192.168.33.130
    webserv A       192.168.33.130
    webserv A       192.168.33.129
    www     CNAME   webserv
    app     A       1.1.1.1
    db      A       2.2.2.2
    
    

    创建完成后重启服务

    systemctl restart named
    

    dig测试

    [root@localhost named]# dig www.ziyu01.flamenca.com
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.ziyu01.flamenca.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34439
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: bdfe8b341c9306586f9e1aae5eec4993aef5ff24ca69e188 (good)
    ;; QUESTION SECTION:
    ;www.ziyu01.flamenca.com.	IN	A
    
    ;; ANSWER SECTION:
    www.ziyu01.flamenca.com. 86400	IN	A	1.1.1.2
    
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    flamenca.com.		86400	IN	NS	slave.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    slave.flamenca.com.	86400	IN	A	192.168.33.130
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Fri Jun 19 01:13:55 EDT 2020
    ;; MSG SIZE  rcvd: 169
    
    

    成功

    子域的DNS服务器

    父域与子域分开

    # 设定名为 ziyu02的子域 IP为192.168.33.131
    [root@localhost named]# vim flamenca.com.zone 
    
    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
            NS      master
            NS      slave
    ziyu02  NS      ziyu02serv
    www.ziyu01.flamenca.com.        A       1.1.1.2
    blog.ziyu02.flamenca.com.       A       1.1.1.3
    ziyu02serv                      A       192.168.33.131
    master  A       192.168.33.129
    slave   A       192.168.33.130
    webserv A       192.168.33.130
    
    

    子域 DNS服务器192.168.33.131建立

    [root@centos8 named]# vim /etc/named.conf 
    
    //
      
    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            secroots-file   "/var/named/data/named.secroots";
            recursing-file  "/var/named/data/named.recursing";
    //      allow-query     { localhost; };
            allow-transfer  {none;};
    
    

    /etc/named.rfc1912.zones中增加zone子域

    zone "ziyu02.flamenca.com" IN {
            type master;
            file "ziyu02.flamenca.com.zone";
    
    };
    
    

    进入/var/named/建立ziyu02.flamenca.com.zone

    [root@centos8 named]# vim ziyu02.flamenca.com.zone
    
    $TTL 1D
    @       IN      SOA     ziyu02  admin   (
                    1
                    1H
                    5M
                    1D
                    3H
    
    );
    
                    NS      ziyu02
    ziyu02          A       192.168.33.131
    www             A       192.33.33.33
    ~                                      
    
    ###
    [root@centos8 named]# chmod 640 ziyu02.flamenca.com.zone 
    [root@centos8 named]# chgrp named ziyu02.flamenca.com.zone 
    
    ###启动服务###
    [root@centos8 named]# systemctl enable --now named
    Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.
    ##		   ##
    ###检查语法###
    [root@centos8 named]# named-checkconf
    [root@centos8 named]# named-checkzone ziyu02.flamenca.com ziyu02.flamenca.com.zone 
    zone ziyu02.flamenca.com/IN: loaded serial 1
    OK
    
    
    

    dig 测试

    [root@centos8 named]# dig www.ziyu02.flamenca.com @192.168.33.129
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.ziyu02.flamenca.com @192.168.33.129
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7516
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 8c25356f918d2b2e5f6f471d5eec62c946fc6fc46dc582d5 (good)
    ;; QUESTION SECTION:
    ;www.ziyu02.flamenca.com.	IN	A
    
    ;; ANSWER SECTION:
    www.ziyu02.flamenca.com. 86400	IN	A	192.33.33.33
    
    ;; AUTHORITY SECTION:
    ziyu02.flamenca.com.	86400	IN	NS	ziyu02serv.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    ziyu02serv.flamenca.com. 86400	IN	A	192.168.33.131
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.33.129#53(192.168.33.129)
    ;; WHEN: Fri Jun 19 03:01:29 EDT 2020
    ;; MSG SIZE  rcvd: 137
    
    

    成功

    实现转发

    DNS转发

    利用DNS转发,可以将用户的DNS请求转发至指定的DNS服务,而非默认的根DNS服务器,并将指定服务器查询的返回结果进行缓存,提高效率

    注意:

    • 被转发的服务器需要能够为请求者做递归,否则转发请求不予进行
    • 在全局配置块中,关闭dnssec功能
     dnssec-enable no; 
     dnssec-validation no;
    

    转发方式

    全局转发

    对非本机所负责解析区域的请求,全转发给指定的服务器

    在全局配置中实现:

    // named.conf
    
    //
    
    options {
            listen-on port 53 { localhost; }; // 将此处服务器指向根服务器或是转发服务器
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            secroots-file   "/var/named/data/named.secroots";
            recursing-file  "/var/named/data/named.recursing";
            allow-query     { any; };
        	
        	forward fist|only;//first 先转发指定的dns服务器,如果查不了,则亲自去问根服务器
        					 // only	只转发给指定的dns服务器,如果查询不了,则返回错误信息
        	forwarders	{ip;};
    };
    

    特定区域的转发

    实现智能DNS

    把网站搬到家门口,在每个城市都设置主机

    GSLB:Global Server Load Balance 全局负载均衡

    GSLB是服务器和链路进行综合判断来决定由哪个地点的服务器来提供服务,实现异地服务器群来保证服务质量,一般大公司会将大部分流量分散在DNS服务器上,从而保证服务的速率

    GSLB的主要目的是在整个网络范围内将用户的 请求定向到最近的节点(或者区域)

    GSLB分为基于DNS实现、基于重定向实现、基于路由协议实现,其中通用的是基于DNS解析的方式,这就是智能DNS的逻辑

    [root@localhost named]# dig www.taobao.com
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.taobao.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19239
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
    ;; QUESTION SECTION:
    ;www.taobao.com.			IN	A
    
    ;; ANSWER SECTION:
    www.taobao.com.		5	IN	CNAME	www.taobao.com.danuoyi.tbcache.com.
    www.taobao.com.danuoyi.tbcache.com. 5 IN A	182.106.155.238
    www.taobao.com.danuoyi.tbcache.com. 5 IN A	182.106.155.237
    
    ;; Query time: 11 msec
    ;; SERVER: 192.168.33.2#53(192.168.33.2)
    ;; WHEN: Fri Jun 19 12:01:41 EDT 2020
    ;; MSG SIZE  rcvd: 120
    
    

    以淘宝为例,输入www.taobao.com的时候,DNS服务器返回的是另外一个服务器地址www.taobao.com.danuoyi.tbcache.com.

    CDN内容分发网络

    CDN服务商收费方式为按流量收费,举个例子:一个1K的图片被访问,就收1K的钱,1M的图片被访问就收1M的钱,所以对于资源的压缩很重要,我们之后会讲这方面的内容

    CDN工作原理

    • 用户向浏览器输入www.taobao.com这个域名,浏览器第一次发现没有本地的dns缓存(提一下:bind中清除dns缓存的命令为rndc flush),则向淘宝网站DNS服务器请求
    • 淘宝网站的DNS域名解析器中设置了CNAME,指向了www.taobao.com.danuoyi.tbcache.com.,即该请求指向了CDN网络中智能DNS负载均衡系统
    • 智能DNS负载均衡系统解析域名,把对用户相应速度快的IP节点返回给用户
    • 用户向该返回的IP节点(CDN服务器)发出请求
    • 由于是第一次访问,CDN服务器会通过Cache内部专用DNS解析得到此域名的原web站点的IP,向原站点服务器发起请求,并在CDN服务器上缓存内容
    • 请求结果发送给用户

    智能DNS服务实现

    bind中的ACL

    acl把一个或多个地址归并为一个集合,并通过一个统一的名称调用

    注意:只能先定义后使用;因此一般定义在配置文件中,处于option的前面

    格式如下:

    acl acl_name {
    	ip;
    	net/prelen;
    	...
    
    };
    

    范例

    acl shanghai {
    	127.16.0.0/16; # 假设这个网段为伤害网段
    	10.10.10.10;# 则分配的地址为10.10.10.10,也可以增加其他ip
    
    };
    

    bind有四个内置的acl(访问列表)

    • none:没有一个主机
    • any:任意主机
    • localhost:本机
    • localnet:本机的IP同掩码运算后得到的网络地址

    访问控制的指令

    allow-query {}# 允许查询的主机:白名单
    allow-transfer {}# 允许区域传送的主机:白名单
    allow-recursion {}# 允许递归的主机,建议全局使用,意思是是否运行去互联网上找DNS服务器返回结果
    allow-updata {}# 允许更新区域数据库中的内容
    

    VIEW视图

    将ACL和区域数据库实现对应关系,实现智能DNS

    • 一个bind服务器可定义多个view,每个view中可定义一个或多个zone
    • 每个view用来匹配一组客户端
    • 多个view内可能需要对同一个区域进行解析,dan使用不同的区域解析库文件

    注意

    • 一旦启用了view,所有的zone都只能定义 在view中
    • 仅仅在允许递归请求的 客户端所在view中定义根区域
    • 客户端请求到达时,是自上而下检查每个view所服务的客户端列表

    view 格式

    # 北京的VIEW
    view VIEW_NAME {
    	match-clients {beijingnet; };
    	zone "flamenca.com" {
    		type master;
    		file "flamenca.com.zone.bj";
    	};
    	include "/etc/named.rfc1912.zones";
    
    };
    
    # 上海的VIEW
    view VIEW_NAME {
    	match-clients {shanghainet; };
    	zone "flamenca.com" {
    		type master;
    		file "flamenca.com.zone.bj";
    	};
    	include "/etc/named.rfc1912.zones";
    
    };
    

    实验步骤

    配置一个域名,当从beijing网段访问则返回1.1.1.1、shanghai访问则返回2.2.2.2、other则返回3.3.3.3

    /etc/named.conf中定义三个acl:beijing、shanghai、other

    acl beijingnet {
    
    };
    
    acl shanghainet {
    
    };
    
    acl other {
    
    };
    
    
    options {
            //listen-on port 53 { localhost; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            secroots-file   "/var/named/data/named.secroots";
            recursing-file  "/var/named/data/named.recursing";
            //allow-query     { any; };
    
    

    准备两台虚拟机,创建两个不同的网段

    # 采用增加网卡的形式
    # 192.168.0.8/24
    [root@localhost ~]# ip a a 192.168.0.3/24 dev ens33
    [root@localhost ~]# ip a 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 00:0c:29:9a:35:c7 brd ff:ff:ff:ff:ff:ff
        inet 192.168.33.129/24 brd 192.168.33.255 scope global dynamic noprefixroute ens33
           valid_lft 1643sec preferred_lft 1643sec
        inet 192.168.0.3/24 scope global ens33
           valid_lft forever preferred_lft forever
        inet6 fe80::5f95:77de:7cad:df9e/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
    
    

    在CentOS7中增加地址192.168.0.6/24

    [root@localhost ~]# ip a a 192.168.0.6/24 dev eth0
    [root@localhost ~]# ip a 
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b6:94:7d brd ff:ff:ff:ff:ff:ff
        inet 192.168.33.130/24 brd 192.168.33.255 scope global noprefixroute dynamic eth0
           valid_lft 1013sec preferred_lft 1013sec
        inet 192.168.0.6/24 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::28d1:a712:6021:917a/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
    

    假设:

    • 192.168.33.130/24网段是beijing网段
    • 192.168.0.6/27网段是shanghai网段
    • 127.0.0.1/8网段是other

    那么开始配置DNS服务器/etc/named.com中的acl

    acl beijingnet {
            192.168.33.0/24;
    
    };
    
    acl shanghainet {
            192.168.0.0/24;
    
    
    };
    
    acl other {
            any;
    
    };
    
    options {
            //listen-on port 53 { localhost; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            secroots-file   "/var/named/data/named.secroots";
            recursing-file  "/var/named/data/named.recursing";
            //allow-query     { any; };
    ...
    
    

    配置三套zone文件

    [root@localhost ~]# vim /etc/named.conf 
    [root@localhost ~]# cd /var/named/
    [root@localhost named]# cp -p flamenca.com.zone flamenca.com.zone.bj 
    [root@localhost named]# cp -p flamenca.com.zone flamenca.com.zone.sh
    [root@localhost named]# cp -p flamenca.com.zone flamenca.com.zone.other
    
    

    配置文件flamenca.com.zone.bj

    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
            NS      master
    master  A       192.168.33.129
    webserv A       1.1.1.1
    www     CNAME   webserv
    
    

    配置文件flamenca.com.zone.sh

    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
            
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
            NS      master
    master  A       192.168.33.129
    webserv A       2.2.2.2
    www     CNAME   webserv
    
    
    

    配置文件flamenca.com.zone.other

    $TTL 1D
    @       IN      SOA     master.flamenca.com.    admin.flamenca.com. (
    
            20200618        ;
            1D              ;
            10M             ;
            3D              ;
            2H)             ;
    
            NS      master
    master  A       192.168.33.129
    webserv A       3.3.3.3
    www     CNAME   webserv
    
    

    关联数据库至配置文件/etc/named.conf

    
    
    acl beijingnet {
            192.168.33.0/24;
    
    };
    
    acl shanghainet {
            192.168.0.0/24;
    
    
    };
    
    acl other {
            any;
    
    };
    
    ###################################
    
    ...
    
    ###################################
    VIEW beijingVIEW {
            match-clients {beijingnet; };
            include "/etc/named.rfc1912.zones.bj";
    
    };
    
    VIEW shanghaiVIEW {
            match-clients {shanghai; };
            include "/etc/named.rfc1912.zones.sh";
    
    };
    
    VIEW otherVIEW {
            match-clients {other; };
            include "/etc/named.rfc1912.zones.other";
    
    };
    
    

    注意:一旦有了VIEW,其他的zone配置信息都必须放入VIEW中

    所以我们将配置文件中原有的zone配置信息全部都放入在vim /etc/named.rfc1912.zones

    /etc/named.rfc1912.zones文件拷贝三份,分别增加后缀.bj .sh .other

    [root@localhost named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
    [root@localhost named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
    [root@localhost named]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.other
    
    

    分别修改内容

    [root@localhost named]# vim /etc/named.rfc1912.zones.bj 
    
    
    zone "." IN {
            type hint;
            file "named.ca";
    };
    
    
    ...
    
    zone "flamenca.com" IN {
            type master;
            file "flamenca.com.zone.bj";# 将对应的数据库文件指向对应的区域,以此类推其他sh.other
    };
              
    

    配置好后重启服务

    [root@localhost named]# systemctl restart named
    

    开始测试

    使用dig,分别访问192.168.33.129(只会从网卡192.168.33.130出去访问)、192.168.0.3(只会从网卡192.168.0.3出去访问)、127.0.0.1;

    [root@localhost ~]# dig www.flamenca.com @192.168.33.129
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.flamenca.com @192.168.33.129
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8069
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.flamenca.com.		IN	A
    
    ;; ANSWER SECTION:
    www.flamenca.com.	86400	IN	CNAME	webserv.flamenca.com.
    webserv.flamenca.com.	86400	IN	A	1.1.1.1
    # 此处成功显示1.1.1.1
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.129#53(192.168.33.129)
    ;; WHEN: Sun Jun 21 09:24:11 CST 2020
    ;; MSG SIZE  rcvd: 120
    
    
    [root@localhost ~]# dig www.flamenca.com @192.168.0.3
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.flamenca.com @192.168.0.3
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13911
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.flamenca.com.		IN	A
    
    ;; ANSWER SECTION:
    www.flamenca.com.	86400	IN	CNAME	webserv.flamenca.com.
    webserv.flamenca.com.	86400	IN	A	2.2.2.2
    # 此处成功显示2.2.2.2
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.0.3#53(192.168.0.3)
    ;; WHEN: Sun Jun 21 09:24:41 CST 2020
    ;; MSG SIZE  rcvd: 120
    
    
    [root@localhost named]# dig www.flamenca.com @127.0.0.1
    
    ; <<>> DiG 9.11.13-RedHat-9.11.13-3.el8 <<>> www.flamenca.com @127.0.0.1
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53370
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ; COOKIE: 57b53af9b14534f9083ddf865eee47ff9a65289e3c32efd0 (good)
    ;; QUESTION SECTION:
    ;www.flamenca.com.		IN	A
    
    ;; ANSWER SECTION:
    www.flamenca.com.	86400	IN	CNAME	webserv.flamenca.com.
    webserv.flamenca.com.	86400	IN	A	3.3.3.3
    # 成功显示3.3.3.3,注意该地址是回环网卡地址,所以只在DNS服务器上测试
    ;; AUTHORITY SECTION:
    flamenca.com.		86400	IN	NS	master.flamenca.com.
    
    ;; ADDITIONAL SECTION:
    master.flamenca.com.	86400	IN	A	192.168.33.129
    
    ;; Query time: 0 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Sat Jun 20 13:31:43 EDT 2020
    ;; MSG SIZE  rcvd: 148
    
    

    实现Internet的DNS架构

    在这里插入图片描述

    实验准备

    利用cobbler安装8台虚拟机并配置好yum源

    准备8台虚拟机

    所以为了方便测试,服务器搭建顺序为

    # Client
    192.168.33.6
    # WEB SERVER
    192.168.33.68
    # MASTER DNS
    192.168.33.48
    # SLAVE DNS
    192.168.33.58
    # COM DNS
    192.168.33.38
    # ROOT DNS
    192.168.33.28
    # FORWARD DNS
    192.168.33.18
    # LOCAL DNS
    192.168.33.8
    
    • webserv 192.168.33.68安装http、bind服务
    • client192.168.33.6安装bind-utils服务
    • 其他都安装bind

    开始配置

    webserv

    [root@webserv ~]# curl 192.168.33.68
    www.coralloveme.com
    # 安装http服务,创建www.coralloveme.com主页。意思意思
    

    配置named.conf

    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
    
    
    
    dnssec-enable no;
    dnssec-validation no;
    
    

    Client

    # 配置dns指向local dns
    [root@client ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
    
    TYPE=Ethernet
    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.33.6
    NETMASK=255.255.255.0
    ONBOOT=yes
    DNS1=192.168.33.8
    ####
    [root@client ~]# systemctl restart network
    [root@client ~]# cat /etc/resolv.conf 
    # Generated by NetworkManager
    nameserver 192.168.33.8
    ####
    [root@client ~]# curl 192.168.33.68
    www.coralloveme.com
    
    

    将DNS设置为LOCAL DNS后测试解析域名

    [root@client ~]# dig www.coralloveme.com
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12868
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	85918	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	85918	IN	NS	slave.com.
    coralloveme.com.	85918	IN	NS	master.com.
    
    ;; ADDITIONAL SECTION:
    master.com.		85918	IN	A	192.168.33.48
    slave.com.		85918	IN	A	192.169.33.58
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.8#53(192.168.33.8)
    ;; WHEN: Sun Jun 21 17:20:51 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    curl测试

    [root@client ~]# curl www.coralloveme.com
    www.coralloveme.com
    

    MASTER DNS

    # 配置named.conf
    options {
    //      listen-on port 53 { 127.0.0.1; };
       ...
    //      allow-query     { localhost; };
            allow-transfer  {192.168.33.58; };
    
    		dnssec-enable no;
            dnssec-validation no;
    
    
    [root@master-dns ~]# vim /etc/named.rfc1912.zones 
    zone "coralloveme.com" IN {
            type master;
            file "coralloveme.com.zone";
    };
    
    
    [root@master-dns ~]# cd /var/named/
    [root@master-dns named]# cp named.localhost coralloveme.com.zone
    [root@master-dns named]# ll coralloveme.com.zone 
    -rw-r----- 1 root root 152 Jun 21 15:37 coralloveme.com.zone
    ################
    
    [root@master-dns named]# vim coralloveme.com.zone 
    
    $TTL 1D
    @       IN SOA  master admin (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      master
            NS      slave
    master  A       192.168.33.48
    slave   A       192.168.33.58
    www     A       192.168.33.68
    #####
    # 注意将该文件所属组设置为named
    #####
    [root@master-dns named]# systemctl restart named
    

    client测试

    [root@client ~]# dig www.coralloveme.com @192.168.33.48
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.48
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23461
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86400	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86400	IN	NS	slave.coralloveme.com.
    coralloveme.com.	86400	IN	NS	master.coralloveme.com.
    
    ;; ADDITIONAL SECTION:
    master.coralloveme.com.	86400	IN	A	192.168.33.48
    slave.coralloveme.com.	86400	IN	A	192.168.33.58
    
    ;; Query time: 2 msec
    ;; SERVER: 192.168.33.48#53(192.168.33.48)
    ;; WHEN: Sun Jun 21 16:10:37 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    SLAVE DNS

    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
            allow-transfer  {none;};
    
    
            dnssec-enable no;
            dnssec-validation no;
    
    
    // named.rfc1912.zones:
    //
    //
    zone "coralloveme.com" IN {
            type slave;
            masters {192.168.33.48;};
            file "slaves/coralloveme.com.zone.bak";
    };
    # 这里取名是什么,备份的文件就叫啥名字
    
    
    [root@slave-dns ~]# systemctl restart named
    
    

    检查数据库是否复制过来了

    [root@slave-dns ~]# ll /var/named/slaves
    total 4
    -rw-r--r-- 1 named named 364 Jun 21 16:19 coralloveme.com.zone.bak
    
    

    client测试从节点

    [root@client ~]# dig www.coralloveme.com @192.168.33.58
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.58
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13335
    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86400	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86400	IN	NS	slave.coralloveme.com.
    coralloveme.com.	86400	IN	NS	master.coralloveme.com.
    
    ;; ADDITIONAL SECTION:
    master.coralloveme.com.	86400	IN	A	192.168.33.48
    slave.coralloveme.com.	86400	IN	A	192.168.33.58
    
    ;; Query time: 0 msec
    ;; SERVER: 192.168.33.58#53(192.168.33.58)
    ;; WHEN: Sun Jun 21 16:21:17 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    注意:当master有改动且序列号发生变化时,才会备份到slave

    COM DNS

    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
    
            dnssec-enable no;
            dnssec-validation no;
    
    
    // named.rfc1912.zones:
    //
    //
    zone "com" IN {
            type master;
            file "com.zone";
    };
    
    

    区域数据库文件

    [root@com-dns named]# vim com.zone 
    
    $TTL 1D
    @       IN SOA  com admin (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      com
    coralloveme     NS      master
    coralloveme     NS      slave
    com     A       192.168.33.38
    master  A       192.168.33.48
    slave   A       192.169.33.58
    
    
    ####
    [root@com-dns named]# systemctl restart named
    
    

    client测试

    [root@client ~]# dig www.coralloveme.com @192.168.33.38
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.38
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50700
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86400	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86400	IN	NS	master.com.
    coralloveme.com.	86400	IN	NS	slave.com.
    
    ;; ADDITIONAL SECTION:
    master.com.		86400	IN	A	192.168.33.48
    slave.com.		86400	IN	A	192.169.33.58
    
    ;; Query time: 3 msec
    ;; SERVER: 192.168.33.38#53(192.168.33.38)
    ;; WHEN: Sun Jun 21 16:44:47 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    ROOT DNS

    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
    
            dnssec-enable no;
            dnssec-validation no;
            
            
     ####注意
     zone "." IN {
            type master;
            file "root.zone";
    };
    
    
    [root@root-dns named]# vim root.zone 
    
    $TTL 1D
    @       IN SOA  master admin (
                                            0       ; serial
                                            1D      ; refresh
                                            1H      ; retry
                                            1W      ; expire
                                            3H )    ; minimum
            NS      master
    com     NS      com
    master  A       192.168.33.28
    com     A       192.168.33.38
    
    
    

    client测试

    [root@client ~]# dig www.coralloveme.com @192.168.33.28
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.28
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22151
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86400	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86400	IN	NS	slave.com.
    coralloveme.com.	86400	IN	NS	master.com.
    
    ;; ADDITIONAL SECTION:
    master.com.		86400	IN	A	192.168.33.48
    slave.com.		86400	IN	A	192.169.33.58
    
    ;; Query time: 2 msec
    ;; SERVER: 192.168.33.28#53(192.168.33.28)
    ;; WHEN: Sun Jun 21 17:04:01 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    FORWARD DNS

    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
    #########
    #注意设置转发服务这里必须改成no
    #########
    		dnssec-enable no;
            dnssec-validation no;
    

    FORWARD DNS是直接从根目录递归询问的所以直接将named.ca修改根服务器地址即可

    [root@forward-dns ~]# vim /var/named/named.ca 
    
    
    ; <<>> DiG 9.11.3-RedHat-9.11.3-3.fc27 <<>> +bufsize=1200 +norec @a.root-servers.net
    ; (2 servers found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46900
    ;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 1472
    ;; QUESTION SECTION:
    ;.                              IN      NS
    
    ;; ANSWER SECTION:
    .                       518400  IN      NS      a.root-servers.net.
    
    ;; ADDITIONAL SECTION:
    a.root-servers.net.     518400  IN      A       192.168.33.28
    
    ;; Query time: 24 msec
    ;; SERVER: 198.41.0.4#53(198.41.0.4)
    ;; WHEN: Thu Apr 05 15:57:34 CEST 2018
    ;; MSG SIZE  rcvd: 811
    
    
    #####
    [root@forward-dns ~]# systemctl restart named
    
    

    client测试

    [root@client ~]# dig www.coralloveme.com @192.168.33.18
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.18
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25600
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86400	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86400	IN	NS	master.com.
    coralloveme.com.	86400	IN	NS	slave.com.
    
    ;; ADDITIONAL SECTION:
    master.com.		86400	IN	A	192.168.33.48
    slave.com.		86400	IN	A	192.169.33.58
    
    ;; Query time: 3 msec
    ;; SERVER: 192.168.33.18#53(192.168.33.18)
    ;; WHEN: Sun Jun 21 17:12:48 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    LOCAL DNS

    本地dns设置一个转发即可

    [root@local-dns ~]# vi /etc/named.conf 
    
    //
    // named.conf
    //
    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
    // server as a caching only nameserver (as a localhost DNS resolver only).
    //
    // See /usr/share/doc/bind*/sample/ for example named configuration files.
    //
    // See the BIND Administrator's Reference Manual (ARM) for details about the
    // configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
    
    options {
    //      listen-on port 53 { 127.0.0.1; };
            listen-on-v6 port 53 { ::1; };
            directory       "/var/named";
            dump-file       "/var/named/data/cache_dump.db";
            statistics-file "/var/named/data/named_stats.txt";
            memstatistics-file "/var/named/data/named_mem_stats.txt";
            recursing-file  "/var/named/data/named.recursing";
            secroots-file   "/var/named/data/named.secroots";
    //      allow-query     { localhost; };
    ###########
    #增加forward选项
    ###########
            forward only;
            forwarders      { 192.168.33.18;};
      ...
    #########
    #注意设置转发服务这里必须改成no
    #########
            dnssec-enable no;
            dnssec-validation no;
            
    # 
    [root@forward-dns ~]# systemctl restart named
    
    

    client测试

    [root@client ~]# dig www.coralloveme.com @192.168.33.8
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.coralloveme.com @192.168.33.8
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42512
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; udp: 4096
    ;; QUESTION SECTION:
    ;www.coralloveme.com.		IN	A
    
    ;; ANSWER SECTION:
    www.coralloveme.com.	86019	IN	A	192.168.33.68
    
    ;; AUTHORITY SECTION:
    coralloveme.com.	86019	IN	NS	slave.com.
    coralloveme.com.	86019	IN	NS	master.com.
    
    ;; ADDITIONAL SECTION:
    master.com.		86019	IN	A	192.168.33.48
    slave.com.		86019	IN	A	192.169.33.58
    
    ;; Query time: 1 msec
    ;; SERVER: 192.168.33.8#53(192.168.33.8)
    ;; WHEN: Sun Jun 21 17:19:10 CST 2020
    ;; MSG SIZE  rcvd: 137
    
    

    至此DNS架构已经全部搭建完成,可以将client的DNS改为LOCAL DNS的IP

    DNS排错

    一次window验证DNS操作过程

    我已经在Linux主机上配置好了域名为flamenca.com的DNS信息

    但在windows电脑中该域名解析的内容却为其它IP

    检查hosts文件,也没有相关信息

    之后查出原因:

    • 网卡中的IP是自动获取,与虚拟机中的IP非同一个网段,所以在NAT模式网卡VM8中增加DNS192.168.33.129即Linux主机地址
    • 将网卡的DNS设置为192.168.33.129
    • 此时再ping 192.168.33.129出来的就是我自己测试的界面
    展开全文
  • 这时候,DNS作用就是网站地址翻译成IP地址,来方便用户的记忆。所以,为了不需要经常更新DNS的记录,静态IP地址的作用就显现出来了。 动态IP并非是个真实的IP,你提供的域名经服务器动态分配一个,以供用户在
  • 静态IP有什么优势?

    2021-05-12 11:42:36
    动态IP和静态IP区别在于:...当我们想访问百度时候,我们就在浏览器输入地址,但是在网络中,数据传输是以IP作为原、目的地址,而不是一个网址域名,DNS作用就是网站域名翻译成IP,方便用户记忆。 故为了不经常
  • DNS域名服务协议

    2020-11-13 15:05:34
    DNS 全称是 Domain Name System 或者 Domain Name Service,它主要作用就是人们所熟悉网址 (域名) “翻译电脑可以理解 IP 地址,这个过程叫做 DNS 域名解析。 DNS在浏览器中输入URL到页面渲染过程中...
  • 什么是DNS

    2020-03-31 22:40:52
    DNS是来解析域名服务。 比如,域名www.baidu.com 是对应了一个ip, 我们上百度搜索,只有知道了ip地址才能上, dns可以将域名翻译成ip地址。 不同dns,提供服务略有差别。 ...
  • 前言 我们在上一篇说到,IP 地址的发明把我们纷乱复杂的网络设备整齐划一地统一在了同一个网络中。 但是类似于 192.168.1.0 这样的地址并不便于人类记忆,于是发明了 ...换句话说,DNS 是将域名映射到响应 IP 地址的服.
  • 每日刷题Day_14

    2018-10-29 14:14:20
    用来将域名翻译成IP地址 用来将IP地址翻译成硬件地址 用来将MAC翻译成IP地址 2.网桥是用于()设备。 正确答案: D 你答案: D (正确) 物理层 网络层 应用层 数据连路层 3.在异常处理中,若try中代码可能产生...
  • 它主要作用就是人们所熟悉网址 (域名) “翻译电脑可以理解 IP 地址,这个过程叫做 DNS 域名解析。 在浏览器访问一个网站是通过IP地址加端口号去访问,但是一般普通用户访问一个网站不可能去...
  • DNS最主要作用就是将域名翻译成ip地址。所以这个过程一旦被入侵劫持,用户就无法正常浏览网页。 IIS7网站监控可以及时防控网站风险,快速准确监控网站是否遭到各种劫持攻击,网站在全国是否能正常
  • 【Android 网络协议 四】DNS解析

    千次阅读 2018-02-15 11:20:39
    我们无法记住大量的IP地址,所以就需要DNS服务器能把域名翻译成IP地址。一、什么是DNS? 它所提供的服务是用来主机名和域名转换为IP地址的工作。我们知道域名和IP地址是一一对应的关系,但是多个域名可以对应同一...
  • 什么是DNS,作用是什么?

    千次阅读 2020-02-01 10:48:44
    DNS 全称是 Domain Name System 或者 Domain Name Service,它主要作用就是人们所熟悉网址 (域名)如“www.baidu.com” “翻译电脑可以理解 IP 地址,这个过程叫做 DNS 域名解析。 打个比方,我们登...
  • 1、桥接  连接到本地网卡,把本机网卡看作是虚拟交换机  ping ip地址  arping -i eth0 192.168.11.11 返回... DNS将域名翻译成ip地址  snat 网络地址转换 3、仅主机模式 4、ifconfig eth0 up 打...
  • 但是IP 地址的表示形式是数字,很难进行记忆(比如116.213.120.232),所以为每个 IP取一个人类更易记忆的域名形式(比如www.google.com),而通过DNS 来把解析域名成为 IP方便人理解的命名格式解析计算机能够...
  • DNS笔记

    2019-05-31 17:23:23
    DNS可以理解为一位翻译官,将域名翻译成计算机可识别的IP地址。 DNS作用 给出一个域名,返回该域名可以访问的IP地址。 主机给出域名 -> DNS获得域名 -> 翻译后获得 ip -> 主机获得ip ...
  • 域名翻译成IP地址的软件称为域名系统,即DNS。它是一种管理名字的方法。 (1)域名系统(Domain Name System缩写DNS,Domain Name被译为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个...
  • 什么是DNS泄漏?我为什么要关心?

    千次阅读 2019-04-17 11:32:59
    什么是DNS泄漏?我为什么要关心? 使用匿名或隐私服务时,...DNS或域名系统用于诸如www.privacyinternational.org之类的域名翻译成数字IP地址,例如123.123.123.123,它们是在Internet上路由数据包所必需。每当...
  • 一篇文章搞懂DNS

    2021-05-19 11:11:48
    可以称他为域名翻译官,负责将域名翻译成IP地址. 2、IP地址:能够标记网络上计算机唯一数字串. 3、域名是网络上某一台计算机名称,用于在数据传输时对计算机定位表标识.域名是有层次结构
  • DNS和活动目录关系

    2017-11-08 14:38:00
    DNS(Domain Name System – 域名解析系统)是一个 Internet 标准服务,它可以将域名如 www.microsoft.com 翻译成计算机能够识别二进制 TCP/IP 地址。 Windows 2000/2003 域名是以 DNS 分层命名结构为基础...
  • DNS(Domain Name System,即域名系统)服务可以提供域名IP地址之间自动转换,用于不易记忆的IP地址翻译成相对来说易于记忆的域名。这种地址翻译过程成为域名解析,而提供域名解析服务网络主机,通常被...
  • 网页从输入URL到渲染完成的全过程 总的来说,整个过程可以分成三部分: 1.DNS解析URL的过程; 2.浏览器发送请求与服务器交互的过程; 3.浏览器对接收到的...DNS解析就是将域名翻译成IP地址的过程。 首先会查询缓存,
  • 企业级web服务之DNC&CDN,网络通信基本都是基于TCP/IP协议,而TCP/IP是基于IP地址的,所以计算机在网络上进行通信时只能识 ...这是因为DNS服务器我们的域名翻译了IP地址,然后 调出IP地址所对应的网页。
  • 每个由E.164号码转化而成的域名可以通过ENUM DNS服务器翻译为一系列网络资源记录,从而使国际统一E.164电话号码成为可以在互联网中使用网络地址资源。通过使用ENUM机制,接入E.164号码可以映射传统电话...
  • 本文讲的是 : 三种类型的DNS攻击以及应对方法, 【IT168方案】 DNS服务器能够将IP地址翻译成域名,这就是为什么你可以在浏览器输入cnw.com.cn来访问我们的网站,而不需要记住IP地址。  当DNS被攻击时,可能发生各种...
  • 6.13 选择本地IP地址的一个基本问题 60 6.14 TCP套接字连接到服务器 61 6.15 使用TCP和服务器通信 61 6.16 从TCP连接上读取响应 62 6.17 关闭TCP连接 63 6.17.1 需要部分关闭 63 6.17.2 部分关闭的操作 ...

空空如也

空空如也

1 2 3
收藏数 52
精华内容 20
关键字:

可以将域名翻译成ip地址的是