Как заблокировать ip адрес в windows 10

Обновлено: 06.07.2024

Здравствуйте! В этой статье предлагаю рассмотреть вопрос о том, как можно заблокировать сайт через брандмауэр операционной системы Windows 7/10.

К сожалению, у многих пользователей почему-то сложилось негативное мнение по поводу штатного сетевого экрана, хотя работает он вполне себе хорошо. И сейчас вы сами это увидите.

Как включить штатный брандмауэр Windows 7/10 для блокировки сайта?

Скажу сразу, это очень простая процедура. Но давайте начнем сначала. Первым делом необходимо посмотреть, к какому типу сети (домашняя или общественная) относится наш компьютер.

Для этого следуем в "Панель управления" и находим там вкладку "Центр управления сетями и общим доступом. Чтобы сделать это быстро, выберите режим просмотра "Мелкие значки":

Затем входим в "Центр управления" и смотрим интересующую нас информацию. Как видно на скриншоте ниже, в моем случае тип сети "Частный":

Это нужно знать для того, чтобы проверить, что для этой сети вообще включен сетевой экран, иначе все наши блокировки попросту не сработают.

Поэтому теперь в нижней части жмем на пункт "Брандмауэр Windows" и смотрим на его состояние. На картинке ниже все хорошо, можно увидеть, что частная сеть подключена:

Если же это не так, открываем раздел "Включение и отключение брандмауэра Windows" и исправляем ситуацию, то есть включаем его:

Как создать правило для блокировки сайта в брандмауэре Windows 7/10?

Делается это за минуту. Суть состоит в том, чтобы внести IP-адрес запрещенного сайта в специальное правило для исходящего трафика (запросов) с нашего компьютера. Как узнать такой адрес, я подробно показывал в прошлом материале . Кто не знает, обязательно перечитайте.

Итак, идем по пути "Дополнительные параметры-Правила для исходящего подключения-Создать правило":

Далее "Настраиваемые-Все программы":

В разделе "Протокол и порты" можно ничего менять, то есть заблокировать "все и вся", но в таком случае некоторые приложения, например, TeamViewer могут начать работать некорректно. Поэтому лучше указать настройки как на скриншоте ниже. Для блокировки сайтов это будет оптимальным вариантом:

А вот на вкладке "Область" выбираем пункт "Указанные IP-адреса" и добавляем их:

На скриншоте выше в качестве примера показан IP-адрес крупного новостного портала tut.by. Осталось только лишь включить блокировку. Давайте сделаем это для всех типов сетей (частной и общественной):

И вот сейчас, если все сделано правильно, в общем списке правил брандмауэра Windows должно отобразиться и только что созданное. Причем обязательно проверяем, чтобы в графе "Включено" значился положительный ответ:

Кстати, если дважды щелкнуть мышкой по самому правилу, то откроется меню с интересными дополнительными параметрами. Например, можно снять блокировку для администратора, а оставить для пользователей или гостей. Также есть возможность добавить новый узел в черный список:

В общем, для расширения кругозора настоятельно советую вам тут детально покопаться. Уверен, найдете много интересного.

Как заблокировать сайты через брандмауэр Windows 7/10 кроме определенных?

Согласитесь, бывают и такие случаи, когда нужно разрешить доступ только к ограниченному списку интернет-ресурсов, а ко всем остальным заблокировать. В таком случае на помощь приходит диапазон IP-адресов.

Поясняю на пальцах, как это выглядит на практике. Допустим, ресурс к которому мы хотим дать доступ имеет адрес 86.57.234.184. В таком случае следует создать два диапазона, которые будут блокировать все адресное пространство "до и после". Внимание на скриншот:

1-й диапазон: 0.0.0.0 - 86.57.234.18 3 ;
2-й диапазон: 86.57.234.18 5 - 255.255.255.255.

Обратите внимание, ключевые значения выделены жирным шрифтом. Вот таким простым способом можно комбинировать любые сочения сайтов. Так что экспериментируйте на здоровье.

Надежна ли такая блокировка сайтов с помощью брандмауэра Windows?

Безусловно, но как и в предыдущем случае , только если на компьютере есть разграничения прав пользователей (администратор или нет). Иначе ничего не помешает юзеру с полными привилегиями отменить к чертям собачьим все ограничения элементарным отключением брандмауэра.

Кстати, стоит сказать, что в Windows 10 имеется штатный браузер Microsoft Edge, который по умолчанию находится в исключениях сетевого экрана и который не так-то просто оттуда убрать. Но об этом поговорим уже в ближайшей статье. Всем пока.

date

26.09.2019

directory

Windows 10, Windows Server 2016

comments

комментария 3

