Oto kilka sposobów, które pomogą Ci odmówić dostępu do określonych witryn, adresów URL i adresów IP w systemie Windows bez korzystania z programów innych firm. Zwykle najskuteczniejsze jest konfigurowanie blokowania witryn na poziomie bramy sieciowej (router, router, punkt dostępu Wi-Fi, za pośrednictwem którego uzyskujesz dostęp do Internetu) lub przy użyciu oprogramowania innych firm (filtry treści, filtry DNS itp.). W naszym przypadku spróbujemy zablokować określoną witrynę za pomocą wbudowanych narzędzi Windows 10 i automatyzacji PowerShell.
Treść
- Blokuj witryny w systemie Windows za pomocą pliku hosts
- Blokowanie witryn przez DNS
- Blokujemy adres IP witryny w zaporze systemu Windows
- PowerShell: reguły blokowania witryn według nazwy i adresu IP w zaporze systemu Windows
Blokuj witryny w systemie Windows za pomocą pliku hosts
Najbardziej znanym sposobem blokowania określonej witryny w systemie Windows jest edycja pliku. gospodarze. Zwykle plik znajduje się w katalogu % windir% \ system32 \ drivers \ etc \. Pamiętaj, że plik hosts nie ma rozszerzenia.
Ścieżka do katalogu z plikiem hosts jest ustawiona w parametrze DataBasePath w oddziale rejestru HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters. Domyślnie jest to% SystemRoot% \ System32 \ drivers \ etc.Plik hosts służy do ręcznego przypisywania mapowań między adresami IP i nazwami DNS. Podczas rozwiązywania nazw plik hostów ma pierwszeństwo przed serwerami DNS określonymi w ustawieniach połączenia sieciowego.,
Aby zablokować określoną witrynę (na przykład ok.ru), otwórz plik hosts do edycji (z uprawnieniami administratora) i dodaj wiersze formularza:
127.0.0.1 ok.ru
127.0.0.1 www.ok.ru
Zapisz plik i uruchom ponownie komputer (lub wyczyść pamięć podręczną DNS za pomocą polecenia: ipconfig / flushdns
).
Następnie, gdy spróbujesz otworzyć stronę ok.ru w dowolnej przeglądarce, pojawi się komunikat „Nie znaleziono strony” / „Strona niedostępna”.
Możesz dodać nowe wiersze z adresów URL witryn do pliku hosts, używając takiego pliku nietoperza:
@echo wyłączone
set hostspath =% windir% \ System32 \ drivers \ etc \ hosts
echo 127.0.0.1 www.facebook.com >>% hostspath%
echo 127.0.0.1 facebook.com >>% hostspath%
wyjście
Lub możesz użyć następujących funkcji programu PowerShell, aby zautomatyzować blokowanie (odblokowywanie) niektórych witryn na liście zabronionych domen w pliku hosts.
Funkcja BlockSiteHosts ([Parameter (Mandatory = $ true)] $ Url)
$ hosts = 'C: \ Windows \ System32 \ drivers \ etc \ hosts'
$ is_blocked = Get-Content -Path $ hosts |
Select-String -Pattern ([regex] :: Escape ($ Url))
Jeśli (-not $ is_blocked)
$ hoststr = „127.0.0.1” + $ Url
Add-Content -Path $ hosts -Value $ hoststr
Funkcja UnBlockSiteHosts ([Parameter (Mandatory = $ true)] $ Url)
$ hosts = 'C: \ Windows \ System32 \ drivers \ etc \ hosts'
$ is_blocked = Get-Content -Path $ hosts |
Select-String -Pattern ([regex] :: Escape ($ Url))
Jeśli ($ is_blocked)
$ newhosts = Get-Content -Path $ hosts |
Where-Object
$ _ -notmatch ([regex] :: Escape ($ Url))
Set-Content -Path $ hosts -Value $ newhosts
Teraz, aby dodać konkretną stronę do zablokowanych, wystarczy wykonać funkcję:
BlockSiteHosts („vk.com”)
Aby odblokować witrynę, uruchom:
UnBlockSiteHosts („vk.com”)
Blokowanie witryn przez DNS
Jeśli Twoi klienci korzystają z tego samego serwera DNS, możesz podobnie blokować niektóre witryny, tworząc rekord DNS w tym DNS, wskazując na 127.0.0.1 (lub coś w tym rodzaju). Zgodnie z tą zasadą większość komercyjnych filtrów treści DNS działa (OpenDNS, SkyDNS, Yandex.DNS itp.).
Blokujemy adres IP witryny w zaporze systemu Windows
Możesz także blokować niektóre witryny za pomocą wbudowanej Zapory systemu Windows. Główną wadą tej metody jest to, że nie można użyć nazwy domeny lub witryny w regule blokującej. Zapora systemu Windows jako źródło / miejsce docelowe pozwala określić tylko adres IP lub podsieć.
Najpierw musisz określić adres IP witryny, którą chcesz zablokować. Najłatwiej to zrobić za pomocą polecenia nslookup.
nslookup ok.ru
Jak widać w wynikach polecenia, do witryny przypisanych jest kilka adresów IP. Musisz je wszystkie zablokować.
Teraz musisz uruchomić panel ustawień Zapory systemu Windows (Panel sterowania \ Wszystkie elementy panelu sterowania \ Zapora systemu Windows Defender \ Ustawienia zaawansowane lub firewall.cpl).
W sekcji „Reguły wychodzące”Utwórz nową regułę z następującymi parametrami:
- Rodzaj reguły: Konfigurowalny;
- Program: Wszystkie programy;
- Rodzaj protokołu: Any;
- Powierzchnia: w sekcji „Określ zdalne adresy IP, których dotyczy ta reguła” wybierz „Określone adresy IP” -> Dodaj. W oknie, które zostanie otwarte, określ adresy IP, podsieci IP lub zakres adresów IP witryn, które chcesz zablokować.
Kliknij OK-> Dalej -> Działanie: „Zablokuj połączenie”.
W oknie z listą profili zapory, których dotyczy ta reguła, pozostaw wszystkie opcje. Pozostaje określić nazwę reguły i zapisać ją.
Następnie Zapora systemu Windows Defender zablokuje wszystkie połączenia z tą witryną. Podczas łączenia z zablokowaną witryną w przeglądarce pojawi się błąd:
Nie można się połączyć
lub
Dostęp do Internetu jest zamknięty
Połączenie może zostać zablokowane przez zaporę ogniową lub oprogramowanie antywirusowe..
ERR_NETWORK_ACCESS_DENIED
W domenie AD można rozpowszechniać zasady witryn blokujących za pomocą obiektu zasad grupy na komputerach użytkowników. Ale to znowu jest niepraktyczne. Bardziej poprawnie filtruj witryny w bramie dostępu do Internetu.
PowerShell: reguły blokowania witryn według nazwy i adresu IP w zaporze systemu Windows
Możesz także użyć programu PowerShell, aby utworzyć regułę zapory, która blokuje połączenia wychodzące do określonej witryny:
New-NetFirewallRule -DisplayName „Block Site” -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress 217.20.147.1, 217.20.141.0/26
Wiersz „Reguła została pomyślnie przeanalizowana ze sklepu” wskazuje, że reguła została pomyślnie zastosowana nowa reguła zapory. Można go znaleźć w graficznym interfejsie użytkownika Zapory systemu Windows.
Aby uniknąć ręcznego tłumaczenia nazwy witryny na adresy IP, można użyć polecenia cmdlet programu PowerShell Resolve-DnsName aby uzyskać adresy IP witryn.
Resolve-DnsName "ok.ru" | Wybierz obiekt - rozwiń adres IP Adres
W ten sposób możemy przekonwertować nazwę domeny na adresy IP i natychmiast dodać regułę odmowy, aby zablokować dostęp do strony:
$ IPAddress = Resolve-DnsName "ok.ru" | Wybierz obiekt - rozwiń adres IP Adres
New-NetFirewallRule -DisplayName „Zablokuj witrynę” -Kierunek Wychodzące -LocalPort Dowolny-Protokół Dowolny -Akcja Blok -RemoteAddress $ IPAdres
Okazuje się, że teraz możesz dodać regułę odmowy do Zapory systemu Windows dla kilku witryn jednocześnie:
$ SitesToBlock = „lenta.ru”, „mail.ru”, „facebook.com”
$ IPAddress = $ SitesToBlock | Resolve-DnsName -NoHostsFile | Wybierz obiekt - rozwiń adres IP Adres
New-NetFirewallRule -DisplayName „Block Web Sites” -Direction Outbound -LocalPort Any -Protocol Any -Action Block -RemoteAddress $ IPAddress
Do polecenia cmdlet Resolve-DnsName dodałem parametr -NoHostsFile, aby nie używać pliku hosts podczas sprawdzania.
Sprawdźmy, czy reguła blokująca dla ruchu wychodzącego pojawiła się w konsoli.
Ten artykuł jest przede wszystkim treningiem dla umysłu. W sieci firmowej, aby ograniczyć dostęp do witryn, musisz użyć filtrowania na poziomie bramy dostępu do Internetu lub serwera proxy. Blokowanie na poziomie hosta nie jest tak skuteczne.