• DNS域名系统 - CDN内容分发网络


    目录

    知识点1:什么是DNS域名系统

     DNS系统的作用:

    DNS系统的分布式数据结构

    /etc/named/named.ca 文件:13台根域名服务器存放的文件

    DNS的记录类型

     DNS的解析过程

    DNS服务器的类型

     知识点2:搭建DNS服务器

    1、下载bind软件

    2、启动

    3、查看服务有没有启动

    4、验证本机能否作为dns服务器提供域名解析

    知识点3:如何让别的机器也能使用我们的dns服务器?

    1、修改/etc/named.conf文件

     2、刷新服务,关闭防火墙和selinux

    3、测试

    知识点4:dig命令,nslookup命令,host命令

    知识点5:什么是CDN?

    CDN的优势

    知识点1:什么是DNS域名系统

    DNS(Domain Name System 域名系统)

    早期使用hosts文件解析域名,但这样会导致一些问题

            主机名称重复

            主机维护困难

            hosts文件只能给自己做解析

     DNS系统的作用:

            正向解析:根据主机名称(域名)查找对应的IP地址

            反向解析:根据IP地址查找对应的主机域名

    DNS系统的分布式数据结构

    ########################################################################################   

    /etc/named/named.ca 文件:13台根域名服务器存放的文件

    1. [root@wangsh ~]# cat /var/named/named.ca
    2. ; <<>> DiG 9.11.3-RedHat-9.11.3-3.fc27 <<>> +bufsize=1200 +norec @a.root-servers.net
    3. ; (2 servers found)
    4. ;; global options: +cmd
    5. ;; Got answer:
    6. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46900
    7. ;; flags: qr aa; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 27
    8. ;; OPT PSEUDOSECTION:
    9. ; EDNS: version: 0, flags:; udp: 1472
    10. ;; QUESTION SECTION:
    11. ;. IN NS
    12. ;; ANSWER SECTION:
    13. . 518400 IN NS a.root-servers.net.
    14. . 518400 IN NS b.root-servers.net.
    15. . 518400 IN NS c.root-servers.net.
    16. . 518400 IN NS d.root-servers.net.
    17. . 518400 IN NS e.root-servers.net.
    18. . 518400 IN NS f.root-servers.net.
    19. . 518400 IN NS g.root-servers.net.
    20. . 518400 IN NS h.root-servers.net.
    21. . 518400 IN NS i.root-servers.net.
    22. . 518400 IN NS j.root-servers.net.
    23. . 518400 IN NS k.root-servers.net.
    24. . 518400 IN NS l.root-servers.net.
    25. . 518400 IN NS m.root-servers.net.
    26. ;; ADDITIONAL SECTION:
    27. a.root-servers.net. 518400 IN A 198.41.0.4
    28. b.root-servers.net. 518400 IN A 199.9.14.201
    29. c.root-servers.net. 518400 IN A 192.33.4.12
    30. d.root-servers.net. 518400 IN A 199.7.91.13
    31. e.root-servers.net. 518400 IN A 192.203.230.10
    32. f.root-servers.net. 518400 IN A 192.5.5.241
    33. g.root-servers.net. 518400 IN A 192.112.36.4
    34. h.root-servers.net. 518400 IN A 198.97.190.53
    35. i.root-servers.net. 518400 IN A 192.36.148.17
    36. j.root-servers.net. 518400 IN A 192.58.128.30
    37. k.root-servers.net. 518400 IN A 193.0.14.129
    38. l.root-servers.net. 518400 IN A 199.7.83.42
    39. m.root-servers.net. 518400 IN A 202.12.27.33
    40. a.root-servers.net. 518400 IN AAAA 2001:503:ba3e::2:30
    41. b.root-servers.net. 518400 IN AAAA 2001:500:200::b
    42. c.root-servers.net. 518400 IN AAAA 2001:500:2::c
    43. d.root-servers.net. 518400 IN AAAA 2001:500:2d::d
    44. e.root-servers.net. 518400 IN AAAA 2001:500:a8::e
    45. f.root-servers.net. 518400 IN AAAA 2001:500:2f::f
    46. g.root-servers.net. 518400 IN AAAA 2001:500:12::d0d
    47. h.root-servers.net. 518400 IN AAAA 2001:500:1::53
    48. i.root-servers.net. 518400 IN AAAA 2001:7fe::53
    49. j.root-servers.net. 518400 IN AAAA 2001:503:c27::2:30
    50. k.root-servers.net. 518400 IN AAAA 2001:7fd::1
    51. l.root-servers.net. 518400 IN AAAA 2001:500:9f::42
    52. m.root-servers.net. 518400 IN AAAA 2001:dc3::35
    53. ;; Query time: 24 msec
    54. ;; SERVER: 198.41.0.4#53(198.41.0.4)
    55. ;; WHEN: Thu Apr 05 15:57:34 CEST 2018
    56. ;; MSG SIZE rcvd: 811

     ########################################################################################  

    DNS的记录类型

    ########################################################################################   

     DNS的解析过程

     以www.sxkeji.com.cn为例:

    首先客户机会先查看浏览器缓存里面有没有对应的域名解析记录,如果没有就到hosts文件里面查找,如果hosts文件里面没有就到本地域名服务器里面查询,

    如果本地域名服务器里面也没有的话,就到根DNS服务器里面查询,根DNS服务器收到查询后发现是以.cn结尾的,于是就让本地域名服务器去cn服务器查询

    cn服务器发现是以com.cn结尾的,就让本地域名服务器去com.cn服务器查询,com.cn服务器又指向sxkeji.com.cn服务器,sxkeji.com服务器就告诉本地域名服务器www.sxkeji.com  web服务器的IP地址,然后本地域名服务器就告诉客户机这个web服务器的IP地址,然后客户机就可以访问这个服务器。

    ########################################################################################   

    DNS服务器的类型

    缓存域名服务器

            也称为高速缓存服务器

            通过向其他域名查询获得域名 -- ip地址记录

            将域名查询结果缓存到本地

    主域名服务器

            特定DNS区域的官方服务器,就有唯一性,权威性

            负责维护该区域内所有域名 -- ip的映射记录

    从域名服务器

            也称为辅助域名服务器

            其维护的 域名 -- ip 地址记录来源于主域名服务器 

    ######################################################################################## 

     知识点2:搭建DNS服务器

    1、下载bind软件

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

    2、启动

    1. [root@wangsh ~]# service named start
    2. Redirecting to /bin/systemctl start named.service

    3、查看服务有没有启动

    查询使用UDPP协议

    主从复制使用TCP

    1. [root@wangsh ~]# ps aux| grep named
    2. named 1541 0.0 5.7 168300 57484 ? Ssl 11:31 0:00 /usr/sbin/named -u named -c /etc/named.conf
    3. root 1565 0.0 0.0 112824 988 pts/0 R+ 11:32 0:00 grep --color=auto named
    4. [root@wangsh ~]# ss -anplut | grep name
    5. udp UNCONN 0 0 127.0.0.1:53 *:* users:(("named",pid=1541,fd=512))
    6. udp UNCONN 0 0 [::1]:53 [::]:* users:(("named",pid=1541,fd=513))
    7. tcp LISTEN 0 10 127.0.0.1:53 *:* users:(("named",pid=1541,fd=21))
    8. tcp LISTEN 0 128 127.0.0.1:953 *:* users:(("named",pid=1541,fd=23))
    9. tcp LISTEN 0 10 [::1]:53 [::]:* users:(("named",pid=1541,fd=22))
    10. tcp LISTEN 0 128 [::1]:953 [::]:* users:(("named",pid=1541,fd=24))

    4、验证本机能否作为dns服务器提供域名解析

    首先修改本机的resolv.conf文件,这个文件存放了DNS客户机的一些配置

    默认应该是114.114.114.114,我们将它修改成127.0.0.1,让它使用我们本机作为dns服务器

    1. [root@wangsh ~]# vim /etc/resolv.conf
    2. nameserver 127.0.0.1

    然后ping一下www.baidu.com看能否上网,如果ping的通就表示我们刚才配置的dns服务器是可以使用的

    1. [root@wangsh ~]# ping 114.114.114.114
    2. PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
    3. 64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=30.6 ms
    4. 64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=28.4 ms
    5. ^C
    6. --- 114.114.114.114 ping statistics ---
    7. 3 packets transmitted, 2 received, 33% packet loss, time 2008ms
    8. rtt min/avg/max/mdev = 28.427/29.523/30.620/1.109 ms
    9. [root@wangsh ~]# ping www.baidu.com
    10. PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
    11. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=35.8 ms
    12. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=33.0 ms
    13. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=32.1 ms
    14. ^C
    15. --- www.a.shifen.com ping statistics ---
    16. 3 packets transmitted, 3 received, 0% packet loss, time 2702ms
    17. rtt min/avg/max/mdev = 32.125/33.676/35.833/1.573 ms

    但是目前我们的dns服务器只能给自己的机器做域名解析

    ########################################################################################  

    知识点3:如何让别的机器也能使用我们的dns服务器?

    1、修改/etc/named.conf文件

    默认配置:

     将监听端口和ip地址都修改为any

    默认只允许本机来查询,将allow-query也修改为any,允许任何机器访问

    修改后的配置:

     2、刷新服务,关闭防火墙和selinux

    1. [root@wangsh ~]# service named restart
    2. Redirecting to /bin/systemctl restart named.service
    3. [root@wangsh ~]# service firewalld stop
    4. Redirecting to /bin/systemctl stop firewalld.service
    5. [root@wangsh ~]# setenforce 0
    6. [root@wangsh ~]# getenforce
    7. Permissive

    3、测试

    使用一台linux服务器,修改/etc/resolv.conf文件,指定刚才配置的dns服务器,发现任然可以正常上网

    1. [root@nginx-server ~]# vim /etc/resolv.conf
    2. nameserver 192.168.44.132
    1. [root@nginx-server ~]# ping 114.114.114.114
    2. PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
    3. 64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=27.9 ms
    4. ^C
    5. --- 114.114.114.114 ping statistics ---
    6. 1 packets transmitted, 1 received, 0% packet loss, time 0ms
    7. rtt min/avg/max/mdev = 27.951/27.951/27.951/0.000 ms
    8. [root@nginx-server ~]# ping www.baidu.com
    9. PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
    10. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=45.2 ms
    11. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=32.3 ms
    12. 64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=143 ms
    13. ^C
    14. --- www.a.shifen.com ping statistics ---
    15. 3 packets transmitted, 3 received, 0% packet loss, time 3016ms
    16. rtt min/avg/max/mdev = 32.384/73.648/143.321/49.544 ms

    ######################################################################################## 

    知识点4:dig命令,nslookup命令,host命令

    dig是一个用于查询DNS名称服务器的灵活工具

    1. [root@wangsh ~]# dig www.baidu.com
    2. ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> www.baidu.com
    3. ;; global options: +cmd
    4. ;; Got answer:
    5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37874
    6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    7. ;; OPT PSEUDOSECTION:
    8. ; EDNS: version: 0, flags:; udp: 512
    9. ;; QUESTION SECTION:
    10. ;www.baidu.com. IN A
    11. ;; ANSWER SECTION:
    12. www.baidu.com. 941 IN CNAME www.a.shifen.com.
    13. www.a.shifen.com. 189 IN A 14.215.177.39
    14. www.a.shifen.com. 189 IN A 14.215.177.38
    15. ;; Query time: 26 msec
    16. ;; SERVER: 114.114.114.114#53(114.114.114.114)
    17. ;; WHEN: 五 9月 09 15:31:30 CST 2022
    18. ;; MSG SIZE rcvd: 101

    nslookup命令是一个查询dns域名服务器的程序

    1. [root@wangsh ~]# nslookup www.baidu.com
    2. Server: 114.114.114.114
    3. Address: 114.114.114.114#53
    4. Non-authoritative answer:
    5. www.baidu.com canonical name = www.a.shifen.com.
    6. Name: www.a.shifen.com
    7. Address: 14.215.177.38
    8. Name: www.a.shifen.com
    9. Address: 14.215.177.39

    host是一个执行DNS查找的简单实用程序。 

    1. [root@wangsh ~]# host www.baidu.com
    2. www.baidu.com is an alias for www.a.shifen.com.
    3. www.a.shifen.com has address 14.215.177.38
    4. www.a.shifen.com has address 14.215.177.39
    5. [root@wangsh ~]# host www.jd.com
    6. www.jd.com is an alias for www.jd.com.gslb.qianxun.com.
    7. www.jd.com.gslb.qianxun.com is an alias for www.jdcdn.com.
    8. www.jdcdn.com is an alias for img20.360buyimg.com.s.galileo.jcloud-cdn.com.
    9. img20.360buyimg.com.s.galileo.jcloud-cdn.com is an alias for img20.jcloud-cdn.com.
    10. img20.jcloud-cdn.com has address 175.6.49.3

    ######################################################################################## 

    知识点5:什么是CDN?

    CDN的全称是Content Delivery Network,即内容分发网络,CDN是构建的现有网络基础之上的智能虚拟网络,依靠部署在全国各地的边缘服务器,通过中心平台的负载均衡,内容分发,调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率,CDN的关键技术主要有内容存储和分发技术

    CDN的优势

    1、提高网站访问速度和提高用户访问的成功性

    2、加强网站的安全和源站的安全

    3、可扩展性高,突发或者意外情况扩展速度快

    4、维护成本低

  • 相关阅读:
    【深度好文】到底什么是质量意识?如何衡量,如何提升?
    docker如何设置开机启动呢?
    MySQL不常用查询
    【centos】【Redis】【systemd】Redis进程守护
    linux查看文件内容命令more/less/cat/head/tail/grep
    UVM实战笔记(六)
    什么是 CASB,在网络安全中的作用
    使用 Clion (cmake) 开发FreeRTOS
    卓越:12年开发老兵甩出SpringBoot突击小册,仅7天Github获赞98.5K
    GitHub下载量从19暴涨到5W,这份架构师学习路线只用了一晚
  • 原文地址:https://blog.csdn.net/qq_48391148/article/details/126777058