Как видно из названия, работает OS X 10.10.1. если у меня есть запись в моем файле hosts и я делаю a dig
или nslookup
она все еще показывает другой IP, чем тот, который находится в моем файле hosts, даже после попытки сброса различных кэшей.
Я попробовал следующее ..
- очистите кэши mdns и udns, запустив:
sudo discoveryutil mdnsflushcache;
sudo discoveryutil udnsflushcaches;
- очистить кэш используя
dscacheutil -flushcache
- перезагрузите
discoveryd.plist
файлsudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
мой файл hosts выглядит следующим образом ..
% cat /private/etc/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
166.78.60.102 admin.devsite1.com
macos
yosemite
dns
discoveryd
gorelative
источник
источник
Ответы:
/ private / etc / hosts, кажется, работает нормально для меня в Yosemite (версия 10.10.1). Нет необходимости очищать кэш или сбрасывать
discoveryd
(преобразователь DNS в Yosemite);sudo fs_usage | grep private/etc/hosts
показываетdiscoveryd
чтение файла сразу после сохранения изменений в нем.[Обновление:
discoveryd
использовалось только в версиях OS X 10.10.0 - 10.10.3. Как в более ранних, так и в более поздних версиях,mDNSResponder
предоставляет ту же функцию ... и также сразу замечает изменения в / etc / hosts.]Однако
dig
,nslookup
иhost
не будет отображаться записи в нем , потому что они обходят распознаватель системы и сделать сырые DNS поиск. Они всегда так делали, так что это не ново в Йосемити. «Официальный» способ поиска через системный преобразователь в OS X - использоватьdscacheutil
:... но так как это мучительно многословно, я, как правило, просто использую
ping
вместо этого (а затем смотрю на первую строку, где перечислены IP-адреса, которые проверяются). Начиная с версии 10.9, вы также можете использовать вкладку «Утилиты поиска» (до этого она использоваласьdig
и поэтому обходила политику поиска системы).Кстати, пожалуйста, не обращайте внимания на нить макрумор, которую связывал Тецудзин; в нем полно людей, которые не совсем понимают, что делают, и не понимают результатов своих собственных ошибок.
источник
dig
,nslookup
иhost
не использовать локальное разрешение DNS. Это, как говорится,/etc/hosts
работает, как ожидалось ../etc/hosts
файл или мой/private/etc/hosts
файл, то он вообще не будет отражаться ни сdscacheutil -q host -a name www.example.com
какой-либо другой командой ..cat -vet /etc/hosts
чтобы сделать видимыми обычно невидимые символы. Каждая строка должна выглядеть как «127.0.0.1 ^ Inetsecuritybureau.com $» («^ I» - это вкладка, а «$» - перевод строки) или «127.0.0.1 netsecuritybureau.com $». Если вы видите «^ M» (возврат каретки) перед «$», у вас есть отформатированный текст в DOS / Windows, и вам нужно удалить возврат каретки.M127.0.0.1^Iyoutube.com^M^M
Я тогда выполнил,dscacheutil -flushcache; sudo killall -HUP mDNSResponder
и при переходе на youtube.com он по-прежнему вызывает YouTube, а не localhost.Я обнаружил еще одну морщинку с этой проблемой.
Чтобы решить проблему, с которой я столкнулся, мне пришлось ДОБАВИТЬ записи в файле хостов в стиле IPv6.
Похоже, что Safari пропустит записи IPv4, если у вас есть настройки сети IPv6.
Вы должны добавить дубликаты записей, которые разрешают IPv6 адрес локального хоста в / etc / hosts.
Запись IPv4
127.68.56.101 facebook.com
например, запись IPv6
fe80::1%lo0 facebook.com
и т.п.
источник
Мой файл hosts продолжал игнорироваться после того, как я отредактировал текстовое редактирование. Я попробовал несколько способов исправить окончания строк, добавив записи IPv6 к существующим записям IPv4, но безуспешно после ответа JB Smiths выше . Я подозреваю, что его ответ сработает, если моя компания поддерживает IPv6, который я узнал после моих попыток.
Единственное решение, которое сработало для меня, - использовать этот бесплатный плагин GUI для редактирования файла hosts.
https://github.com/specialunderwear/Hosts.prefpane/blob/master/README.mdown
источник
Я нашел эту статью, потому что Yosemite 10.10.5 не принимал изменения моего файла hosts, и я ничего не мог сделать, чтобы это исправить. (Я перезагрузился, попытался очистить кеш, следовал всем советам, которые я мог найти в Интернете и т. Д. И т. Д.).
Ответ был настолько прост, что на самом деле смущает, но я думал, что поделюсь. Я использовал textedit для редактирования файла hosts, и он взял на себя смелость сохранить файл как hosts.txt. Обычно я заметил бы что-то подобное, но я использую свежую установку Yosemite и еще не включил «показывать все расширения файлов», поэтому не выглядело, как будто имя файла изменилось, когда я просматривал его на своем рабочем столе.
Так что это довольно очевидно, и большинство людей, читающих этот пост, вероятно, уже сделали это, но не забудьте проверить, что ваш файл hosts действительно есть и не был заменен hosts.txt .
Чтобы включить отображение расширений файлов, перейдите в Finder> «Установки»> «Показать все расширения файлов».
Чтобы остановить TextEdit от добавления расширения .txt к файлам, откройте файл в разделе « Редактирование текста» и выберите « Файл»> «Сохранить как» (если вы не видите пункт меню « Сохранить как» , удерживайте нажатой клавишу «Option» после нажатия « Файл» , и « Сохранить как» следует появляются в меню). Ищите опцию Если расширение не предоставлено, используйте «.txt» и отмените его выбор.
источник
Я полагаю, что Apple признает это как ошибку (я отправил одну сегодня). Я заметил, что новые записи
/etc/hosts
принимаются, но изменения существующих записей игнорируются. Итак ... изменение имени хоста записи (например, web1 на web1a) предоставило мне обходной путь.Старая / etc / hosts запись:
54.173.164.18 web1
НОВАЯ запись / etc / hosts:
54.174.161.12 web1a
источник
В моем случае я бы настроил .ssh / config
источник
У меня была очень похожая проблема, в которой я получил по почте две строки для добавления в мой
/etc/hosts
Домен содержал
-
подобноеmy-domain.com
Проблема оказалась в почтовом клиенте отправителя, не говоря уже о MS Outlook, который преобразовал ASCII
-
в длинный-
символ, который Microsoft так сильно любит использовать встроенную автоматическую коррекцию, чтобы заменить-
их-
.Файл hosts выглядел идеально, и эту проблему было трудно найти. Когда я удалил строки и написал их вручную, они начали работать.
Это было так трудно понять, что я углубился в то, почему клиент MacOS должен игнорировать файл hosts и перейти непосредственно к разрешению имен.
источник
Просто была эта проблема. Это было вызвано копированием / вставкой из hipchat вместо написания адреса.
Процесс копирования добавил некоторые пробелы вместо пробелов и вызвал проблему.
Переписывание строки решило проблему.
источник
Я использую приложение SelfControl (на самом деле на macOS mojave 10.14.4) уже довольно давно и решил проверить, как SelfControl делает свои записи ... они выглядят так:
основываясь на этом, я изменил все на свой локальный хост, так
работает.
источник