आइए तृतीय-पक्ष टूल का उपयोग किए बिना विंडोज़ में विशिष्ट वेबसाइटों, डोमेन नाम, यूआरएल या आईपी पते तक पहुंच को अवरुद्ध करने के कुछ तरीकों पर विचार करें। हमारे मामले में, हम अंतर्निहित विंडोज 10 टूल और पावरशेल ऑटोमेशन सुविधाओं का उपयोग करके कुछ वेबसाइटों को ब्लॉक करने का प्रयास करेंगे।
आमतौर पर आपके नेटवर्क राउटर (स्विच या वाई-फाई एक्सेस प्वाइंट जिसे आप इंटरनेट एक्सेस करने के लिए उपयोग कर रहे हैं) या थर्ड-पार्टी सॉफ्टवेयर (कंटेंट फिल्टर, डीएनएस फिल्टर, आदि) का उपयोग करके वेबसाइटों को ब्लॉक करना आसान है।
विंडोज़ में होस्ट्स फ़ाइल का उपयोग करने वाली वेबसाइटों को ब्लॉक करना
विंडोज़ पर किसी विशिष्ट वेबसाइट को ब्लॉक करने का सबसे लोकप्रिय तरीका होस्ट . को संपादित करना है फ़ाइल। आमतौर पर यह %windir%\system32\drivers\etc\ . में स्थित होता है निर्देशिका। कृपया ध्यान दें कि होस्ट फ़ाइल का एक्सटेंशन नहीं है।
होस्ट . वाली निर्देशिका का पथ फ़ाइल डेटाबेसपाथ . में सेट है रजिस्ट्री कुंजी के अंतर्गत पैरामीटर HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters . डिफ़ॉल्ट रूप से यह %SystemRoot%\System32\drivers\etc है।
होस्ट्स फ़ाइल का उपयोग मैन्युअल रूप से IP पतों और DNS नामों के बीच मैपिंग असाइन करने के लिए किया जाता है। नामों का समाधान करते समय, नेटवर्क कनेक्शन सेटिंग्स में निर्दिष्ट DNS सर्वरों की तुलना में मेजबानों की प्राथमिकता अधिक होती है।
किसी विशिष्ट वेबसाइट को ब्लॉक करने के लिए (उदाहरण के लिए, facebook.com), होस्ट्स फ़ाइल खोलें (व्यवस्थापक विशेषाधिकारों के साथ) और इसमें इस तरह के तार जोड़ें:
127.0.0.1 facebook.com 127.0.0.1 www.facebook.com
फ़ाइल सहेजें और अपने कंप्यूटर को पुनरारंभ करें (या कमांड का उपयोग करके DNS कैश साफ़ करें:ipconfig /flushdns
)।
उसके बाद, किसी भी ब्राउज़र में facebook.com खोलने का प्रयास करते समय आपको "पेज नहीं मिला" / "पेज उपलब्ध नहीं है" संदेश दिखाई देगा।
आप ऐसी .bat फ़ाइल का उपयोग करके अपनी होस्ट फ़ाइल में वेबसाइट URL वाली नई लाइनें जोड़ सकते हैं:
@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
या आप अपनी होस्ट फ़ाइल में विशिष्ट वेबसाइटों को स्वचालित रूप से ब्लॉक करने के लिए निम्न पावरशेल फ़ंक्शन का उपयोग कर सकते हैं।
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
}
}
किसी वेबसाइट को अवरुद्ध URL की सूची में जोड़ने के लिए, बस कमांड निष्पादित करें:
BlockSiteHosts ("twitter.com")
वेबसाइट को अनब्लॉक करने के लिए, रन करें:
UnBlockSiteHosts ("twitter.com")
DNS फ़िल्टरिंग का उपयोग करके वेबसाइटों को ब्लॉक करें
यदि आपके क्लाइंट एक ही DNS सर्वर का उपयोग करते हैं, तो उसी तरह आप उस DNS में एक DNS प्रविष्टि बनाकर कुछ वेबसाइटों को ब्लॉक कर सकते हैं और उसमें 127.0.0.1 जैसा कुछ निर्दिष्ट कर सकते हैं। वैसे, अधिकांश व्यावसायिक DNS सामग्री फ़िल्टर (OpenDNS, SafeDNS, Cisco Umbrella, आदि) एक ही सिद्धांत का उपयोग करते हैं।
विंडोज डिफेंडर फायरवॉल में वेबसाइट आईपी एड्रेस को कैसे ब्लॉक करें?
इसके अलावा, आप अंतर्निहित विंडोज डिफेंडर फ़ायरवॉल का उपयोग करके कुछ वेबसाइटों को ब्लॉक कर सकते हैं। इस पद्धति का मुख्य नुकसान यह है कि आप ब्लॉकिंग नियम में किसी डोमेन या वेबसाइट URL के नाम का उपयोग नहीं कर पाएंगे। विंडोज डिफेंडर फ़ायरवॉल आपको स्रोत/गंतव्य के रूप में केवल एक आईपी पता या एक सबनेट निर्दिष्ट करने की अनुमति देता है। सबसे पहले, आपको उस वेबसाइट का आईपी पता प्राप्त करना होगा जिसे आप ब्लॉक करना चाहते हैं। nslookup . का उपयोग करके इसे करना आसान है आदेश:
nslookup twitter.com
जैसा कि आप देख सकते हैं, कमांड ने वेबसाइट को सौंपे गए कई आईपी पते लौटा दिए हैं। आपको उन सभी को ब्लॉक करना होगा।
Windows Defender फ़ायरवॉल प्रबंधन स्नैप-इन (कंट्रोल पैनल\सभी कंट्रोल पैनल आइटम\Windows Defender Firewall\Advanced Settings या firewall.cpl चलाकर चलाएँ। )।
आउटबाउंड नियमों . में अनुभाग, निम्न सेटिंग्स के साथ एक नया नियम बनाएँ:
- नियम प्रकार :कस्टम
- कार्यक्रम :सभी कार्यक्रम
- प्रोटोकॉल प्रकार :कोई भी
- दायरा :"यह नियम किस दूरस्थ IP पतों पर लागू होता है?" अनुभाग "ये आईपी पते" चुनें -> जोड़ें। अगली विंडो में, IP पते, सबनेट या IP पतों की श्रेणी दर्ज करें जिन्हें आप ब्लॉक करना चाहते हैं।
ठीक क्लिक करें -> अगला -> क्रिया -> कनेक्शन अवरुद्ध करें ।
सभी विकल्पों को छोड़ दें क्योंकि वे विंडो में फ़ायरवॉल प्रोफाइल के साथ हैं, जिस पर नियम लागू होता है। फिर नियम का नाम निर्दिष्ट करें और इसे सहेजें।
उसके बाद विंडोज डिफेंडर फ़ायरवॉल निर्दिष्ट वेबसाइट के आईपी पते पर सभी आउटगोइंग कनेक्शन को ब्लॉक कर देगा। अवरुद्ध साइट से कनेक्ट करने का प्रयास करते समय आपके ब्राउज़र में निम्न संदेश दिखाई देगा:
Unable to connect
या
Your Internet access is blocked Firewall or antivirus software may have blocked the connection ERR_NETWORK_ACCESS_DENIED
अपने AD डोमेन में आप GPO का उपयोग करने वाले उपयोगकर्ता कंप्यूटरों पर किसी वेबसाइट तक पहुंच को अवरुद्ध करने के लिए Windows फ़ायरवॉल नीति लागू कर सकते हैं। हालाँकि, यह तर्कसंगत नहीं है। अपने इंटरनेट एक्सेस राउटर (गेटवे) पर वेबसाइटों को फ़िल्टर करना बेहतर है।
डोमेन नाम या आईपी पते द्वारा वेबसाइट को ब्लॉक करने के लिए फ़ायरवॉल नियम बनाने के लिए पावरशेल का उपयोग करना
आप एक फ़ायरवॉल नियम भी बना सकते हैं जो पावरशेल का उपयोग करके वेबसाइट से कनेक्शन को अवरुद्ध करता है:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress 104.244.42.129, 104.244.42.0/24
स्ट्रिंग "नियम को स्टोर से सफलतापूर्वक पार्स किया गया" का अर्थ है कि नया फ़ायरवॉल नियम सफलतापूर्वक लागू किया गया है। आप इसे अपने विंडोज डिफेंडर फ़ायरवॉल के ग्राफिकल इंटरफ़ेस में पा सकते हैं।
वेबसाइट के नामों को मैन्युअल रूप से IP पतों में हल न करने के लिए, आप Resolve-DnsName का उपयोग कर सकते हैं वेबसाइट के IP पते प्राप्त करने के लिए PowerShell cmdlet:
Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
इस प्रकार, आप वेबसाइट के नाम को उसके आईपी पते में बदल सकते हैं और फ़ायरवॉल सेटिंग्स में एक ब्लॉक नियम जोड़ सकते हैं:
$IPAddress = Resolve-DnsName "twitter.com"| Select-Object -ExpandProperty IPAddress
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress $IPAddress
तो अब आप एक साथ कई वेबसाइटों के लिए अपने विंडोज फ़ायरवॉल में एक ब्लॉकिंग नियम जोड़ सकते हैं:
$SitesToBlock = "facebook.com","instagram.com","youtube.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
मैंने –NoHostsFile . जोड़ा है हल करने के लिए होस्ट फ़ाइल का उपयोग न करने के लिए रिज़ॉल्यूशन-DnsName cmdlet के लिए पैरामीटर।
आइए सुनिश्चित करें कि विंडोज फ़ायरवॉल कंसोल में एक ब्लॉक आउटबाउंड नियम दिखाई दिया है।
यह लेख ज्यादातर मस्तिष्क प्रशिक्षण अभ्यास है। कॉर्पोरेट नेटवर्क में, आपको अपने इंटरनेट एक्सेस गेटवे, राउटर या प्रॉक्सी सर्वर पर वेबसाइट फ़िल्टरिंग का उपयोग करना चाहिए। होस्ट-स्तरीय अवरोधन बहुत प्रभावी नहीं है।