如何管理Mac OS X主机?


0

不久前,我在主机中将reddit.com设置为127.0.0.1,因为这太浪费时间了。我不记得确切的设置方式-我知道在使用“正确的”方法之前我在使用它时遇到了一些麻烦并尝试了一些其他事情,因此我可能做得很奇怪。

现在,无论我做什么,我都无法取消设置或将其设置为其他东西-它以某种方式“卡在” 127.0.0.1上。

$ sudo nano /etc/hosts
Password:

我添加以下两行:

208.96.53.70 reddit.com
208.96.53.70 reddit2.com

保存,退出,然后:

$ dscacheutil -flushcache
$ ping reddit.com
PING reddit.com (127.0.0.1): 56 data bytes
$ ping reddit2.com
PING reddit2.com (208.96.53.70): 56 data bytes

如果我完全不指定reddit.com,那也是一样。

我想念什么?我的主机文件中没有reddit.com的其他条目。这不是路由器或ISP的问题-同一路由器上的其他计算机都可以。还有什么可以定义的?

为了完整起见,我从主机中清除了所有内容,其中仅包含以下内容:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

“ dig reddit.com”为您提供什么IP地址?
史蒂夫·弗利

reddit.com。6英寸A 216.207.68.88 reddit.com。6在A 216.207.68.72中(我从Google搜索中获得208.96.53.70只是用于测试,可能已经过时了。)
alex_c

2
以管理员身份尝试“ dscacheutil -cachedump-条目主机”。是否在reddit.com中,如果是,则在哪个DS节点中找到它?
史蒂夫·弗利

Answers:


3

听起来您可能是在DSLocal中而不是/ etc / hosts中创建了主机条目。要找出答案,请运行:

dscl /Search -read /Hosts/reddit.com

它应该返回如下内容:

AppleMetaNodeLocation: /Local/Default
IPAddress: 127.0.0.1
RecordName: reddit.com
RecordType: dsRecTypeStandard:Hosts

看到AppleMetaNodeLocation吗?告诉您从何处获取信息。如果显示/BSD/local,则位于/ etc / hosts中。如果它说/Local/Default(我怀疑会这样),那就是默认的本地目录节点,又名DSLocal。如果显示<dscl_cmd> DS Error: -14136 (eDSRecordNotFound),那么我不知道您做了什么。

无论如何,假设该条目来自DSLocal,则删除它相当容易:

sudo dscl /Local/Default -delete /Hosts/reddit.com

谢谢您,先生-就是这样!会投票,但没有代表:)
alex_c

1

尝试

dscacheutil -flushcache
ping reddit.com

然后报告。


已经做到了-见上文。据我所知,这应该可以解决问题,但事实并非如此,这就是为什么我感到困惑。
alex_c

哇,很抱歉,我在阅读时显然跳过了这一点。我可能会在/ etc中为reddit.com使用grep,然后看看会发生什么。
泰勒(Tyler)

0

看来你需要跑步

sudo niload -v -m hosts . < /etc/hosts

如果要更改,则在更新主机文件后。


我认为那是针对旧版本的Mac OS X的,我运行的是10.5.7-我的“找不到命令”。
alex_c
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.