Рассмотрим несколько способов, которые помогут вам запретить доступ к отдельным сайтам, URL и IP адресам в Windows без использования сторонних программ. Обычно блокировку сайтов наиболее эффективно настраивать на уровне сетевого шлюза (роутер, маршрутизатор, Wi-Fi точка доступа, через которую вы выходите в Интернет), или с помощью стороннего ПО (фильтры контента, DNS фильтры и т.д.). В нашем случае мы попробуем заблокировать определенный сайт с помощью встроенных средств Windows 10 и автоматизации PowerShell.

Блокировка сайтов в Windows с помощью файла hosts

Самый известный способ заблокировать определенный сайт в Windows – отредактировать файл hosts. Обычно файл находится в каталоге %windir%\system32\drivers\etc\. Обратите внимание, что у файла hosts нет расширения.

DataBasePath путь к файлу hosts в реестре HKLM\CurrentControlSet\Services\Tcpip\Parameters

Путь к каталогу с файлом hosts задается в параметре DataBasePath в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. По-умолчанию это %SystemRoot%\System32\drivers\etc.

Файл hosts используется для ручного назначения соответствий между IP адресами и DNS именами. При выполнении разрешении имен файл hosts имеет приоритет над DNS серверами, указанными в настройках сетевых подключений,

блокировка сайта через файл hosts

Сохраните файл и перезагрузите компьютер (или очистите DNS кэш командой: ipconfig /flushdns ).

Вы можете добавлять новые строки с URL сайтов в файл hosts с помощью такого bat файла:

@echo off
set hostspath=%windir%\System32\drivers\etc\hosts

Либо можно воспользоваться следующими 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 //pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"> >
Set-Content -Path $hosts -Value $newhosts
>
>

powershell - функция блокировки сайтов в файле hosts

Теперь чтобы добавить определенный сайт в заблокированные достаточно выполнить функцию:

Чтобы разблокировать сайт запустите:

Блокировка сайтов через DNS

Если ваши клиенты пользуются одним DNS сервером, вы можете аналогичным образом заблокировать определенный сайты с помощью создания DNS записи в этом DNS, указывающей на 127.0.0.1 (или что-то в таком роде). По такому принципу, кстати, работают большинство коммерческих контент фильтров DNS (OpenDNS, SkyDNS, Яндекс.DNS и т.д.).

Блокируем IP адрес сайта в брандмауэре Windows

Также вы можете заблокировать определенные сайты с помощью встроенного Windows Firewall. Главный недостаток такого метода – вы не сможете использовать имя домена или сайта в правиле блокировке. Брандмауэр Windows в качестве источника/назначения позволяет указать только IP адрес или подсеть.

Сначала нужно определить IP адрес сайта, который вы хотите заблокировать. Проше всего это сделать командой nslookup.

nslookup - получения ip адресов сайта

Как вы видите в результатах команды присутствует несколько IP адресов, которые назначены сайту. Вам нужно заблокировать их все.

Теперь нужно запустить панель настройки Windows Firewall (Панель управления \Все элементы панели управления\Брандмауэр Защитника Windows\Дополнительные параметры или firewall.cpl).

Windows Firewall создать исходящее правило

В секции “Правила для исходящих подключений” создайте новое правило со следующими параметрами:

  • Тип правила: Настраиваемые;
  • Программа: Все программы;
  • Тип протокола: Любой;
  • Область: в секции “Укажите удаленные IP адреса, к которым применяется данное правило” выберите пункт “Указанные IP адреса” -> Добавить. В открывшемся окне укажите IP адреса, IP подсети или диапазон IP адресов сайтов, которые нужно заблокировать.

указать ip адреса для блокировки

Нажмите OK-> Далее -> Действие: “Блокировать подключение”.

windows firewall блокировать подключение

В окне со списком профилей брандмауэра, к которым применяется это правило оставьте все опции. Осталось указать имя правила и сохранить его.

После этого Брандмауэр Защитника 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

New-NetFirewallRule - создать правило блокировки сайта PowerShell

Строка “ The rule was parsed successfully from the store” говорит о том, что правило новое правило брандмауэра успешно применено. Вы можете найти его в графическом интерфейсе Windows Firewall.

правило блокировки IP адресов в брандмауэере windows

Чтобы не резолвить имя сайта в IP адреса вручную можно использовать PowerShell командлет Resolve-DnsName для получения IP адресов сайтов.

Resolve-DnsName "ok.ru"| Select-Object -ExpandProperty IPAddress

Resolve-DnsName

Таким образом мы можем преобразовать имя домена в 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.

Проверим, что блокирующее правило для исходящего появилось в консоли.

block web sites правило в консоли windows defender firewall

Эта статья прежде всего разминка для ума. В корпоративной сети для ограничения доступа к сайтам нужно использовать фильтрацию на уровне шлюза доступа в интернет или прокси-сервере. Блокировка доступа на уровне хостов не столь эффективна.

