• DNS解析与DNS缓存清理


    DNS是什么?

    域名系统 (DNS) 将人类可读的域名 (例如,www.amazon.com) 转换为机器可读的 IP 地址 (例如,192.0.2.44)。

    DNS解析流程

    以dns解析www.example.com 为例。

    • 从浏览器dns缓存中,获取dns解析结果,获取成功的话,直接返回。失败进入下一步
    • 从本地dns缓存获取解析结果,失败的话进入下一步
    • 向设置的dns服务器(一般为ISPInternet 服务提供商的dns服务器)发起dns解析请求(其中路由器缓存和运营商dns缓存需要考虑),失败的话进入下一步
    • ISP 的 DNS 解析程序将 www.example.com 的请求转发到 DNS 根名称服务器。
    • ISP 的 DNS 解析程序再次转发 www.example.com 的请求,这次转发到 .com 域的一个 TLD 名称服务器。.com 域的名称服务器使用与 example.com 域相关的四个 Amazon Route 53 名称服务器的名称来响应该请求。
    • ISP 的 DNS 解析程序选择一个 Amazon Route 53 名称服务器,并将 www.example.com 的请求转发到该名称服务器。
    • Amazon Route 53 名称服务器在 example.com 托管区域中查找 www.example.com 记录,获得相关值,例如,Web 服务器的 IP 地址 (192.0.2.44),并将 IP 地址返回至 DNS 解析程序。
    • ISP 的 DNS 解析程序最终获得用户需要的 IP 地址。解析程序将此值返回至 Web 浏览器。DNS 解析程序还会将 example.com 的 IP 地址缓存 (存储) 您指定的时长,以便它能够在下次有人浏览 example.com 时更快地作出响应。有关更多信息,请参阅存活期 (TTL)。
    • Web 浏览器将 www.example.com 的请求发送到从 DNS 解析程序中获得的 IP 地址。这是您的内容所处位置,例如,在 Amazon EC2 实例中或配置为网站终端节点的 Amazon S3 存储桶中运行的 Web 服务器。
    • 192.0.2.44 上的 Web 服务器或其他资源将 www.example.com 的 Web 页面返回到 Web 浏览器,且 Web 浏览器会显示该页面。

    修改dns解析

    hosts文件保存了本地的dns解析映射关系,通过修改hosts文件,可以改变请求时的域名解析。

    windows修改hosts

    文件路径:C:/Windows/System32/drivers/etc/hosts

    在文件后面添加域名映射关系,一行一条数据,ip在前,域名在后,多个域名可以解析成同一ip。

    案例:

    # Copyright (c) 1993-2009 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    #      102.54.94.97     rhino.acme.com          # source server
    #       38.25.63.10     x.acme.com              # x client host
    
    # localhost name resolution is handled within DNS itself.
    #	127.0.0.1       localhost
    #	::1             localhost
    10.4.112.202		win-op1a7tfrvi1
    

    修改保存之后,本机访问win-op1a7tfrvi1域名的请求,都会解析为10.4.112.202。

    Linux修改hosts

    文件路径:/etc/hosts

    修改方式与windows一致。

    案例:

    验证:

    清理DNS缓存

    windows清理缓存

    查看缓存列表

    命令:ipconfig /displaydns

    作用:查看本机当前dns缓存

    附图:

    清理缓存

    命令:ipconfig /flushdns

    作用:删除本机dns缓存

    附图:

    chrome清理dns缓存

    浏览器访问chrome://net-internals/#dns,可以看到dns选项中有clear host cache选项,点击即可。

    Linux清理缓存

    linux中的缓存管理工具有多种,主要包括nscd、dnsmasp、rndc等,只需要有一个管理工具即可,这里记录nscd清理缓存的方法。

    命令:nscd -i hosts

    作用:清理本机dns缓存

    常见问题:

    解决方法:

    # 安装
    yum install nscd -y
    # 启动服务
    systemctl start nscd
    # 配置自启动
    systemctl enable nscd
    

    参考链接:https://aws.amazon.com/cn/route53/what-is-dns/

    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    联合主键有什么用?
    在Spring Boot中使用数据库事务
    Integer.valueOf
    Linux上安装Zookeeper以及一些注意事项
    一个开源的会议管理系统,适合初学者练手(老司机请忽略)
    一个开源的会议管理系统,适合初学者练手(老司机请忽略)
    IntelliJ IDEA中创建Web聚合项目(Maven多模块项目)
    从高考到程序员之毕业流水帐
    Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
    Shiro中的授权问题(二)
  • 原文地址:https://www.cnblogs.com/52why/p/15402979.html
Copyright © 2020-2023  润新知