5154

Good Luck To You!

linux查看dns及ttl时间

Linux中,使用dig命令查看DNS及TTL时间,`dig example

Linux系统中,可以通过多种方法查看DNS配置及TTL时间,以下是详细介绍:

查看DNS配置

  1. 查看/etc/resolv.conf文件

    • 命令cat /etc/resolv.conf
    • 说明:该文件包含了系统当前的DNS服务器配置信息,通常情况下,会看到以nameserver开头的行,后面跟着DNS服务器的IP地址。
      nameserver 8.8.8.8
      nameserver 8.8.4.4
    • 注意:此文件中的配置可能会被网络管理器或DHCP客户端动态修改。
  2. 查看网卡配置文件

    • Debian/Ubuntu系统:一般位于/etc/network/interfaces/etc/netplan/*.yaml文件中,可以使用文本编辑器打开查看,其中可能包含DNS相关的配置。
    • CentOS/RHEL系统:通常在/etc/sysconfig/networkscripts/ifcfg<接口名>文件中查找DNS配置,对于eth0接口,文件为/etc/sysconfig/networkscripts/ifcfgeth0,在该文件中,可能会有DNSDOMAIN等字段指定DNS服务器。
  3. 使用nmcli命令(适用于使用NetworkManager的系统)

    • 命令nmcli device show | grep IP4.DNS
    • 说明:此命令会显示当前网络设备的DNS服务器地址,输出示例如下:
      IP4.DNS:                             8.8.8.8,8.8.4.4
  4. 使用ip命令

    • 命令ip route get <域名> | awk '/^via/ {print $2}'
    • 说明:该命令通过查询到指定域名的路由来获取正在使用的DNS服务器IP地址,将<域名>替换为你要查询的域名,如www.baidu.com

查看DNS记录及TTL时间

  1. 使用dig命令

    • 基本查询
      • 命令dig <域名>
      • 说明:查询指定域名的各种DNS记录,包括A记录、AAAA记录、CNAME记录等,并显示每个记录的TTL时间,查询www.baidu.com的命令及部分输出如下:
        ; <<>> DiG 9.16.1Ubuntu <<>> www.baidu.com
        ;; global options: +cmd
        ;; Got answer:
        ;; >>HEADER<<opcode: QUERY, status: NOERROR, id: 57077
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
        ;; OPT PSEUDOSECTION:
        ; EDNS: version: 0, flags:; udp: 4096
        ;; QUESTION SECTION:
        ;www.baidu.com.            IN    A
        ;; ANSWER SECTION:
        www.baidu.com.        10800    IN    CNAME    www.a.shifen.com.
        www.a.shifen.com.  300    IN    A    123.125.115.110
        ;; Query time: 59 msec
        ;; SERVER: 192.168.1.1#53(192.168.1.1)
        ;; WHEN: Fri Jul 21 15:30:20 CST 2024
        ;; MSG SIZE  rcvd: 147

        10800300就是对应记录的TTL时间(单位为秒)。

    • 查询特定记录类型
      • 命令dig t <记录类型> <域名>
      • 说明:用于查询特定类型的DNS记录,常见的记录类型有A(IPv4地址)、AAAA(IPv6地址)、CNAME(别名)、MX(邮件交换器)等,查询www.baidu.com的MX记录的命令为dig t MX www.baidu.com
    • 查询指定DNS服务器
      • 命令dig @<DNS服务器IP> <域名>
      • 说明:可以从指定的DNS服务器查询域名信息,将<DNS服务器IP>替换为你要查询的DNS服务器的IP地址,<域名>替换为要查询的域名。
    • 查询详细过程
      • 命令dig +trace <域名>
      • 说明:此命令会显示DNS查询的详细追踪过程,包括从根DNS服务器开始逐级查询的过程,以及每一步的TTL时间等信息。
  2. 使用nslookup命令

    • 基本查询
      • 命令nslookup <域名>
      • 说明:默认情况下,会查询A记录,并显示TTL时间,查询www.qq.com的命令及部分输出如下:
        Server:         192.168.1.1
        Address:        192.168.1.1#53
        Nonauthoritative answer:
        Name:    www.qq.com
        Address: 123.125.115.110

        Nonauthoritative answer表示该答案是从缓存或其他非权威服务器获取的。

    • 查询特定记录类型
      • 命令nslookup querytype=<记录类型> <域名>
      • 说明:与dig类似,可以查询特定类型的DNS记录,查询www.sina.com的MX记录的命令为nslookup querytype=MX www.sina.com
    • 查询指定DNS服务器
      • 命令nslookup <域名> <DNS服务器IP>
      • 说明:从指定的DNS服务器查询域名信息,将<域名>替换为要查询的域名,<DNS服务器IP>替换为要查询的DNS服务器的IP地址。

常见问题与解答

  1. 问题:如何更改Linux系统的DNS配置?

    • 解答:可以通过编辑/etc/resolv.conf文件来手动添加或修改DNS服务器地址,也可以使用网络管理工具,如nmcli(对于使用NetworkManager的系统)或修改网卡配置文件(对于其他系统)来更改DNS配置,具体方法取决于你的Linux发行版和网络管理方式。
  2. 问题:为什么有时候查询到的DNS记录的TTL时间与我预期的不一样?

    • 解答:TTL时间是由DNS记录的所有者设置的,不同的域名或记录可能有不同的TTL值,如果DNS记录在缓存中,查询时可能会返回缓存中的TTL时间,而不是原始记录的TTL时间。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年8月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.