Я хочу блокировать входящие соединения из 13.54.Х. Х.
Под "прицел" > "этот IP-адрес диапазона входного" поля ввода (от и до), Я пишу:

13.54.0.0 to 13.54.255.255

или нужно ли создавать отдельные правила:

сначала вычислите запись cidr подсети. В 13.54.0.0 до 13.54.255.255 диапазона IPv4, первые два octates являются постоянными (префикс сети), а остальные два последних octates переменной (принимающей решения). Таким образом, битовая длина префикса (32-16)=16. И обозначение CIDR 13.54.0.0/16.

есть три способа заблокировать диапазон IP-адресов.

  1. С панелью управления брандмауэра:: Откройте Панель управления брандмауэром Windows с Win + R и типа WF.msc. Нажмите на правила для входящих подключений > новые правила > настройка > все программы > тип протокола: любой > добавить удаленный IP-адрес (см. ниже) > проверьте блок соединения > профиль: выбрать все > имя.

Firewall_New_Rule

добавить удаленные IP-адреса:: нажмите на кнопку 'IP-адрес' переключатель в разделе удаленный IP. Type 13.54.0.0/16 ниже 'этот IP адрес или подсеть' и затем OK. Теперь ваше входящее правило готово.

Add_IP_Address

  1. С Командной Строкой Администратора:: введите команду netsh advfirewall firewall add rule name="New_Rule" Dir=In Action=Block RemoteIP=13.54.0.0/16

CMD_Add_rule

  1. С Администратором Powershell:: введите команду New-NetFirewallRule -Direction Inbound -DisplayName "New_Rule" -Name "New_Rule" -RemoteAddress 13.54.0.0/16 -Action Block

Powershell_Add_rule

создайте одно правило брандмауэра, используя маску подсети

вы можете создать одно правило брандмауэра, чтобы заблокировать диапазон IP 13.54.0.0 to 13.54.255.255 С помощью /16 маски такой:

часть после / - это маска подсети, который определяет, сколько битов указанного адреса должно быть проверено, чтобы определить, соответствует ли IP-адрес соединения правилу.

в вашем случае это легко выяснить. Вы хотите сопоставить адреса основываясь только на первых двух октетах (13.54.x.x) IP-адреса. Октет содержит 8 бит, поэтому два октета равны 16 битам или маске /16 .

узнать больше Википедии об использовании маски битов, чтобы указать, какие части IP совпадают.

date

26.09.2019

directory

Windows 10, Windows Server 2016

comments

комментария 3

Рассмотрим несколько способов, которые помогут вам запретить доступ к отдельным сайтам, URL и IP адресам в Windows без использования сторонних программ. Обычно блокировку сайтов наиболее эффективно настраивать на уровне сетевого шлюза (роутер, маршрутизатор, Wi-Fi точка доступа, через которую вы выходите в Интернет), или с помощью стороннего ПО (фильтры контента, DNS фильтры и т.д.). В нашем случае мы попробуем заблокировать определенный сайт с помощью встроенных средств Windows 10 и автоматизации PowerShell.

Блокировка сайтов в Windows с помощью файла hosts

Самый известный способ заблокировать определенный сайт в Windows – отредактировать файл hosts. Обычно файл находится в каталоге %windir%\system32\drivers\etc\. Обратите внимание, что у файла hosts нет расширения.

DataBasePath путь к файлу hosts в реестре HKLM\CurrentControlSet\Services\Tcpip\Parameters

Путь к каталогу с файлом hosts задается в параметре DataBasePath в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. По-умолчанию это %SystemRoot%\System32\drivers\etc.

Файл hosts используется для ручного назначения соответствий между IP адресами и DNS именами. При выполнении разрешении имен файл hosts имеет приоритет над DNS серверами, указанными в настройках сетевых подключений,

блокировка сайта через файл hosts

Сохраните файл и перезагрузите компьютер (или очистите DNS кэш командой: ipconfig /flushdns ).

Вы можете добавлять новые строки с URL сайтов в файл hosts с помощью такого bat файла:

@echo off
set hostspath=%windir%\System32\drivers\etc\hosts

Либо можно воспользоваться следующими 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 //pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"> >
Set-Content -Path $hosts -Value $newhosts
>
>

powershell - функция блокировки сайтов в файле hosts

Теперь чтобы добавить определенный сайт в заблокированные достаточно выполнить функцию:

Чтобы разблокировать сайт запустите:

Блокировка сайтов через DNS

Если ваши клиенты пользуются одним DNS сервером, вы можете аналогичным образом заблокировать определенный сайты с помощью создания DNS записи в этом DNS, указывающей на 127.0.0.1 (или что-то в таком роде). По такому принципу, кстати, работают большинство коммерческих контент фильтров DNS (OpenDNS, SkyDNS, Яндекс.DNS и т.д.).

