Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac OSX更改/etc/hosts即使在杀死mDNSResolver后也没有效果_Macos_Dns_Hosts - Fatal编程技术网

Macos Mac OSX更改/etc/hosts即使在杀死mDNSResolver后也没有效果

Macos Mac OSX更改/etc/hosts即使在杀死mDNSResolver后也没有效果,macos,dns,hosts,Macos,Dns,Hosts,我在Windows(10)中没有遇到过类似的问题,而且我在文档中搜索到的任何内容似乎都无法说明原因,如果这不起作用,那么就是这样 我打开终端并编辑/etc/hosts(我在PC上做过很多次,几年前也在OSX上做过) 如果这不起作用,我就输入sudo killall-HUP mdnsrresponder 然后,为了更多的笑容,我重新开机 这绝对没有效果。有人能告诉我为什么吗?谢谢 更新:令人尴尬的事实是,我在/etc/hosts中输入的行是相反的,即域优先,如下所示: mydomain.co

我在Windows(10)中没有遇到过类似的问题,而且我在文档中搜索到的任何内容似乎都无法说明原因,如果这不起作用,那么就是这样

  • 我打开终端并编辑/etc/hosts(我在PC上做过很多次,几年前也在OSX上做过)
  • 如果这不起作用,我就输入
    sudo killall-HUP mdnsrresponder
  • 然后,为了更多的笑容,我重新开机
这绝对没有效果。有人能告诉我为什么吗?谢谢


更新:令人尴尬的事实是,我在
/etc/hosts
中输入的行是相反的,即域优先,如下所示:

mydomain.com  192.168.33.10    #wrong
192.168.33.10    mydomain.com  #what it should have been

然而,公认的答案写得很好,值得赞赏

在macOS(/OS X)上使用/etc/hosts时,我发现了两个常见问题:

  • 格式不正确:/etc/hosts文件中的每个条目必须是IP地址,后跟空格或制表符,后跟名称,然后是行尾的换行符。尝试使用cat-vet/etc/hosts打印hosts文件,以使通常不可见的字符可见。每一行都应该像下面的一行:

    127.0.0.1^Iwww.example.com$
    127.0.0.1 www.example.com$
    
    (“^I”是一个制表符,“$”是行尾的换行符。)如果条目列出了多个名称(也用空格或制表符分隔),也可以

    如果在“$”前面看到“^M”(回车符),则表示您有DOS/Windows格式的文本,需要删除回车符

  • 测试不正确:不要使用命令行工具
    dig
    host
    nslookup
    ,因为它们都直接测试DNS,因此会绕过/etc/hosts文件。浏览器有时会缓存内容,这可能会产生误导性的结果。测试系统名称解析系统的“正确”方法是使用
    dscacheutil
    命令:

    dscacheutil -q host -a name www.example.com
    
    …但由于这太冗长了,我倾向于使用
    ping
    ,看看它说要测试什么地址


我在macOS Catalina上遇到这个线程,试图解决相同的问题,但没有成功。这是因为macOS Catalina还有另外一件事要做;仅当您以root用户身份更改主机文件时,它才会使主机文件中的更改生效(这不是使用sudo命令完成的)

默认情况下,您的系统上没有root用户,因此,这里有一个链接,其中包含一个逐步操作指南:

然后我能够:

su
nano/etc/hosts
有关更多信息:

它工作正常。所以你做错了什么,或者你预期错了。你的问题中没有足够的信息来猜测是哪一个。这是在“我几乎不好意思承认我在这个部门干过”。我把域名放在第一位,IP地址放在第二位。我将把这个问题和你出色的回答留在这里,让我保持谦虚,希望它能帮助别人。如果社区认为应该删除它,我很乐意推迟。谢谢!这正是我这几天的问题!