Mac OSX更改 /ETC /主机即使在杀死MDNSresolver之后也没有效果



我在Windows(10)中没有类似的问题,而我在Docs上搜索的任何内容似乎都表明了为什么,如果这种情况不起作用,则是这种情况

  • 我打开终端和编辑/etc/主机(我在PC上做了很多次,并且在OSX上也做了很多年)
  • 只是为了笑,如果那不起作用,我输入sudo killall -HUP mDNSResponder
  • 那么,我重新启动更多的笑容

这绝对没有效果。谁能指出我为什么?谢谢。


update :令人尴尬的事实是,我在/etc/hosts中输入的行是反向的,即首先是域,AS:

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地址,然后是空格或选项卡,然后是名称,然后在行末端的finefeed。尝试使用CAT -VET/ETC/主机打印主机文件以使正常看不见的字符可见。每行应该看起来像:

    127.0.0.1^Iwww.example.com$
    127.0.0.1 www.example.com$
    

    ("^i"是一个选项卡,而" $"是行末尾的lineFeed。)如果条目列出了多个名称(也由空格或选项卡隔开)也可以。

    如果您在" $"之前看到了"^M"(马车返回),则您的DOS/Windows格式化了文本,需要删除运输返回。

  • 不正确的测试:不要使用命令行工具dighostnslookup,因为它们都直接测试DNS,因此绕过/etc/hosts文件。浏览器有时会缓存,这会带来误导性的结果。测试系统名称分辨率系统的"正确"方法是使用dscacheutil命令:

    dscacheutil -q host -a name www.example.com
    

    ...但是,由于令人讨厌的详细信息,我倾向于使用ping,看看它要测试的地址。

我遇到了这个线程,以尝试在Macos Catalina上解决相同的问题,但没有成功。这是因为Macos Catalina还有另一件事。如果您将其更改为root用户,则只会在主机文件中更改文件(这不是使用sudo命令完成)!

默认情况下,系统上没有根用户,因此这里有一个带有逐步指南的链接,可以这样做:https://support.apple.com/en-us/ht204012

然后我能够:

su
nano /etc/hosts

以获取更多信息:https://discussions.apple.com/thread/250805304

以下步骤为我工作

  1. Flushing DNS Sudo Killall -HUP MDNSRESPONDER(或在活动监视器中杀死DNS并重新加载)

2./etc/主机文件的更改读取版本应为-rw-r- r---。使用命令$ sudo chmod g r/ett/hosts和$ sudo chmod o r/etc/etc/主机

  1. 添加条目您想用ipxxx.xx.xx.com添加主机文件

  2. 最后移动了这两条线255.255.255.255广播:: 1 localhost管理员麦克书 - local

  3. 第二步再次

相关内容

最新更新