Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows

บล็อก IP หรือ Website ด้วย PowerShell ใน Windows 10 ผ่าน Windows Firewall

ใช้ Module NetSecurity และ Cmdlet New-NetFirewallRule ใน PowerShell (Run as Admin) สร้าง Firewall Rule บล็อก IP หรือ Domain

1. บล็อก IP Address หรือ IP Range

New-NetFirewallRule -DisplayName "Block XYZ.com IP" -Direction Outbound -LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23
  • เปลี่ยน DisplayName ให้เข้าใจง่าย
  • RemoteAddress ใส่ IP หรือ CIDR Range ที่ต้องการบล็อก
  • ใช้ LocalAddress แทนถ้าบล็อก IP ในเครือข่ายท้องถิ่น

หลังรันสำเร็จ จะแสดงข้อความ "The rule was parsed successfully from the store. (65536)" ตรวจสอบใน Windows Firewall ได้

2. บล็อก Website/Domain (ซับซ้อนกว่า)

ปัญหา: Domain หนึ่งอาจมี IP หลายตัว DNS Resolver อาจคืน IP ต่างกันทุกครั้ง บล็อก IP เดียวไม่พอ

วิธีที่ 1: Resolve IP ทั้งหมดของ Domain แล้วบล็อกรายตัว

Resolve-DnsName "facebook.com"

นำ IP ที่ได้ไปใส่ใน RemoteAddress ของคำสั่ง New-NetFirewallRule

วิธีที่ 2: หา IP Range อย่างเป็นทางการของบริการนั้น บล็อก Range นั้น (โอกาสบล็อกบริการอื่นผิดน้อยกว่า)

หมายเหตุ: บางเว็บไซต์ (เช่น YouTube) ใช้ CDN หลาย IP ไม่สามารถบล็อกได้ด้วยวิธีนี้ ควรใช้ซอฟต์แวร์บล็อกเว็บไซต์เฉพาะทางแทน

ลบ Rule ที่สร้าง

ใช้คำสั่ง Remove-NetFirewallRule หรือลบใน Windows Firewall GUI