- ในการเปิดพอร์ตไฟร์วอลล์ของ Windows ให้เปิดคอนโซล“Windows Defender Firewall with Advanced Security”
- จากนั้นคลิกที่“กฎขาเข้า”หรือ“กฎขาออก”คลิกที่“สร้างกฎใหม่”และเลือกตัวเลือก“พอร์ต”
- ดำเนินการเลือกโปรโตคอลและหมายเลขพอร์ตที่จะเปิดบน Windows 11 ต่อไป อนุญาตการเชื่อมต่อ เลือกโปรไฟล์เครือข่ายที่จะใช้กฎ และบันทึกการเปลี่ยนแปลง
- นอกจากนี้ คุณยังสามารถเปิดพอร์ตหนึ่งพอร์ตหรือหลายพอร์ตได้โดยใช้คำสั่งใน PowerShell และ Command Prompt
ในระบบปฏิบัติการ Windows 11ไฟร์วอลล์Microsoft Defenderเป็นคุณสมบัติความปลอดภัยในตัวที่ช่วยปกป้องอุปกรณ์ของคุณโดยการควบคุมการรับส่งข้อมูลเครือข่าย บล็อกการเข้าถึงที่ไม่ได้รับอนุญาตจากภายนอก และป้องกันแอปที่น่าสงสัยไม่ให้เชื่อมต่อกับอินเทอร์เน็ต
ไฟร์วอลล์ทำหน้าที่เสมือนผู้เฝ้าประตู คอยตรวจสอบคำขอเครือข่ายขาเข้าและขาออกทั้งหมด เมื่อแอปหรือบริการพยายามเข้าถึงเครือข่าย Microsoft Defender Firewall (หรือที่เรียกว่า “Windows Firewall”) จะตรวจสอบฐานข้อมูลกฎเพื่อพิจารณาว่าจะอนุญาตหรือบล็อกการเชื่อมต่อ หากไม่มีกฎอยู่ Windows 11 จะแจ้งให้คุณอนุญาตหรือปฏิเสธการเข้าถึงด้วยตนเอง
ในบางกรณี แอปพลิเคชันที่เชื่อถือได้ (เช่น SQL Server) อาจทำงานไม่ถูกต้องเนื่องจากไฟร์วอลล์ปิดกั้นการเข้าถึง เมื่อเกิดเหตุการณ์เช่นนั้น คุณต้องสร้างกฎขาเข้าหรือขาออกที่กำหนดเองเพื่ออนุญาตการเข้าถึงเครือข่ายและกู้คืนการทำงาน
ในคู่มือ นี้ ผมจะสอนขั้นตอนการเปิดพอร์ตเพื่อให้แอปพลิเคชันสามารถสื่อสารกับภายนอกเครือข่ายได้โดยใช้ไฟร์วอลล์ของ Windows 11
สำคัญ:ก่อนสร้างกฎไฟร์วอลล์ โปรดตรวจสอบหน้าสนับสนุนอย่างเป็นทางการของแอปเพื่อระบุหมายเลขพอร์ตและประเภทโปรโตคอล (TCP หรือ UDP) ที่จำเป็น คุณยังสามารถตรวจสอบได้อย่างรวดเร็วว่าพอร์ตที่ถูกบล็อกเป็นปัญหาหรือไม่โดยการปิดใช้งานไฟร์วอลล์ชั่วคราวหากแอปทำงานได้ในขณะที่ไฟร์วอลล์ปิดอยู่ แสดงว่าคุณต้องสร้างกฎแบบกำหนดเองเพื่ออนุญาตการเชื่อมต่อ จากนั้นเปิดใช้งานไฟร์วอลล์อีกครั้งทันที
เปิดพอร์ตไฟร์วอลล์บน Windows 11
เมื่อใช้ไฟร์วอลล์เริ่มต้น คุณสามารถสร้างกฎขาเข้าหรือขาออกได้ ขึ้นอยู่กับข้อกำหนดของแอปพลิเคชัน โดยใช้คอนโซลความปลอดภัยขั้นสูง, พรอมต์คำสั่ง หรือพาวเวอร์เชลล์
สร้างกฎไฟร์วอลล์จากส่วนความปลอดภัยขั้นสูง
หากต้องการเปิดพอร์ตอย่างน้อยหนึ่งพอร์ตในไฟร์วอลล์ของ Windows ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิด การ ตั้งค่าความปลอดภัยของ Windows
-
คลิกที่ไฟร์วอลล์และการป้องกันเครือข่าย
-
คลิกตัวเลือกการตั้งค่าขั้นสูง

-
(ตัวเลือกที่ 1) เลือก"กฎขาเข้า"จากแผงนำทางด้านซ้ายเพื่อสร้างกฎอนุญาตการรับส่งข้อมูลขาเข้าเข้าสู่อุปกรณ์
-
(ตัวเลือกที่ 2) เลือก"กฎขาออก"จากแผงนำทางด้านซ้ายเพื่อสร้างกฎอนุญาตให้การรับส่งข้อมูลจากแอปออกจากอุปกรณ์ได้
-
คลิก ตัวเลือก "สร้างกฎใหม่"ในบานหน้าต่างด้านขวา ภายใต้หัวข้อ "การดำเนินการ"

-
เลือกตัวเลือกพอร์ต

-
คลิกปุ่มถัดไป
-
เลือกโปรโตคอลที่เหมาะสม ( TCPหรือUDP) ขึ้นอยู่กับแอปพลิเคชัน
-
ระบุหมายเลขพอร์ตในช่อง “พอร์ตภายในเครื่องเฉพาะ”

หมายเหตุ:หากแอปต้องการเปิดพอร์ตหลายพอร์ต คุณสามารถพิมพ์ได้มากเท่าที่ต้องการ ตราบใดที่คั่นแต่ละพอร์ตด้วยเครื่องหมายจุลภาค (4500,4600,5000) หากต้องการระบุช่วงพอร์ต คุณสามารถใช้เครื่องหมายยัติภังค์ (-) ได้ เช่น 3000-3100
-
คลิกปุ่มถัดไป
-
เลือก ตัวเลือก “อนุญาตการเชื่อมต่อ” (โปรดทราบว่าคุณสามารถบล็อกการเชื่อมต่อได้โดยใช้ขั้นตอนเดียวกัน)

-
คลิกปุ่มถัดไป
-
เลือกประเภทเครือข่ายที่จะใช้กฎ (โดยปกติ คุณควรปล่อยตัวเลือกนี้ไว้ตามค่าเริ่มต้น)

-
คลิกปุ่มถัดไป
-
ตั้งชื่อกฎให้สื่อความหมาย ตัวอย่างเช่น“กฎขาเข้าของฉันสำหรับ APP-NAME”

-
คลิกปุ่มเสร็จสิ้น
หลังจากทำตามขั้นตอนเสร็จสิ้น การเชื่อมต่อขาเข้าจะได้รับอนุญาตสำหรับแอปผ่านพอร์ตที่คุณเปิดไว้ในไฟร์วอลล์
สร้างกฎไฟร์วอลล์โดยใช้ Command Prompt
หากต้องการเปิดพอร์ตไฟร์วอลล์ผ่าน Command Prompt ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิดStart
-
ค้นหาCommand Prompt (หรือTerminal ) คลิกขวาที่ผลลัพธ์อันดับแรก แล้วเลือกตัวเลือกRun as administrator
-
พิมพ์คำสั่งนี้เพื่อสร้างกฎไฟร์วอลล์ขาเข้าด้วย Command Prompt แล้วกดEnter :
netsh advfirewall firewall add rule name="YOUR-APP-PORT" dir=in action=allow protocol=TCP localport=12345

ในคำสั่ง ให้อัปเดตnameการตั้งค่าสำหรับชื่อของกฎที่คุณต้องการใช้ ในprotocolให้ใช้TCPหรือUDPและระบุหมายเลขพอร์ตในlocalportการตั้งค่า
คำแนะนำสั้นๆ: netshไม่รองรับการคั่นรายการพอร์ตด้วยเครื่องหมายจุลภาค เช่นlocalport=80,443,8080`<ports_name>` คุณต้องรันคำสั่งหนึ่งคำสั่งต่อหนึ่งพอร์ตแทน
-
พิมพ์คำสั่งนี้เพื่อเปิดพอร์ตหลายพอร์ตใน Command Prompt แล้วกดEnter :
netsh advfirewall firewall add rule name="YOUR-PORT-RANGE-NAME" dir=in action=allow protocol=TCP localport=2000-2200
ในคำสั่ง ให้อัปเดตnameการตั้งค่าสำหรับชื่อของกฎที่คุณต้องการใช้ ในprotocolให้ใช้TCPหรือUDPและระบุหมายเลขพอร์ตในlocalportการตั้งค่า
เมื่อคุณทำตามขั้นตอนเสร็จแล้ว พอร์ตเครือข่ายที่ระบุโดยใช้ Command Prompt จะเปิดใช้งานบน Windows 11
หากคุณจำเป็นต้องสร้างกฎการเข้าหรือออกที่มีพอร์ตหลายพอร์ต (นอกช่วง) คุณสามารถใช้คำสั่งวนซ้ำแบบกลุ่มได้ ตัวอย่างเช่นfor %%P in (80 443 8080) do netsh advfirewall firewall add rule name="Allow TCP %%P" dir=in action=allow protocol=TCP localport=%%P
ในคำสั่ง คุณต้องอัปเดตพอร์ต ทิศทาง ( inหรือout) และโปรโตคอล ( TCPหรือUDP)
สร้างกฎไฟร์วอลล์โดยใช้ PowerShell
หากต้องการเปิดพอร์ตไฟร์วอลล์โดยใช้คำสั่ง PowerShell ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิดStart
-
ค้นหาPowerShell (หรือTerminal ) คลิกขวาที่ผลการค้นหาอันดับแรก แล้วเลือกตัวเลือก " เรียกใช้ในฐานะผู้ดูแลระบบ "
-
พิมพ์คำสั่งนี้เพื่อสร้างกฎไฟร์วอลล์ขาเข้าด้วย PowerShell แล้วกดEnter :
New-NetFirewallRule -DisplayName "YOUR-APP-PORT" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 12345

ในคำสั่งนี้ คุณต้องอัปเดตชื่อ ทิศทาง ( InboundหรือOutbound) โปรโตคอล ( TCPหรือUDP) และการตั้งค่าพอร์ตภายในเครื่องในลักษณะเดียวกับที่จำเป็นเมื่อใช้ Command Prompt
-
พิมพ์คำสั่งนี้เพื่อเปิดพอร์ตหลายพอร์ตด้วย PowerShell แล้วกดEnter :
New-NetFirewallRule -DisplayName "YOUR-PORT-RANGE-NAME" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 4000-4010
ในคำสั่ง ให้อัปเดตชื่อ ทิศทาง ( InboundหรือOutbound) โปรโตคอล ( TCPหรือUDP) และระบุช่วงพอร์ต
หลังจากทำตามขั้นตอนเสร็จสิ้น คำสั่ง PowerShell จะสร้างกฎขาเข้าหรือขาออกในไฟร์วอลล์ Microsoft Defender
หากคุณจำเป็นต้องสร้างกฎการเข้าหรือออกที่มีหลายพอร์ต (นอกช่วง) คุณสามารถใช้foreachคำสั่งวนซ้ำได้ ตัวอย่างเช่น:
$ports = @(80, 443, 8080) foreach ($port in $ports) { New-NetFirewallRule -DisplayName "Allow TCP $port" -Direction Inbound -Action Allow -Protocol TCP -LocalPort $port }
ในคำสั่ง คุณต้องอัปเดตพอร์ต ทิศทาง ( inหรือout) และโปรโตคอล ( TCPหรือUDP)
ปิดพอร์ตไฟร์วอลล์บน Windows 11
นอกจากนี้ คุณยังสามารถปิดพอร์ตได้โดยการลบกฎเฉพาะโดยใช้คอนโซลความปลอดภัยขั้นสูง, พรอมต์คำสั่ง หรือพาวเวอร์เชลล์
ปิดกฎไฟร์วอลล์จากส่วนความปลอดภัยขั้นสูง
หากต้องการลบพอร์ตในไฟร์วอลล์ Microsoft Defender ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิด การ ตั้งค่าความปลอดภัยของ Windows
-
คลิกที่ไฟร์วอลล์และการป้องกันเครือข่าย
-
คลิกตัวเลือกการตั้งค่าขั้นสูง

