当前位置: 首页 > 知识库问答 >
问题:

如何让DNS从本地主机解析与从远程主机解析相同的内容?

闾丘坚诚
2023-03-14

我试图创建一个家庭自动化系统,在白天我工作的时候监视我的狗。我这个项目的目标是学习一些关于DNS、文件服务和RaspberryPi的知识。

我的硬件设置如下:

  • 1 RaspberryPi(已启用摄像头,并计划将其用作我的家庭路由器后面的web服务器)

我想用bubby.com作为域名。当我从我的数字海洋服务器查询时,这是有效的。但是,如果我尝试从我的笔记本电脑,我得到一个不同的IP。

来自数字海洋实例的测试:

>

  • dns设置(/etc/resolv.conf的内容)名称服务器x.x.x.x名称服务器8.8.8名称服务器8.8.4.4
  • 布比的名字。com
    nslookup bubby。通用域名格式

    Server:     x.x.x.x
    Address:    x.x.x.x#53
    Name:   bubby.com
    Address: y.y.y.y
    

    (据我所知,1和2是正确的)

    macbook的测试

    wifi的DNS设置(从网络首选项检索):名称服务器x.x.x.x,8.8.8.8

    nslookup的bubby.com
    nslookupbubby.com

    Server:     x.x.x.x
    Address:    x.x.x.x#53
    Non-authoritative answer:
    Name:   bubby.com
    Address: 216.21.239.197
    

    有人能帮我解释一下为什么我从同一个dns服务器得到的结果不同,并且显示了不同的地址,即使服务器/地址对于dns服务器是正确的?

    更新1:重新测试nslookup
    日期

        Sat Aug 20 05:57:01 PDT 2016
        Server:     x.x.x.x
        Address:    x.x.x.x#53
        Non-authoritative answer:
        Name:   bubby.com
        Address: 216.21.239.197
    

    挖泡泡。来自笔记本电脑的com
    日期

        Sat Aug 20 06:06:27 PDT 2016
    
        ; <<>> DiG 9.8.3-P1 <<>> bubby.com @x.x.x.x
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18813
        ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
        ;; QUESTION SECTION:
        ;bubby.com.         IN  A
    
        ;; ANSWER SECTION:
        bubby.com.      3600    IN  A   216.21.239.197
    
        ;; Query time: 132 msec
        ;; SERVER: x.x.x.x#53(x.x.x.x)
        ;; WHEN: Sat Aug 20 06:06:27 2016
        ;; MSG SIZE  rcvd: 43
    

    挖老公。来自数字海洋服务器的com,带有dns
    日期

        Sat Aug 20 13:12:36 UTC 2016
    
        ; <<>> DiG 9.8.1-P1 <<>> bubby.com @x.x.x.x
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38404
        ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
    
        ;; QUESTION SECTION:
        ;bubby.com.         IN  A
    
        ;; ANSWER SECTION:
        bubby.com.      604800  IN  A   y.y.y.y
    
        ;; AUTHORITY SECTION:
        bubby.com.      604800  IN  NS  ns.bubby.com.
    
        ;; ADDITIONAL SECTION:
        ns.bubby.com.       604800  IN  A   y.y.y.y
    
        ;; Query time: 2 msec
        ;; SERVER: x.x.x.x#53(x.x.x.x)
        ;; WHEN: Sat Aug 20 13:12:36 2016
        ;; MSG SIZE  rcvd: 76
    

    更新2:指定另一个DNS服务器时从笔记本电脑进行DNS查找
    日期

        Sat Aug 20 09:12:09 PDT 2016
        Server:     87.117.205.40
        Address:    87.117.205.40#53
        Non-authoritative answer:
        Name:   ip.smartydns.com
        Address: 82.196.5.38
    
  • 共有1个答案

    阎修明
    2023-03-14

    查看笔记本电脑的dig输出,注意权限:0。这是因为这个答案不是来自您的Digital Ocean实例(我已经在多个不同的位置进行了测试,并且当您从实例本身进行测试时,我总是得到与您相同的结果),而是来自其他一些对bubby不具权威性的DNS服务器。com

    最后的智能DNS测试证实了这一点:你和互联网上的其他人(很可能是你的互联网服务提供商或受损的家庭路由器)之间的某人/某物充当“透明DNS代理”,拦截你的DNS查询并将它们重定向到他们自己的DNS服务器。

    如果您想确定,因为可能只截获了UDP/TCP端口53,您可以尝试更改绑定以侦听其他端口,然后使用dig查询新端口,从digital Ocean实例和笔记本电脑进行测试:

    挖泡泡。com@192.241.227.149-p5555

    这次你应该得到同样的结果。

     类似资料:
    • 问题内容: 我有DNS服务器IP地址和主机名。 使用Java,如何使用该IP地址和主机名找到该DNS服务器返回的主机名的IP地址? 问题答案: 看看和方法。

    • 问题内容: 在我的用于读取RSS链接的Android应用程序中,出现此错误: java.net.UnknownHostException:无法解析主机“ example.com”;没有与主机名关联的地址。 在模拟器中,我可以通过浏览器连接到Google。请帮助我解决此问题。 问题答案: 您可能没有权限。尝试将它添加到您的文件中: 注:以上不 必须 的前右侧的标签,但这是把它的好/正确的位置。 注意

    • 我正在使用虚拟机虚拟盒。当我在 VM 中运行服务器代码,然后在主机中打开浏览器并键入“localhost”时,我无法获得 VM 中获取的页面。可能 VM 中的本地主机和主机中的本地主机是不同的。是否知道如何使 VM 的本地主机与主机的本地主机相同? dev@dev-VirtualBox:~$ifconfig eth0链接encap:以太网HWaddr 08:00:27:03:1a: e0 inet

    • 当我尝试在android应用程序上按主机名获取ip时,我遇到了一个类似的奇怪错误。 类似的问题在IOs上返回的结果是whitout problems,但我的应用程序android没有返回任何东西。 我创建这些函数来测试我的应用程序: 但是类似的代码,在IOs上,如果我搜索我自己托管的服务器,会返回一个有效的结果,但是在android上搜索相同的页面或服务器时,结果会给我一个“无法解析主机”的警告。

    • 我有一个web服务调用来关闭一个JSON对象,它只有在我有IP地址而不是主机名的情况下才起作用。我一直很好地使用IP地址,但现在我需要有主机名。 如果有人有好主意,谢谢。

    • 我有一个Android应用程序,我通过Retrofit2/OkHttp向api发送超文本传输协议请求。两周内一切正常。2天前我的网站被暂停。今天重新开放。一些用户开始出现错误消息。用户说“无法登录应用程序!”。当我检查日志时,我看到了这样的东西; 一些用户仍然可以登录到该应用程序。我搞不懂。 我怎样才能马上解决这个问题?