Hosts является одним из самых важных файлов операционной системы Windows. Его основной функцией является сопоставление ip-адресов c доменными именами, содержащимися в буквенных выражениях. По своей сути, данный файл является аналогом современных DNS-адресов.
Операционная система делает запрос через DNS-сервера и браузеру приходит ответ о возможности открытия сайта или запрете на это действие. Стоит упомянуть, что именно таким образом (через провайдеров) Роскомнадзор формирует списки интернет-ресурсов, запрещенных для посещения российскими пользователями.
- Зачем блокировать сайты с помощью файла Hosts в Windows?
- Как блокировать сайты с помощью файла Hosts в Windows
- Что делать если нужно вернуть все как было изначально?
- Вывод
Любой браузер изначально обращается за данными именно к файлу hosts. Это позволяет вносить в него информацию о потенциально нежелательных интернет-ресурсах, доступ к которым должен быть запрещен.
Это может делаться по самым разнообразным причинам. Например, таким образом можно ограничить просмотр запрещенного контента для детей, порнографии, и вредоносных сайтов.
Файл hosts является своеобразным инструментом администрирования ресурсов компьютера, связанных с интернетом. При вводе определенного запроса в браузере, программа обращается к DNS-серверам провайдера. Так происходит не всегда. Информация о разрешенных ресурсах может храниться в оперативной памяти или данном файле. Совершенно очевидно, что браузеру проще и быстрее получить данные из локального места хранения. Именно поэтому файл hosts так важен.
Также зараженный вирусами компьютер может блокироваться при обращении к оригинальным DNS серверам. По этой причине доступ к вредоносному программному обеспечению и опасным сайтам будет открыт. Вирусный код просто будет подменять результаты запросов на свои собственные.
Пошаговое руководство будет выглядеть следующим образом:
- Необходимо найти сам файл hosts на компьютере. Он располагается по адресу: C:\WINDOWS\system32\drivers\etc\hosts. Рассмотрим работу с файлом hosts на примере операционной системы Windows 10. Для этого необходимо найти и открыть программу «Блокнот» от имени администратора.
Рисунок 2: Программа «Блокнот»
Открыть файл hosts по указанному выше адресу. Необходимо активировать отображение всех типов файлов, если изначально указанная папка окажется пустой.
Рисунок 3: Директория файла hosts
Остается открыть сам файл.
- Внесение изменений. Блокировка сайтов осуществляется путем внесения в файл hosts следующих цифр: 127.0.0.1 (они обозначают локальный адрес файла на компьютере или ноутбуке). Далее через пробел (между локальным адресом и буквенным доменным именем) вписываются сами адреса сайтов без указания http/https (их можно скопировать в адресной строке браузера). Все новые данные вносятся в самом конце файла — внизу справа от значка #.
Локальный адрес также называется loopback-адрес и служит для отсылки запросов ПК или ноутбука самому себе. Адрес един для операционных систем Mac, Linux и Windows.
При внесении данного адреса рядом с физическим адресом интернет-ресурса, запрос операционной системы будет приходить сам себе, исключая открытие сайта, указанного после него в файле hosts.
Рисунок 4: Внесение нежелательных сайтов в файл hosts
- На заключительном этапе измененный файл hosts остается сохранить и закрыть программу «Блокнот».
Рисунок 5: Сохранение внесенных изменений
Большинство антивирусных программ распознает изменения в файле hosts и воспринимает их как потенциальную угрозу. Практически любая антивирусная программа автоматически восстанавливает первоначальные значения файла hosts. Для того чтобы купировать этот момент, необходимо предварительно внести файл hosts в список исключений используемого антивирусного программного обеспечения.
В данном случае есть два варианта развития событий. Можно просто скачать готовый файл hosts для конкретной операционной системы, найдя его в интернете на свой страх и риск. Вторым вариантом является восстановление значения файла hosts по умолчанию.
Для Windows 7-10. Необходимо открыть «Блокнот», воспользовавшись поиском и внести туда данные из оригинального источника. Файл следует сохранить («Сохранить как») и прописать название hosts с расширением old. Адрес оригинального файла выглядит так: %WinDir%\System32\Drivers\Etc. Именно в эту папку необходимо сохранить новый файл hosts с заменой на старый.
Подводя итоги, хочется предупредить об изменении важных программных файлов. Это может повлечь за собой негативные последствия, в частности, переустановку операционной системы. Если не удается найти другие варианты блокировки информации, представленной во всемирной паутине, то изменение системного файла hosts будет единственно верным вариантом. Лучшим решением в этой ситуации будет сохранить информацию из первоначального файла hosts в другом месте, чтобы в случае необходимости безболезненно осуществить его восстановление до первоначального вида.
Кристина Горбуноваавтор
Как заблокировать сайт
Вполне возможно, что у вас, как у ответственного родителя (а может и по другим причинам) возникла необходимость заблокировать сайт или сразу несколько сайтов от просмотра в браузере на домашнем компьютере или на других устройствах.
В этом руководстве будут рассмотрены несколько способов осуществить такую блокировку, при этом некоторые из них менее эффективны и позволяют заблокировать доступ к сайтам только на одном конкретном компьютере или ноутбуке, еще одна из описываемых возможностей предоставляет куда больше возможностей: к примеру, вы можете заблокировать определенные сайты для всех устройств, подключенных к вашему Wi-Fi роутеру, будь то телефон, планшет или что-то еще. Описываемые способы позволяют сделать так, чтобы выбранные сайты не открывались в Windows 10, 8 и Windows 7.
Примечание: один из самых простых способов блокировки сайтов, требующий, правда, создание отдельной учетной записи на компьютере (для контролируемого пользователя) — встроенные функции родительского контроля. Они не только позволяют заблокировать сайты так, чтобы они не открывались, но и запуск программ, а также ограничить время использования компьютера. Подробнее: Родительский контроль Windows 10, Родительский контроль Windows 8
Простая блокировка сайта во всех браузерах путем правки файла hosts
Когда у вас заблокированы и не открываются Одноклассники или В контакте, скорее всего дело в вирусе, вносящем изменения в системный файл hosts. Мы же можем вручную внести изменения в этот файл, чтобы запретить открытие определенных сайтов. Вот как это можно сделать.
- Запустите программу блокнот от имени администратора. В Windows 10 это можно сделать через поиск (в поиске на панели задач) блокнота и последующий правый клик по нему. В Windows 7 найдите его в меню пуск, кликните по нему правой кнопкой мыши и выберите пункт «Запустить от имени администратора». В Windows 8 на начальном экране начните набирать слово «Блокнот» (просто так начните набор, ни в какое поле, оно появится само). Когда вы увидите список, в котором будет найдена нужная программа, кликните по ней правой кнопкой мыши и выберите пункт «Запуск от имени администратора».
- В блокноте, в меню выберите Файл — Открыть, пройдите в папку C:\Windows\System32\drivers\etc, поставьте отображение всех файлов в блокноте и откройте файл hosts (тот, который без расширения).
- Содержимое файла будет выглядеть примерно так, как показано на изображении ниже.
- Добавьте строки для сайтов, которые нужно заблокировать с указанием адреса 127.0.0.1 и обычного буквенного адреса сайта без http. В этом случае, после сохранения файла hosts, данный сайт открываться не будет. Вместо 127.0.0.1 можно использовать известные вам IP адреса других сайтов (между адресом IP и буквенным URL должен быть минимум один пробел). См. картинку с пояснениями и примерами. Обновление 2016: лучше создать две строки для каждого сайта — с www и без.
- Сохраните файл и перезагрузите компьютер.
Таким образом, у вас получилось заблокировать доступ к определенным сайтам. Но у этого метода есть и некоторые минусы: во-первых, человек, который хотя бы однажды сталкивался с подобной блокировкой, первым делом начнет проверять файл hosts, даже у меня на сайте есть несколько инструкций, как решить эту проблему. Во-вторых, этот способ работает только для компьютеров с Windows (на самом деле, аналог hosts есть в Mac OS X и Linux, но я не стану касаться этого в рамках данной инструкции). Более подробно: Файл hosts в Windows 10 (подойдет и для предыдущих версий ОС).
Как заблокировать сайт в брандмауэре Windows
Встроенный фаервол «Брандмауэр Windows» в Windows 10, 8 и Windows 7 также позволяет заблокировать отдельные сайты, правда делает это по IP-адресу (который может меняться для сайта со временем).
Процесс блокировки будет выглядеть следующим образом:
- Откройте командную строку и введите ping адрес_сайта после чего нажмите Enter. Запишите IP-адрес, с которым ведется обмен пакетами.
- Запустите брандмауэр Windows в режиме повышенной безопасности (можно использовать поиск Windows 10 и 8 для запуска, а в 7-ке — Панель управления — Брандмауэр Windows — Дополнительные параметры).
- Выберите пункт «Правила для исходящего подключения» и нажмите «Создать правило».
- Укажите «Настраиваемые»
- В следующем окне выберите «Все программы».
- В окне «Протокол и порты не изменяйте настроек.
- В окне «Область» в разделе «Укажите удаленные IP-адреса, к которым применяется правило» отметьте пункт «Указанные IP адреса», затем нажмите «Добавить» и добавьте IP-адрес сайта, который нужно заблокировать.
- В окне «Действие» укажите «Блокировать подключение».
- В окне «Профиль» оставьте отмеченными все пункты.
- В окне «Имя» назовите свое правило (название на ваше усмотрение).
На этом все: сохраните правило и теперь брандмауэр Windows будет блокировать сайт по IP-адресу, при попытке открыть его.
Блокировка сайта в Google Chrome
Здесь рассмотрим, как заблокировать сайт в Google Chrome, хотя этот способ подойдет и для других браузеров с поддержкой расширений. В магазине Chrome для этой цели есть специальное расширение Block Site.
После установки расширения, вы можете получить доступ к его настройкам через правый клик в любом месте открытой страницы в Google Chrome, все настройки на русском языке и содержат следующие опции:
- Блокировка сайта по адресу (и перенаправление на любой другой сайт при попытке входа на указанный.
- Блокировка слов (если слово встречается в адресе сайта, он будет заблокирован).
- Блокировка по времени и дням недели.
- Установка пароля на изменение параметров блокировки (в разделе «убрать защиту»).
- Возможность включить блокировку сайта в режиме инкогнито.
Все эти опции доступны бесплатно. Из того, что предлагают в премиум-аккаунте — защита от удаления расширения.
Скачать Block Site, чтобы заблокировать сайты в Chrome вы можете на официальной странице расширения
Блокировка нежелательных сайтов с помощью Яндекс.DNS
Яндекс предоставляет бесплатный сервис Яндекс.DNS, позволяющий оградить детей от нежелательных сайтов, автоматически блокируя все сайты, которые могут оказаться нежелательными для ребенка, а также мошеннических сайтов и ресурсов с вирусами.
Настройка Яндекс.DNS проста.
- Зайдите на сайт https://dns.yandex.ru
- Выберите режим (например, семейный), не закрывайте окно браузера (на понадобятся адреса из него).
- Нажимаем клавиши Win+R на клавиатуре (где Win — клавиша с эмблемой Windows), вводим ncpa.cpl и нажимаем Enter.
- В окне со списком сетевых подключений нажмите правой кнопкой мыши по вашему Интернет-подключению и выберите «Свойства».
- В следующем окне, со списком сетевых протоколов, выберите IP версии 4 (TCP/IPv4) и нажмите «Свойства».
- В полях для ввода адреса DNS-сервера введите значения Яндекс.DNS для выбранного вами режима.
Сохраните настройки. Теперь нежелательные сайты будут блокироваться автоматически во всех браузерах, а вы будете получать уведомление о причине блокировки. Есть похожий платный сервис — skydns.ru, который позволяет также настроить, какие именно сайты вы хотите заблокировать и контролировать доступ к различным ресурсам.
Как заблокировать доступ к сайту с помощью OpenDNS
Бесплатный для личного использования сервис OpenDNS позволяет не только блокировать сайты, но и многое другое. Но мы коснемся именно блокировки доступа с помощью OpenDNS. Инструкция ниже требует некоторого опыта, а также понимания, как именно это работает и не вполне подойдет начинающим, так что если сомневаетесь, не умеете самостоятельно настроить простой Интернет на компьютере, лучше не беритесь.
Для начала, вам потребуется зарегистироваться в OpenDNS Home для бесплатного использования фильтра нежелательных сайтов. Сделать это можно на странице https://www.opendns.com/home-internet-security/
После ввода данных для регистрации, таких как адрес электронной почты и пароль, вы попадете на страницу такого вида:
На ней имеются ссылки на англоязычные инструкции по смене DNS (а именно это и потребуется для блокировки сайтов) на компьютере, Wi-Fi роутере или DNS-сервере (последнее больше подходит для организаций). Можете ознакомиться с инструкциями на сайте, но кратко и по-русски эту информацию я дам и здесь. (Инструкцию на сайте все равно нужно открыть, без нее вы не сможете перейти к следующему пункту).
Для изменения DNS на одном компьютере, в Windows 7 и Windows 8 зайдите в центр управления сетями и общим доступом, в списке слева выберите пункт «Изменение параметров адаптера». Затем кликните правой кнопкой мыши по подключению, используемому для выхода в Интернет и выберите пункт «Свойства». Затем в списке компонентов подключения выберите TCP/IPv4, нажмите «Свойства» и укажите DNS, указанный на сайте OpenDNS: 208.67.222.222 и 208.67.220.220, затем нажмите «Ок».
Указываем предоставленный DNS в параметрах подключения
Кроме этого, желательно очистить кэш DNS, для этого запустите командную строку от имени администратора и введите команду ipconfig /flushdns.
Для изменения DNS в роутере и последующей блокировки сайтов на всех устройствах, подключенных к Интернету с помощью него, пропишите указанные DNS сервера в настройках WAN подключения и, если у вашего провайдера используется Динамический IP-адрес, установите программу OpenDNS Updater (будет предложено далее) на компьютер, который чаще всего бывает включен и всегда подключен к Интернету через данный роутер.
Указываем имя сети на свое усмотрение и загружаем OpenDNS Updater, если нужно
На этом готово. На сайте OpenDNS можете перейти к пункту «Test your new settings», чтобы проверить, все ли было сделано правильно. Если все в порядке, вы увидите сообщение об успехе и ссылку для перехода в панель администрирования OpenDNS Dashboard.
Прежде всего, в консоли, вам потребуется указать IP-адрес, к которому будут применяться дальнейшие настройки. Если же у вашего провайдера используется динамический IP адрес, то потребуется установка программы, доступной по ссылке «client-side software», а также предлагаемой при назначении имени сети (следующий шаг), она будет отправлять данные о текущем IP адреса вашего компьютера или сети, если используется Wi-Fi роутер. На следующем этапе потребуется задать имя «контролируемой» сети — любое, на ваше усмотрение (скриншот был выше).
Укажите, какие сайты блокировать в OpenDNS
После того, как сеть добавлена, она появится в списке — кликните по IP адресу сети, чтобы открыть настройки блокировки. Вы можете установить заранее подготовленные уровни фильтрации, а также заблокировать любые сайты в разделе Manage individual domains. Просто введите адрес домена, поставьте пункт Always block и нажмите кнопку Add Domain (Вам также будет предложено заблокировать не только, например, odnoklassniki.ru, но и все социальные сети).
Сайт заблокирован
После добавления домена в список блокировки также требуется нажать кнопку Apply и подождать несколько минут до тех пор, пока изменения вступят в силу на всех серверах OpenDNS. Ну а после вступления всех изменений в силу, при попытке зайти на заблокированный сайт вы увидите сообщение о том, что сайт заблокирован в данной сети и предложение связаться с системным администратором.
Фильтр веб-контента в антивирусах и сторонних программах
Многие известные антивирусные продукты имеют встроенные функции родительского контроля, с помощью которых можно заблокировать нежелательные сайты. В большинстве из них, включение данных функций и управление ими интуитивно понятно и не вызывает сложностей. Также возможности блокировки отдельных IP-адресов есть в настройках большинства Wi-Fi роутеров.
Кроме этого, существуют отдельные программные продукты, как платные, так и бесплатные, с помощью которых можно установить соответствующие ограничения, среди которых — Norton Family, Net Nanny и многие другие. Как правило, они обеспечивают блокировку на конкретном компьютере и снять ее можно с помощью ввода пароля, хотя бывают и иные реализации.
Как-нибудь я еще напишу о таких программах, а это руководство пора завершать. Надеюсь, оно будет полезным.
РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительность системы
Как заблокировать веб-сайты с помощью файла Hosts в Windows 10
Каждая версия Windows поставляется со специальным Хосты
файл, который помогает разрешить Записи DNS. В дополнение к вашей сетевой конфигурации, файл можно использовать для определения пары домен = IP-адрес, который будет иметь приоритет выше значения, предоставленного DNS-сервером. Используя этот трюк, вы можете заблокировать открытие определенных веб-сайтов в веб-браузере на вашем компьютере.
Рекламное объявление
Этот прием полезен и во многих других ситуациях. Например, веб-разработчики могут заставить свой компьютер преобразовывать домен в адрес localhost. Если у вас есть домашняя локальная сеть, сопоставление имени сетевого устройства с его IP-адресом с помощью файла Hosts позволит вам открыть устройство по его имени из проводника. Это полезно, когда на ваших сетевых устройствах работает чистый дистрибутив Linux, который не предоставляет имена, которые Windows может распознать по сети.
Файл Hosts — это обычный текстовый файл, который может быть изменен с помощью любого текстового редактора. Единственная загвоздка в том, что приложение-редактор должно быть запущен с повышенными правами (как администратор). Файл hosts находится в системном каталоге, поэтому приложениям без повышенных прав его не удастся сохранить.
Файл Hosts состоит из строк текста. Каждая строка должна включать IP-адрес в первом текстовом столбце, за которым следует одно или несколько имен хостов. Текстовые столбцы отделяются друг от друга пробелом. По исторической причине часто предпочтительнее, но пробелы тоже помогут. Строки, начинающиеся с символа решетки (#), являются комментариями. Windows игнорирует пустые места в файле hosts.
СОДЕРЖАНИЕСпрятать
Чтобы заблокировать веб-сайты, использующие файл Hosts в Windows 10,
Как проверить изменения
Чтобы разблокировать сайты, заблокированные в файле Hosts,
Чтобы заблокировать веб-сайты, использующие файл Hosts в Windows 10,
- Откройте меню «Пуск» и перейдите в раздел «Аксессуары Windows».
- Щелкните приложение «Блокнот» правой кнопкой мыши и выберите «Дополнительно» — «Запуск от имени администратора».
- В Блокноте выберите меню Файл — Открыть или нажмите Ctrl + О ключи.
- Перейдите в папку C: \ Windows \ System32 \ drivers \ etc.
- В раскрывающемся меню выберите «Все файлы».
- Дважды щелкните файл hosts.
- В новой строке файла hosts, открытого в Блокноте, введите
127.0.0.1
. Это ваш адрес localhost (локальный адрес ПК по умолчанию). - Нажмите Вкладка или добавьте пробелы после адреса localhost и введите адрес веб-сайта (например, google.com или www.facebook.com) вы хотите заблокировать.
- Сохраните файл (Ctrl + S).
Вы сделали!
Примечание: используйте по одной записи в строке. Записи должны выглядеть следующим образом:
127.0.0.1 google.com. 127.0.0.1 www.facebook.com
Как проверить изменения
Чтобы проверить внесенные вами изменения, открыть командную строку и используйте команду ping, чтобы увидеть адрес в выводе.
В моем случае удаленный адрес домена google.com будет разрешен для моего локального компьютера.
Наконец, вы можете захотеть разблокировать заблокированный веб-сайт. Вот как это можно сделать.
Чтобы разблокировать сайты, заблокированные в файле Hosts,
- Откройте меню «Пуск» и перейдите в раздел «Аксессуары Windows».
- Щелкните приложение «Блокнот» правой кнопкой мыши и выберите «Дополнительно» — «Запуск от имени администратора».
- В Блокноте выберите меню Файл — Открыть или нажмите Ctrl + О ключи.
- Перейдите в папку C: \ Windows \ System32 \ drivers \ etc.
- В раскрывающемся меню выберите «Все файлы».
- Дважды щелкните файл hosts.
-
Добавьте символ комментария
#
на начало линии, которая содержит заблокированный веб-сайт, который вы хотите разблокировать. Или удалите всю строку. - Сохраните файл (Ctrl + S).
Примечание. Добавление символа комментария полезно, когда вы хотите временно разблокировать веб-адрес или заблокировать / разблокировать его по запросу.
Вот и все.
РЕКОМЕНДУЕМЫЕ: Щелкните здесь, чтобы исправить проблемы с Windows и оптимизировать производительность системы
Наверно большая часть нашей жизни можно сегодня назвать цифровой. Мы посещаем десятки сайтов каждый день, чтобы получать и обмениваться информацией. Но сайты, которые мы посещаем, возможно, не совсем подходят для наших детей.
Если вы делите свой Windows 10 PC с детьми, это хорошая идея, блокировать доступ к определенным веб-сайтам на вашем компьютере.
Конечно, существуют десятки бесплатных и коммерческих программных продуктов, позволяющих блокировать веб-сайты на компьютере, но вы можете использовать встроенную в файл host блокировку URL-адреса на компьютере Windows. Это просто, все что нужно сделать — добавить URL-адрес веб-сайта в файл host. Ни один из браузеров, установленных на вашем компьютере не сможет открыть заблокированные вами сайты.
Как блокировать веб-сайты на вашем Windows 10 ПК путем редактирования файла host.
Как уже говорилось, вы можете блокировать веб-сайты на вашем Windows 10 ПК без установки какого-либо дополнительного программного обеспечения. Все, что вам нужно сделать, это отредактировать файл host. Вот как это сделать.
Шаг 1: Откройте программу Блокнот от имени администратора. Для этого введите — Блокнот в меню Пуск или на панели задач в поле поиска, кликните правой кнопкой мыши на значок блокнота, а затем выберите Запуск от имени администратора.
Нажмите кнопку Да, когда появится окно управления учетными записями пользователей.
Шаг 2: В окне программы Блокнот, нажмите кнопку меню Файл, нажмите кнопку Открыть.
Перейдите в
C:\Windows\System32\Drivers\Etc
(где «C» буква диска где установлена Windows 10) и выберите файл host.
Примечание: вам потребуется изменить тип файла текстовые документы на все файлы (см рисунок ниже)
Нажмите кнопку Открыть, чтобы открыть файл с помощью блокнота.
Шаг 3: После того, как файл host открыт с помощью блокнота, добавьте URL адреса веб — сайтов, к которым вы хотите, заблокировать, запретить доступ на вашем ПК следующим образом:
127.0.0.1 www.bing.com
127.0.0.1 www.google.com
Шаг 4: После добавления адресов сайтов, откройте меню Файл, а затем нажмите кнопку Сохранить или нажмите сочетания клавиш Ctrl + S , чтобы сохранить изменения. Все!
Теперь попробуйте открыть один из введенных для блокировки сайтов в любом из веб-браузеров на вашем компьютере. С этого момента ни один из заблокированных сайтов не будет загружаться на вашем компьютере.
Для того, чтобы снова разблокировать сайты, снова откройте файл host, и удалите адрес сайта из файла host. Сохраните файл.
Рассмотрим несколько способов, которые помогут вам запретить доступ к отдельным сайтам, URL и IP адресам в Windows без использования сторонних программ. Обычно блокировку сайтов наиболее эффективно настраивать на уровне сетевого шлюза (роутер, маршрутизатор, Wi-Fi точка доступа, через которую вы выходите в Интернет), или с помощью стороннего ПО (фильтры контента, DNS фильтры и т.д.). В нашем случае мы попробуем заблокировать определенный сайт с помощью встроенных средств Windows 10 и автоматизации PowerShell.
Содержание:
- Блокировка сайтов в Windows с помощью файла hosts
- Блокировка сайтов через DNS
- Блокируем IP адрес сайта в брандмауэре Windows
- PowerShell: правила блокировки сайтов по имени и IP адресу в брандмауэре Windows
Блокировка сайтов в Windows с помощью файла hosts
Самый известный способ заблокировать определенный сайт в Windows – отредактировать файл hosts. Обычно файл находится в каталоге %windir%\system32\drivers\etc\. Обратите внимание, что у файла hosts нет расширения.
Путь к каталогу с файлом hosts задается в параметре DataBasePath в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. По-умолчанию это %SystemRoot%\System32\drivers\etc.
Файл hosts используется для ручного назначения соответствий между IP адресами и DNS именами. При выполнении разрешении имен файл hosts имеет приоритет над DNS серверами, указанными в настройках сетевых подключений,
Чтобы заблокировать определенный сайт (например, ok.ru), откройте на редактирование файл hosts (с правами администратора) и добавьте в него строки вида:
127.0.0.1 ok.ru
127.0.0.1 www.ok.ru
Сохраните файл и перезагрузите компьютер (или очистите DNS кэш командой:
ipconfig /flushdns
).
После этого при попытке открыть сайт ok.ru в любом браузере будет появляется сообщение “Страница не найдена” / “Страница не доступна”.
Вы можете добавлять новые строки с URL сайтов в файл hosts с помощью такого bat файла:
@echo off
set hostspath=%windir%\System32\drivers\etc\hosts
echo 127.0.0.1 www.facebook.com >> %hostspath%
echo 127.0.0.1 facebook.com >> %hostspath%
exit
Либо можно воспользоваться следующими PowerShell функциями для автоматизации блокировки (разблокировки) определенных сайтов в списке запрещенных доменов в файле hosts.
Function BlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If(-not $is_blocked) {
$hoststr="127.0.0.1 ” + $Url
Add-Content -Path $hosts -Value $hoststr
}
}
Function UnBlockSiteHosts ( [Parameter(Mandatory=$true)]$Url) {
$hosts = 'C:\Windows\System32\drivers\etc\hosts'
$is_blocked = Get-Content -Path $hosts |
Select-String -Pattern ([regex]::Escape($Url))
If($is_blocked) {
$newhosts = Get-Content -Path $hosts |
Where-Object {
$_ -notmatch ([regex]::Escape($Url))
}
Set-Content -Path $hosts -Value $newhosts
}
}
Теперь чтобы добавить определенный сайт в заблокированные достаточно выполнить функцию:
BlockSiteHosts ("vk.com")
Чтобы разблокировать сайт запустите:
UnBlockSiteHosts ("vk.com")
Блокировка сайтов через DNS
Если ваши клиенты пользуются одним DNS сервером, вы можете аналогичным образом заблокировать определенный сайты с помощью создания DNS записи в этом DNS, указывающей на 127.0.0.1 (или что-то в таком роде). По такому принципу, кстати, работают большинство коммерческих контент фильтров DNS (OpenDNS, SkyDNS, Яндекс.DNS и т.д.).
Блокируем IP адрес сайта в брандмауэре Windows
Также вы можете заблокировать определенные сайты с помощью встроенного Windows Firewall. Главный недостаток такого метода – вы не сможете использовать имя домена или сайта в правиле блокировке. Брандмауэр Windows в качестве источника/назначения позволяет указать только IP адрес или подсеть.
Сначала нужно определить IP адрес сайта, который вы хотите заблокировать. Проше всего это сделать командой nslookup.
nslookup ok.ru
Как вы видите в результатах команды присутствует несколько IP адресов, которые назначены сайту. Вам нужно заблокировать их все.
Теперь нужно запустить панель настройки Windows Firewall (Панель управления \Все элементы панели управления\Брандмауэр Защитника Windows\Дополнительные параметры или firewall.cpl).
В секции “Правила для исходящих подключений” создайте новое правило со следующими параметрами:
- Тип правила: Настраиваемые;
- Программа: Все программы;
- Тип протокола: Любой;
- Область: в секции “Укажите удаленные IP адреса, к которым применяется данное правило” выберите пункт “Указанные IP адреса” -> Добавить. В открывшемся окне укажите IP адреса, IP подсети или диапазон IP адресов сайтов, которые нужно заблокировать.
Нажмите OK-> Далее -> Действие: “Блокировать подключение”.
В окне со списком профилей брандмауэра, к которым применяется это правило оставьте все опции. Осталось указать имя правила и сохранить его.
После этого Брандмауэр Защитника Windows будет блокировать все соединения с данным сайтом. В браузере при подключении к заблокированному сайту будет появляться ошибка:
Unable to connect
или
Доступ в Интернет закрыт
Возможно, подключение заблокирована брандмауэром или антивирусным ПО.
ERR_NETWORK_ACCESS_DENIED
В домене AD вы можете распространить на компьютеры пользователей политику блокирующую сайт с помощью GPO. Но еще раз скажем, это нецелесообразно. Фильтровать сайты правильнее на шлюзе доступа в Интернет.
PowerShell: правила блокировки сайтов по имени и IP адресу в брандмауэре Windows
Вы также можете с помощью PowerShell создать правило брандмауэра, блокирующее исходящие подключения к определенному сайту:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress 217.20.147.1, 217.20.141.0/26
Строка “ The rule was parsed successfully from the store” говорит о том, что правило новое правило брандмауэра успешно применено. Вы можете найти его в графическом интерфейсе Windows Firewall.
Чтобы не резолвить имя сайта в IP адреса вручную можно использовать PowerShell командлет Resolve-DnsName для получения IP адресов сайтов.
Resolve-DnsName "ok.ru"| Select-Object -ExpandProperty IPAddress
Таким образом мы можем преобразовать имя домена в IP адреса и сразу добавить запрещающее правило для блокирования доступа к сайту:
$IPAddress = Resolve-DnsName "ok.ru"| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
Получается, что теперь вы можете добавить запрещающее правило в Windows Firewall сразу для нескольких сайтов:
$SitesToBlock = “lenta.ru”,”mail.ru”,”facebook.com”
$IPAddress = $SitesToBlock | Resolve-DnsName -NoHostsFile | Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Web Sites" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
У командлета Resolve-DnsName я добавил параметр –NoHostsFile, чтобы не использовать при проверке файл hosts.
Проверим, что блокирующее правило для исходящего появилось в консоли.
Эта статья прежде всего разминка для ума. В корпоративной сети для ограничения доступа к сайтам нужно использовать фильтрацию на уровне шлюза доступа в интернет или прокси-сервере. Блокировка доступа на уровне хостов не столь эффективна.