-
คลิกที่Inbound RulesหรือOutbound Rulesจากแผงนำทางด้านซ้าย ขึ้นอยู่กับว่าคุณเปิดพอร์ตไฟร์วอลล์ไว้ที่ใด
-
เลือกกฎที่คุณต้องการ
-
คลิกที่ " ปิดใช้งานกฎ"เพื่อปิดพอร์ต แต่ยังคงกฎนั้นไว้ในส่วน "การดำเนินการ" หรือคลิกที่ ตัวเลือก "ลบกฎ"เพื่อปิดพอร์ตและลบกฎออกจากไฟร์วอลล์

หลังจากทำตามขั้นตอนเสร็จแล้ว แอปหรือบริการนั้นจะไม่สามารถเข้าถึงเครือข่ายหรืออินเทอร์เน็ตได้อีกต่อไป เนื่องจากไฟร์วอลล์ของ Windows จะบล็อกการเข้าถึงนั้น
ปิดกฎไฟร์วอลล์โดยใช้ Command Prompt
หากต้องการเปิดพอร์ตไฟร์วอลล์ผ่าน Command Prompt ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิดStart
-
ค้นหา Command Prompt (หรือ Terminal) คลิกขวาที่ผลการค้นหาอันดับแรก แล้วเลือกตัวเลือกRun as administrator
-
พิมพ์คำสั่งนี้เพื่อลบกฎไฟร์วอลล์ด้วย Command Prompt แล้วกดEnter :
netsh advfirewall firewall delete rule name="YOUR-DELETE-RULE"

ในคำสั่ง ให้แก้ไขnameการตั้งค่าโดยใส่ชื่อของกฎที่รวมถึงพอร์ตที่จะปิดเข้าไปด้วย
เมื่อคุณทำตามขั้นตอนเสร็จสิ้น คำสั่งใน Command Prompt จะลบกฎและปิดพอร์ตที่ระบุไว้
ปิดกฎไฟร์วอลล์โดยใช้ PowerShell
หากต้องการเปิดพอร์ตไฟร์วอลล์โดยใช้คำสั่ง PowerShell ให้ทำตามขั้นตอนต่อไปนี้:
-
เปิดStart
-
ค้นหาPowerShell (หรือTerminal ) คลิกขวาที่ผลการค้นหาอันดับแรก แล้วเลือกตัวเลือก " เรียกใช้ในฐานะผู้ดูแลระบบ "
-
พิมพ์คำสั่งนี้เพื่อลบกฎไฟร์วอลล์ด้วย PowerShell แล้วกดEnter :
Remove-NetFirewallRule -DisplayName "YOUR-DELETE-RULE"

ในคำสั่ง ให้แก้ไขDisplayNameการตั้งค่าโดยใส่ชื่อของกฎที่มีพอร์ตที่จะปิดเข้าไปด้วย
หลังจากทำตามขั้นตอนเสร็จแล้ว คำสั่ง PowerShell จะลบกฎที่มีพอร์ตที่คุณต้องการปิดออก