เปิด Port บน Windows Defender Firewall
Windows Server เปิด Windows Defender Firewall ไว้ตั้งแต่ติดตั้ง และบล็อกการเชื่อมต่อขาเข้าทุกพอร์ตที่ไม่มีกฎอนุญาต เมื่อคุณติดตั้งโปรแกรมที่ต้องรับการเชื่อมต่อจากภายนอก เช่น เว็บแอปที่รันบนพอร์ต 8080, SQL Server ที่พอร์ต 1433 หรือโปรแกรมบัญชีที่ใช้พอร์ตเฉพาะ ต้องสร้างกฎ Inbound Rule เพื่อเปิดพอร์ตนั้นก่อน เครื่องภายนอกจึงจะเชื่อมต่อได้
บทความนี้แสดงสามวิธี คือผ่านหน้าจอ Windows Defender Firewall with Advanced Security, ผ่าน PowerShell และผ่านคำสั่ง netsh ทั้งหมดให้ผลแบบเดียวกัน เลือกวิธีที่ถนัดได้เลย
สิ่งที่ต้องเตรียม
- Windows Server 2019 หรือ 2022 และบัญชีในกลุ่ม Administrators
- ทราบหมายเลขพอร์ตและโปรโตคอล (TCP หรือ UDP) ที่โปรแกรมใช้ ดูได้จากเอกสารของโปรแกรมนั้น
- ถ้าเป็นไปได้ ทราบ IP ต้นทางที่จะเชื่อมต่อเข้ามา เพื่อจำกัดกฎให้แคบที่สุด
หมายเหตุ: ห้ามปิด Firewall ทั้งหมดเพื่อแก้ปัญหาเชื่อมต่อไม่ได้ ให้เปิดเฉพาะพอร์ตที่จำเป็นเท่านั้น และถ้ากำลังแก้กฎที่เกี่ยวกับ Remote Desktop ให้เปิดหน้าต่าง RDP เดิมค้างไว้และทดสอบด้วยการเชื่อมต่อใหม่อีกหน้าต่างก่อนออกจากระบบ
วิธีที่ 1: เปิดพอร์ตผ่านหน้าจอ (GUI)
- กด Win + R พิมพ์
wf.mscแล้วกด Enter จะเปิดหน้าต่าง Windows Defender Firewall with Advanced Security - ที่แผงซ้าย คลิก Inbound Rules แล้วที่แผงขวาคลิก New Rule...
- หน้า Rule Type เลือก Port แล้วกด Next
- หน้า Protocol and Ports เลือก TCP หรือ UDP แล้วเลือก Specific local ports ใส่หมายเลขพอร์ต เช่น
8080ถ้ามีหลายพอร์ตคั่นด้วยจุลภาค เช่น8080, 8443หรือใส่เป็นช่วง เช่น5000-5010 - หน้า Action เลือก Allow the connection
- หน้า Profile เลือกโปรไฟล์ที่ต้องการ (Domain, Private, Public) สำหรับเซิร์ฟเวอร์บนคลาวด์ที่ไม่ได้อยู่ใน Domain การ์ดเครือข่ายมักอยู่ในโปรไฟล์ Public ถ้าไม่เลือก Public กฎจะไม่มีผล
- หน้า Name ตั้งชื่อที่สื่อความหมาย เช่น
App TCP 8080แล้วกด Finish
กฎใหม่จะปรากฏในรายการ Inbound Rules พร้อมไอคอนเครื่องหมายถูกสีเขียว แปลว่าเปิดใช้งานแล้ว
ถ้าต้องการจำกัด IP ต้นทาง ให้ดับเบิลคลิกกฎที่สร้าง ไปที่แท็บ Scope ส่วน Remote IP address เลือก These IP addresses แล้วกด Add เพื่อใส่ IP หรือช่วง IP เช่น 203.0.113.0/24
วิธีที่ 2: เปิดพอร์ตด้วย PowerShell
เปิด Windows PowerShell แบบ Run as Administrator แล้วรัน
New-NetFirewallRule -DisplayName "App TCP 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow -Profile Any
ผลลัพธ์จะแสดงรายละเอียดของกฎ โดยมี Enabled : True, Direction : Inbound และ Action : Allow
ตัวอย่างเปิดหลายพอร์ตพร้อมจำกัด IP ต้นทาง
New-NetFirewallRule -DisplayName "SQL Server from Office" -Direction Inbound -Protocol TCP -LocalPort 1433 -RemoteAddress 203.0.113.10,198.51.100.0/24 -Action Allow
ตัวอย่างเปิดพอร์ต UDP
New-NetFirewallRule -DisplayName "App UDP 5060" -Direction Inbound -Protocol UDP -LocalPort 5060 -Action Allow
วิธีที่ 3: เปิดพอร์ตด้วย netsh
คำสั่ง netsh advfirewall ยังใช้ได้บน Windows Server ทุกรุ่นปัจจุบัน และสะดวกเมื่อต้องใส่ใน Batch Script เปิด Command Prompt แบบ Run as Administrator แล้วรัน
netsh advfirewall firewall add rule name="App TCP 8080" dir=in action=allow protocol=TCP localport=8080
ถ้าสำเร็จจะแสดงคำว่า Ok.
อนุญาตให้ Ping เซิร์ฟเวอร์ได้
Ping ใช้ ICMP ไม่ใช่พอร์ต TCP หรือ UDP Windows มีกฎสำเร็จรูปอยู่แล้วแต่ปิดไว้ เปิดได้ด้วย
Enable-NetFirewallRule -Name FPS-ICMP4-ERQ-In
ในหน้าจอ GUI กฎนี้ชื่อ File and Printer Sharing (Echo Request - ICMPv4-In) ชื่อที่แสดงอาจต่างเล็กน้อยตามภาษาและเวอร์ชันของ Windows
ตรวจสอบผลลัพธ์
- ดูว่ากฎถูกสร้างและเปิดใช้งาน
ควรเห็นGet-NetFirewallRule -DisplayName "App TCP 8080" | Get-NetFirewallPortFilterProtocol : TCPและLocalPort : 8080 - ตรวจว่ามีโปรแกรมรอรับการเชื่อมต่อที่พอร์ตนั้นจริง การเปิด Firewall ไม่ได้ทำให้พอร์ตทำงานเอง
ถ้ามีผลลัพธ์ ให้ดูคอลัมน์Get-NetTCPConnection -LocalPort 8080 -State ListenLocalAddressถ้าเป็น127.0.0.1แปลว่าโปรแกรมรับเฉพาะในเครื่อง ต้องไปตั้งค่าที่โปรแกรมให้รับที่0.0.0.0หรือ IP ของเครื่อง - จากเครื่อง Windows ภายนอก ทดสอบการเชื่อมต่อ
Test-NetConnection -ComputerName 203.0.113.25 -Port 8080TcpTestSucceeded : Trueแปลว่าเปิดสำเร็จ
แก้ไขและลบกฎ
ปิดกฎชั่วคราวโดยไม่ลบ
Disable-NetFirewallRule -DisplayName "App TCP 8080"
ลบกฎถาวร
Remove-NetFirewallRule -DisplayName "App TCP 8080"
ดูกฎขาเข้าทั้งหมดที่เปิดอยู่และอนุญาต
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow | Select-Object DisplayName, Profile
ปัญหาที่พบบ่อย
เปิดกฎแล้วแต่ยังเชื่อมต่อไม่ได้
ตรวจตามลำดับนี้: (1) มีโปรแกรม Listen ที่พอร์ตนั้นจริงหรือไม่ (2) โปรแกรมรับที่ 127.0.0.1 อย่างเดียวหรือเปล่า (3) กฎครอบคลุมโปรไฟล์เครือข่ายที่ใช้อยู่หรือไม่ ดูโปรไฟล์ปัจจุบันด้วย Get-NetConnectionProfile (4) หากเซิร์ฟเวอร์มี Security Group หรือ Firewall ภายนอกจากฝั่งผู้ให้บริการ ให้เปิดพอร์ตนั้นเพิ่มด้วย
มีกฎ Block ที่ขัดกัน
ใน Windows Firewall กฎ Block มีลำดับความสำคัญเหนือกฎ Allow ถ้ามีกฎ Block ที่ครอบคลุมพอร์ตเดียวกัน กฎ Allow จะไม่มีผล ตรวจด้วย Get-NetFirewallRule -Direction Inbound -Action Block -Enabled True
เลือกโปรโตคอลผิด
โปรแกรมบางตัวใช้ UDP เช่น VoIP, DNS หรือเกมเซิร์ฟเวอร์ ถ้าสร้างกฎเป็น TCP จะไม่มีผล ตรวจเอกสารของโปรแกรมและสร้างกฎให้ตรงโปรโตคอล หรือสร้างทั้งสองแบบถ้าโปรแกรมใช้ทั้งคู่
หากต้องการคำแนะนำเรื่องพอร์ตที่ควรเปิดสำหรับระบบของคุณ ติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี


