ভূমিকা
থার্ড-পার্টি টুল ছাড়া উইন্ডোজের বিল্ট-ইন টুল এবং পাওয়ারশেল অটোমেশন ব্যবহার করে নির্দিষ্ট ওয়েবসাইট, ডোমেইন নাম, URL বা IP ঠিকানা ব্লক করার পদ্ধতিগুলো নিচে দেওয়া হলো।
সাধারণত নেটওয়ার্ক রাউটার (সুইচ বা Wi-Fi অ্যাক্সেস পয়েন্ট) বা থার্ড-পার্টি সফটওয়্যার (কন্টেন্ট ফিল্টার, DNS ফিল্টার) দিয়ে ওয়েবসাইট ব্লক করা সহজ।
Hosts ফাইল দিয়ে ওয়েবসাইট ব্লক করা
সর্বाधিক প্রচলিত পদ্ধতি: hosts ফাইল এডিট করা। সাধারণত এটি থাকে: %windir%\system32\drivers\etc\ ডিরেক্টরিতে (এক্সটেনশন নেই)।
hosts ফাইলের পাথ রেজিস্ট্রি কী HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters-এর DataBasePath প্যারামিটার থেকে পাওয়া যায় (ডিফল্ট: %SystemRoot%\System32\drivers\etc)।
hosts ফাইল ম্যানুয়ালি IP ঠিকানা এবং DNS নামের ম্যাপিং করতে ব্যবহৃত হয়। নেম রেজোলিউশনে hosts ফাইলকে DNS সার্ভারের চেয়ে প্রাধান্য দেওয়া হয়।
facebook.com ব্লক করার উদাহরণ:
অ্যাডমিনিস্ট্রেটর অধিকার দিয়ে hosts ফাইল খুলুন এবং নিচের লাইনগুলো যোগ করুন:
127.0.0.1 facebook.com
127.0.0.1 www.facebook.com
ফাইল সেভ করুন এবং কম্পিউটার রিস্টার্ট করুন (বা ipconfig /flushdns চালান)। এখন ব্রাউজারে facebook.com খোলার চেষ্টা করলে "Page not found" দেখাবে।
.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 ফাংশন দিয়ে ব্লক/আনব্লক:
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 ("twitter.com")
আনব্লক করতে: UnBlockSiteHosts ("twitter.com")
DNS ফিল্টারিং দিয়ে ব্লক করা
যদি সব ক্লায়েন্ট একই DNS সার্ভার ব্যবহার করে, তবে সেটাতে DNS এন্ট্রি তৈরি করে নির্দিষ্ট ওয়েবসাইট ব্লক করা যায় (যেমন: 127.0.0.1 পয়েন্ট করিয়ে)। কমার্সিয়াল DNS কন্টেন্ট ফিল্টার (OpenDNS, SafeDNS, Cisco Umbrella) একই prinsip ব্যবহার করে।
Windows Defender Firewall-এ ওয়েবসাইটের IP ব্লক করা
Windows Defender Firewall-ও ব্যবহার করা যায়। তবে এখানে ডোমেইন নাম বা URL দিয়ে ব্লক করা যায় না, শুধু IP ঠিকানা বা সাবনেট দিতে হয়।
IP ঠিকানা বের করুন:
nslookup twitter.com
কমান্ড একাধিক IP রিটার্ন করবে। সবগুলো ব্লক করতে হবে।
ফায়ারওয়াল রুল তৈরি (GUI):
firewall.cplচালু করুন → Advanced Settings → Outbound Rules → New Rule- Rule Type: Custom
- Program: All programs
- Protocol Type: Any
- Scope: "These IP addresses" → Add → IP ঠিকানা/সাবনেট/রেঞ্জ দিন
- Action: Block the connection
- Profile: সবগুলো रहने দিন → নাম দিয়ে সেভ করুন
ব্লক হলে ব্রাউজারে "Unable to connect" বা "ERR_NETWORK_ACCESS_DENIED" দেখাবে।
PowerShell দিয়ে ফায়ারওয়াল রুল তৈরি (ডোমেইন নাম বা IP দিয়ে)
PowerShell কমান্ড:
New-NetFirewallRule -DisplayName "Block Site" -Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress 104.244.42.129, 104.244.42.0/24
"The rule was parsed successfully from the store" মানে রুল সফল হয়েছে।
Resolve-DnsName দিয়ে IP অটোমেটিক বের করে ব্লক:
$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 প্যারামিটার দিয়ে hosts ফাইল ব্যবহার না করে DNS রেজোলভ করা হয়েছে।
এই আর্টিকেল মূলত ব্রেন ট্রেনিং এক্সারসাইজ। কর্পোরেট নেটওয়ার্কে ইন্টারনেট গেটওয়ে, রাউটার বা প্রক্সি সার্ভারে ওয়েবসাইট ফিল্টারিং করা উচিত। হোস্ট-লেভেল ব্লকিং খুব কার্যকর নয়।