Блокируем IP адрес сайта в брандмауэре Windows

Также вы можете заблокировать определенные сайты с помощью встроенного Windows Firewall. Главный недостаток такого метода – вы не сможете использовать имя домена или сайта в правиле блокировке. Брандмауэр Windows в качестве источника/назначения позволяет указать только IP адрес или подсеть.

Сначала нужно определить IP адрес сайта, который вы хотите заблокировать. Проше всего это сделать командой nslookup.

nslookup - получения ip адресов сайта

Как вы видите в результатах команды присутствует несколько IP адресов, которые назначены сайту. Вам нужно заблокировать их все.

Теперь нужно запустить панель настройки Windows Firewall (Панель управления \Все элементы панели управления\Брандмауэр Защитника Windows\Дополнительные параметры или firewall.cpl).

Windows Firewall создать исходящее правило

В секции “Правила для исходящих подключений” создайте новое правило со следующими параметрами:

  • Тип правила: Настраиваемые;
  • Программа: Все программы;
  • Тип протокола: Любой;
  • Область: в секции “Укажите удаленные IP адреса, к которым применяется данное правило” выберите пункт “Указанные IP адреса” -> Добавить. В открывшемся окне укажите IP адреса, IP подсети или диапазон IP адресов сайтов, которые нужно заблокировать.

указать ip адреса для блокировки

Нажмите OK-> Далее -> Действие: “Блокировать подключение”.

windows firewall блокировать подключение

В окне со списком профилей брандмауэра, к которым применяется это правило оставьте все опции. Осталось указать имя правила и сохранить его.

После этого Брандмауэр Защитника 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

New-NetFirewallRule - создать правило блокировки сайта PowerShell

Строка “ The rule was parsed successfully from the store” говорит о том, что правило новое правило брандмауэра успешно применено. Вы можете найти его в графическом интерфейсе Windows Firewall.

правило блокировки IP адресов в брандмауэере windows

Чтобы не резолвить имя сайта в IP адреса вручную можно использовать PowerShell командлет Resolve-DnsName для получения IP адресов сайтов.

Resolve-DnsName "ok.ru"| Select-Object -ExpandProperty IPAddress

Resolve-DnsName

Таким образом мы можем преобразовать имя домена в 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.

Проверим, что блокирующее правило для исходящего появилось в консоли.

block web sites правило в консоли windows defender firewall

Эта статья прежде всего разминка для ума. В корпоративной сети для ограничения доступа к сайтам нужно использовать фильтрацию на уровне шлюза доступа в интернет или прокси-сервере. Блокировка доступа на уровне хостов не столь эффективна.

Блокировать IP или веб-сайт с помощью PowerShell

Блокировать IP или веб-сайт с помощью PowerShell

Хотя блокировка диапазонов IP-адресов работает отлично, заблокировать веб-сайт или домен сложно. Это связано с тем, что к домену может быть подключено несколько IP-адресов, и, хотя вы можете их предотвратить, преобразователь DNS может определять другой IP-адрес каждый раз, когда он запрашивает. Кроме того, иногда один и тот же IP-адрес может использоваться связанными службами, и блокировка этого IP-адреса будет означать блокировку и других служб.

  1. Блокировать локальные IP-адреса или IP-адреса в Интернете
  2. Блокировать веб-сайты или доменные имена

Для их выполнения вам потребуются права администратора.

1]Заблокировать IP-адрес или диапазон с помощью PowerShell


С помощью этой команды вы можете использовать один IP-адрес или диапазон IP-адресов. Выполните следующую команду в PowerShell.

New-NetFirewallRule -DisplayName "Block XYZ.com IP address" -Direction Outbound –LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23

Блокировать IP-адрес в приложении брандмауэра Windows

2]Заблокируйте веб-сайт или домен с помощью PowerShell

Блокировать домен веб-сайта с помощью PowerShell

Обратите внимание на IP-адрес, который мы будем использовать во втором методе.

New-NetFirewallRule -DisplayName "Block XYZ.com IP address" -Direction Outbound –LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23

Когда я использовал это с YouTube, он не работал, хотя прямой IP был заблокирован. Когда я использовал его с Facebook, это сработало. Поэтому, если веб-сайт может быть разрешен с использованием нескольких IP-адресов, этот метод не будет работать.

Команды PowerShell очень просты. Если вы когда-либо использовали командную строку, она не хуже; Надеюсь, вам удалось успешно заблокировать IP-адрес или веб-сайт с помощью PowerShell в Windows. В любое время, когда вы захотите удалить их, вы можете сделать это из брандмауэра Windows или использовать Remove-NetFirewallRule команда.

Читайте также: