Некоторое время назад я установил на своих хостах 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 в моем файле hosts. Это не проблема маршрутизатора или интернет-провайдера - другие компьютеры на том же маршрутизаторе в порядке. Где еще это можно определить?

Ради полноты я вычистил все из своих хостов, и он содержит только следующее:

##
# 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

3 ответа3

3

Похоже, вы, возможно, создали запись хоста в DSLocal, а не в /etc /hosts. Чтобы узнать, запустите:

dscl /Search -read /Hosts/reddit.com

Это должно вернуться с чем-то вроде этого:

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

Видите расположение AppleMetaNode? Это говорит вам, откуда он получает информацию. Если он говорит /BSD/local , он находится в /etc /hosts; если он говорит /Local/Default (что, я подозреваю, так и будет), то это узел локального каталога по умолчанию, он же DSLocal. Если написано <dscl_cmd> DS Error: -14136 (eDSRecordNotFound) , то я понятия не имею, что вы сделали.

В любом случае, если предположить, что запись поступила из DSLocal, ее довольно легко удалить:

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

пытаться

dscacheutil -flushcache
ping reddit.com

и доложить.

0

Кажется, вам нужно бежать

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

после обновления файла hosts, если вы хотите, чтобы изменения вступили в силу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .