- Где находится файл hosts в Mac OS X и как его отредактировать
- Как открыть файл hosts через терминал Mac OS
- Как открыть файл hosts в текстовом редакторе
- Обновите кэш DNS
- Как редактировать файл Hosts на macOS
- Система доменных имён DNS
- Редактирование файла Host
- Как восстановить файл Hosts на Mac
- Почему Safari игнорирует мой файл /etc /hosts?
- 12 ответов
- В отличие от некоторых предложений в Интернете это бесполезно:
- Полезные проверки
Где находится файл hosts в Mac OS X и как его отредактировать
Большинству из нас по тем или иным причинам приходилось сталкиваться с довольно важным в любой операционной системе файлом под названием «hosts» и его редактированием. Служит этот файл для сопоставления определенных доменных имен их сетевым адресам и, в отличие от DNS, контролируется администратором каждого конкретного компьютера, т.е. локально.
И если пользователи Windows, которые уже сталкивались с этим файлом и его редактированием знакомы с этим понятием и, скоре всего, помнят путь до нужного файла наизусть (но мы, на всякий случай, напомним -Windows\system32\drivers\etc\hosts), то новые пользователи компьютеров от Apple под управлением Mac OS X (macOS) поначалу часто теряются, не обнаружив искомый файл hosts по привычному для них пути, как, впрочем, и самого пути в их Маке.
Именно о том, где находится файл hosts на Mac и как его открыть и отредактировать мы и расскажем в этой подробной инструкции ниже.
К счастью, найти и отредактировать файл hosts на Mac ничуть не сложнее, чем сделать это в операционной системе от Microsoft. Нам известно как минимум два способа, о которых и пойдет речь ниже. Вы можете воспользоваться тем из них, которых вам покажется быстрее и удобнее.
Как открыть файл hosts через терминал Mac OS
Тем пользователям техники Apple, кто не боится слова «терминал», этот способ покажется наиболее быстрым и удобным. Для просмотра и редактирования файла hosts на Mac откройте программу «Терминал» и введите в ней следующую команду.
Также вам потребуется ввести пароль администратора, если он задан на компьютере.
Если вы всё ввели правильно, перед вами откроется содержимое файла hosts вашего Мака.
Внесите необходимые изменения в этот файл (курсор мыши в терминале не работает, для перемещения между строками используйте стрелочки клавиатуры), к примеру, добавьте сайт, который вы хотите заблокировать.
После внесения всех необходимых изменений нажмите сочетание клавиш «ctrl+X» для сохранения.
Нажмите клавишу «Y» для подтверждения сохранения изменений. Вот и всё, файл hosts успешно отредактирован.
Для того, чтобы сделанные изменения сразу же вступили в силу, иногда необходимо сбросить кэш DNS вашего Mac.
Как открыть файл hosts в текстовом редакторе
Для тех пользователей Mac’ов, которые ещё не очень хорошо «дружат» с Терминалом, есть альтернативный вариант открыть и изменить файл hosts при помощи любимого текстового редактора и стандартного файлового менеджера Finder.
Для этого кликните правой кнопкой мыши (или используйте аналогичное действие трекпада) по иконке Finder на нижней панели (Dock) вашего компьютера и выберите в выпадающем меню пункт «Переход к папке. «.
В открывшемся окне введите путь, по которому находится файл hosts в компьютерах с операционной системой OS X и нажмите кнопку «Перейти». Выглядит путь следующим образом.
В результате откроется окно Finder’а в папке, в которой искомый файл и расположен. Он будет уже выделен. Просто кликните по нему правой кнопкой и откройте его с помощью вашего любимого текстового редактора (подойдет и стандартный TextEdit).
Сам файл защищен от редактирования. Однако при попытке внести изменения вам будет предложен создать его копию — так и сделайте. Внесите необходимые изменения в копию файла и сохраните его, к примеру, на рабочем столе как файл с названием hosts. Разрешение.txt у сохраненного файла после этого удалите.
В последнем пункте этой инструкции вам нужно просто заменить старый файл hosts на свежесозданный простым перетаскиванием его с рабочего стола в папку, где находится оригинальный файл. Во всплывающем окне подтвердите действие нажатием кнопки «Заменить».
Это всё. В результате описанных действий ваш компьютер будет использовать уже новый файл hosts. Но иногда, для того, чтобы изменения вступили в силу сразу же, вам может понадобиться обновить кэш DNS. Об этом ниже.
Обновите кэш DNS
В большинстве случаев сделанные вами в файле hosts изменения будут применены незамедлительно, однако если этого почему-то вдруг не произошло — не расстраивайтесь, попробуйте сбросить кэш DNS. Для этого в терминале выполните следующую команду (потребуется ввод пароля администратора).
dscacheutil -flushcache; sudo killall -HUP mDNSResponder
После этого указанные в новом файле hosts правила точно будут работать так, как надо.
Источник
Как редактировать файл Hosts на macOS
Расскажу как редактировать файл Hosts macOS и зачем он вообще нужен. Как с его помощью блокировать сайты и менять сопоставление IP-адресов. Как восстановить оригинальную версию для отмены внесённых изменений и очистить кэш ДНС через Терминал.
Система доменных имён DNS
Когда вы вводите доменное имя (адрес) сайта, который хотите посетить в адресную строку браузера, незаметно происходит много событий скрытых от глаз.
Каждый сайт, каждая служба, почти каждое устройство, подключённое к интернету, имеет уникальный числовой IP-адрес, который его идентифицирует.
Существует система доменных имён (DNS), которая преобразует эти IP-адреса в более узнаваемые и запоминающиеся для людей имена. Например, название сайта macnoob.ru выглядит гораздо приятнее IP 5.101.115.179.
Когда вы впервые вводите адрес сайта, Mac проверяет связь с DNS-сервером (это происходит автоматически через интернет-провайдера), чтобы узнать TCP/IP адрес сервера, к которому вы пытаетесь подключиться.
При этом Mac создаёт скрытый файл кеша, чтобы запомнить это сопоставление на случай, если вы заново решите посетить тот же сайт.
Система доменных имён и связанный с ней кеш позволяют компьютеру на macOS узнать, как открыть нужный сайт в интернете.
Но есть ещё файл, который может быть очень полезным. Он называется Hosts, и его можно использовать для принудительного переопределения информации DNS.
Редактирование файла Host
Существует несколько причин изменить файл Hosts вместо того, чтобы просто позволить DNS делать своё дело:
- Тестирование сайта на сервере, прежде чем его смогут увидеть другие пользователи интернета.
- Для блокировки или обхода программ-шпионов обнуляя их IP-адреса. Для этого достаточно указать IP 0.0.0.0, а затем имя домена, который вы хотите заблокировать.
- Устранение последствия работы вирусов-вымогателей, которые блокируют выход в интернет.
Самый популярный способ работы с файлом Host — использовать стандартное приложение Терминал, которое находится в папке «Утилиты» каждого Mac.
Также можно открыть Терминал используя поиск Spotlight или через Launchpad.
Чтобы открыть файл Hosts запустите Терминал и в окне приложения введите команду открытия текстового редактора Nano:
После ввода команды нажмите клавишу «Ввод», введите свой пароль администратора и снова нажмите «Ввод».
Процесс ввода пароля администратора визуально никак не отображается — это нормально. Просто введите пароль на клавиатуре, нажмите «Ввод» и всё сработает.
Теперь вы находитесь в текстовом редакторе Nano и должны увидеть что-то похожее на это:
Мышь и трекпад здесь не работают, можно использовать только клавиатуру Mac.
Прежде чем изменить Hosts на Mac, сделайте копию файла из /private/etc/hosts . Это может понадобиться, если у вас там прописаны дополнительные сопоставления. В моём случае это IP 10.221.55.3 для виртуальной машины с Windows 10.
Чтобы сопоставить новое устройство или домен с нужным IP-адресом, переместите курсор с помощью клавиш со стрелками на любую строчку после строк, закомментированных символами # .
Например, если вы сопоставляете IP-адрес с доменом, введите IP, нажмите пробел и введите имя домена.
И наоборот, если вы хотите заблокировать какой-либо сайт, используйте 127.0.0.1 для его сопоставления с локальным компьютером.
Например, чтобы заблокировать посещение сайта macnoob.ru на Mac, нужно сделать так:
После внесения изменений нажмите сочетание клавиш Control+O, чтобы применить их.
После этого нажмите Control+X и «Ввод» для выхода из редактора.
Чтобы увидеть изменения, осталось очистить кеш ДНС. Для этого введите команду:
sudo killall -HUP mDNSResponder
Это очистит кеш DNS на Mac и операционная система увидит внесённые изменения в файле Hosts.
В нашем случае, при попытке открыть сайт macnoob.ru, которому мы сопоставили локальный IP 127.0.0.1, увидим в браузере такое сообщение:
Важно не забыть, что вы редактировали Hosts, потому как позже может потребоваться отменить внесённые изменения.
Альтернативным способом редактирования файла Hosts на Mac служит текстовый редактор TextEdit. Скопируйте файл из /private/etc/hosts и внесите изменения. После чего замените им оригинал (редактировать оригинал не получится).
Как восстановить файл Hosts на Mac
Когда потребуется отменить изменения и восстановить нормальную работу ДНС на Mac, просто замените текущую версию на ранее созданную копию или вставьте в него значения по умолчанию.
Для этого откройте Finder и введите в поиске «Hosts»:
Либо пройдите к его расположению на диске в папке /private/etc/hosts .
Скопируйте его (в оригинал внести изменения нельзя) и откройте в текстовом редакторе TextEdit. Теперь удалите всё содержимое и вставьте значение по умолчанию:
##
# 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
Нажмите «Сохранить», закройте файл и замените им оригинал в папке /private/etc/hosts .
Когда macOS спросит, хотите ли вы заменить файл, подтвердите своё решение, введите пароль администратора и перезагрузите Mac.
На этом всё, если появились вопросы — задавайте их в комментариях, постараемся помочь.
Источник
Почему Safari игнорирует мой файл /etc /hosts?
Я добавил некоторые домены для блокировки ( 127.0.0.1 mydomain.com ) в мой файл /etc/hosts , и по какой-то причине Safari, похоже, игнорирует их.
- отключить расширения Safari,
- очистка кеша ( sudo dscacheutil -flushcache ),
- перезапуск Safari и Mac в целом.
Chrome уважает изменения /etc/hosts , но Safari этого не делает. Приложен пример моего файла /etc/hosts .
Я запускаю Safari 6.0.4 с Mountain Lion 10.8.3
12 ответов
У меня была такая же проблема, и это было вызвано наличием действительно длинных строк в файле моих хостов (несколько узлов сопоставлены с тем же IP-адресом, указанным в той же строке). Я исправил это, разделив это на несколько строк.
У меня была аналогичная проблема. Каждая часть программного обеспечения на моем Mac удостоила мою запись файла /etc /hosts, когда файл моих хостов был символически связан (aliased) с другим файлом, за исключением Safari. Когда ваш файл hosts является символической ссылкой, Safari игнорирует его.
Мое решение состояло в том, чтобы сделать /etc /hosts жесткой ссылкой. К счастью, файл hosts, который я постоянно обновляю, находится в одной файловой системе. Если это не так, вы сражаетесь.
Плохое Safari . плохо.
У меня была немного другая версия той же проблемы, и я подумал, что упомянул, что сработало для меня.
Я разрабатываю веб-сайты. Для этого у меня есть полная копия каждого сайта, работающего в моей локальной сети. Когда я хочу работать локально, я всегда добавлял запись для «example.com» в свой локальный файл /etc /hosts и всегда всегда переопределял DNS, позволяя мне получить доступ к локальной копии веб-сайта в любой браузер, включая Safari и Firefox. Я могу работать, не затрагивая фактический сайт, а затем загружать изменения, когда они завершены.
Тем не менее, в последнее время эта техника перестала работать как для Safari, так и для Firefox, но не для Chrome, поэтому я некоторое время ограничивался использованием Chrome для локальной разработки. Я искал Google и пробовал все предлагаемые исправления — CR в конце файла hosts, только одну запись в строке, различные изменения конфигурации Firefox, используя «about: config» и т. Д. Ничего не работало.
Затем я пробовал эту простую вещь: помимо размещения версии IPV4 в файле /etc /hosts, я также поставил версию IPV6.
Как только я добавил запись IPV6, Firefox и Safari начали атаковать правильный (локальный) сервер.
Существуют различные веб-сайты, которые будут переводить IPV4-адреса на IPV6; просто выполните поиск Google на «ipv4 на ipv6».
Я потратил довольно много времени на OS X El Captain 10.11.4 для блокировки сайтов с использованием файла /etc /hosts вместо использования Parental Control в настройках системы. В конце он просто работал следующим образом:
Я попробовал много вариантов, но я всегда отображал 0.0.0.0 ( 0.0.0.0 website.com ). Это никогда не срабатывало ни в каких вариациях.
В отличие от некоторых предложений в Интернете это бесполезно:
- Не было необходимости блокировать IPv6, например fe80::1%lo0 www.website.com или ::1 website.com
- Не нужно было dscacheutil -flushcache , но просто сделайте это в случае.
- Неважно, если вы вставляете его в начало или конец файла hosts
- Браузеру, похоже, ответили иначе: Chrome и Safari немедленно заблокировали его, как только был сохранен правильный файл hosts , Firefox продолжал игнорировать его на некоторое время (неясно, если перезапустить его было достаточно).
- Попробуйте использовать New Private Window или перезапустите браузер для его тестирования.
- Не добавляйте http:// или https:// в начале адреса
- Никаких других команд не было.
- Не отключать (= прокомментировать, добавив в начале строки # ), которые уже находятся в файле hosts.
Полезные проверки
Проверьте, распознает ли система ваше перенаправление dscacheutil -q host -a name website.com — он должен отображать:
Проверьте правильность синтаксиса файла hosts : cat -vet /etc/hosts . Это показывает невидимые символы:
Источник