9.9 KiB
การตั้งค่า Network Segmentation และ Firewall Rules
สำหรับอุปกรณ์ Omada (ER7206 + OC200) กลยุทธ์หลักคือการใช้ VLANs (Virtual LANs) เพื่อแบ่งกลุ่มอุปกรณ์ และใช้ Firewall ACLs (Access Control Lists) เพื่อควบคุมการจราจรระหว่างกลุ่มเหล่านั้น
นี่คือคำแนะนำตามแนวทาง "Zero Trust" ที่ปรับให้เข้ากับสถาปัตยกรรมของคุณครับ
1. 🌐 การแบ่งส่วนเครือข่าย (VLAN Segmentation)
ใน Omada Controller (OC200) ให้คุณไปที่ Settings > Wired Networks > LAN และสร้างเครือข่ายย่อย (VLANs) ดังนี้:
-
VLAN 10: SERVER
- IP Range: 192.168.10.x
- วัตถุประสงค์: ใช้สำหรับอุปกรณ์ Server (QNAP และ ASUSTOR)
-
VLAN 20 MGMT(Default): Management
- IP Range: 192.168.20.x
- วัตถุประสงค์: ใช้สำหรับอุปกรณ์ Network (ER7206, OC200, Switches) และ PC ของผู้ดูแลระบบ (Admin) เท่านั้น
-
VLAN 30: USER
- IP Range: 192.168.30.x
- วัตถุประสงค์: สำหรับ PC, Notebook, และ Wi-Fi ของพนักงานทั่วไปที่ต้องเข้าใช้งานระบบ (เช่น
lcbp3.np-dms.work)
-
VLAN 40: CCTV
- IP Range: 192.168.40.x
- วัตถุประสงค์: ใช้สำหรับอุปกรณ์ CCTV เท่านั้น
-
VLAN 50 VOICEt
- IP Range: 192.168.50.x
- วัตถุประสงค์: ใช้สำหรับอุปกรณ์ IP Phone เท่านั้น
-
VLAN 60 DMZ
- IP Range: 192.168.60.x
- วัตถุประสงค์: ใช้สำหรับ Network DMZ เท่านั้น
-
VLAN 70: GUEST / Untrusted (สำหรับ Wi-Fi แขก)
- IP Range: 192.168.70.x
- วัตถุประสงค์: สำหรับ Wi-Fi แขก (Guest) ห้ามเข้าถึงเครือข่ายภายในโดยเด็ดขาด
การตั้งค่า Port Switch:
หลังจากสร้าง VLANs แล้ว ให้ไปที่ Devices > เลือก Switch ของคุณ > Ports > กำหนด Port Profile:
- Port ที่เสียบ QNAP NAS: ตั้งค่า Profile เป็น VLAN 10
- Port ที่เสียบ PC พนักงาน: ตั้งค่า Profile เป็น VLAN 20
2. 🔥 Firewall Rules (ACLs)
นี่คือหัวใจสำคัญครับ ไปที่ Settings > Network Security > ACL (Access Control)
กฎของ Firewall จะทำงานจากบนลงล่าง (ข้อ 1 ทำก่อนข้อ 2)
2.1 IP Groups & Port Groups
IP Groups (สร้างใน Settings > Network Security > Groups):
| Group Name | Members |
|---|---|
Server |
192.168.10.8, 192.168.10.9, 192.168.10.111 |
Omada-Controller |
192.168.20.250 (OC200 IP) |
DHCP-Gateways |
192.168.30.1, 192.168.70.1 |
QNAP_Services |
192.168.10.8 |
Internal |
192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24 |
Blacklist |
(Add malicious IPs as needed) |
Port Groups:
| Group Name | Ports |
|---|---|
Web |
TCP 443, 8443, 80, 81, 2222 |
Omada-Auth |
TCP 443, 8043, 8088, 8843, 29810-29814 |
VoIP |
UDP 5060, 5061, 10000-20000 (SIP + RTP) |
DHCP |
UDP 67, 68 |
2.2 Switch ACL (สำหรับ Omada OC200)
| ลำดับ | Name | Policy | Source | Destination | Ports |
|---|---|---|---|---|---|
| 1 | 01 Allow-User-DHCP | Allow | Network → VLAN 30 | IP → 192.168.30.1 | Port Group → DHCP |
| 2 | 02 Allow-Guest-DHCP | Allow | Network → VLAN 70 | IP → 192.168.70.1 | Port Group → DHCP |
| 3 | 03 Allow-WiFi-Auth | Allow | Network → VLAN 30 | IP Group → Omada-Controller | Port Group → Omada-Auth |
| 4 | 04 Allow-Guest-WiFi-Auth | Allow | Network → VLAN 70 | IP Group → Omada-Controller | Port Group → Omada-Auth |
| 5 | 05 Isolate-Guests | Deny | Network → VLAN 70 | Network → VLAN 10, 20, 30, 60 | All |
| 6 | 06 Isolate-Servers | Deny | Network → VLAN 10 | Network → VLAN 30 (USER) | All |
| 7 | 07 Block-User-to-Mgmt | Deny | Network → VLAN 30 | Network → VLAN 20 (MGMT) | All |
| 8 | 08 Allow-User-to-Services | Allow | Network → VLAN 30 | IP → QNAP (192.168.10.8) | Port Group → Web (443,8443, 80, 81, 2222) |
| 9 | 09 Allow-Voice-to-User | Allow | Network → VLAN 50 | Network → VLAN 30,50 | All |
| 10 | 10 Allow-MGMT-to-All | Allow | Network → VLAN 20 | Any | All |
| 11 | 11 Allow-Server-Internal | Allow | IP Group : Server | IP Group : Server | All |
| 12 | 12 Allow-Server → CCTV | Allow | IP Group : Server | Network → VLAN 40 (CCTV) | All |
| 13 | 100 (Default) | Deny | Any | Any | All |
⚠️ หมายเหตุสำคัญ - ลำดับ ACL:
- Allow rules ก่อน - DHCP (#1-2) และ WiFi-Auth (#3-4) ต้องอยู่ บนสุด
- Isolate/Deny rules ถัดมา - (#5-7) block traffic ที่ไม่ต้องการ
- Allow specific rules - (#8-12) อนุญาต traffic ที่เหลือ
- Default Deny ล่าสุด - (#13) block ทุกอย่างที่ไม่ match
2.3 Gateway ACL (สำหรับ Omada ER7206)
| ลำดับ | Name | Policy | Direction | PROTOCOLS | Source | Destination |
|---|---|---|---|---|---|---|
| 1 | 01 Blacklist | Deny | [WAN2] IN | All | IP Group:Blacklist | IP Group:Internal |
| 2 | 02 Geo | Permit | [WAN2] IN | All | Location Group:Allow | IP Group:Internal |
| 3 | 03 Allow-Voice-Internet | Permit | LAN->WAN | UDP | Network → VLAN 50 | Any |
| 4 | 04 Internal → Internet | Permit | LAN->WAN | All | IP Group:Internal | Domain Group:DomainGroup_Any |
💡 หมายเหตุ: Rule #3
Allow-Voice-Internetอนุญาต IP Phone (VLAN 50) เชื่อมต่อ Cloud PBX ภายนอก ผ่าน Port Group → VoIP (UDP 5060, 5061, 10000-20000)
3. 🚪 Port Forwarding (การเปิด Service สู่สาธารณะ)
ส่วนนี้ไม่ใช่ Firewall ACL แต่จำเป็นเพื่อให้คนนอกเข้าใช้งานได้ครับ
ไปที่ Settings > Transmission > Port Forwarding
สร้างกฎเพื่อส่งต่อการจราจรจาก WAN (อินเทอร์เน็ต) ไปยัง Nginx Proxy Manager (NPM) ที่อยู่บน QNAP (VLAN 10)
-
Name: Allow-NPM-HTTPS
-
External Port: 443
-
Internal Port: 443
-
Internal IP:
192.168.10.8(IP ของ QNAP) -
Protocol: TCP
-
Name: Allow-NPM-HTTP (สำหรับ Let's Encrypt)
-
External Port: 80
-
Internal Port: 80
-
Internal IP:
192.168.10.8(IP ของ QNAP) -
Protocol: TCP
สรุปผังการเชื่อมต่อ
- ผู้ใช้ภายนอก ->
https://lcbp3.np-dms.work - ER7206 รับที่ Port 443
- Port Forwarding ส่งต่อไปยัง
192.168.10.8:443(QNAP NPM) - NPM (บน QNAP) ส่งต่อไปยัง
backend:3000หรือfrontend:3000ภายใน Docker - ผู้ใช้ภายใน (Office) ->
https://lcbp3.np-dms.work - Firewall ACL (กฎข้อ 4) อนุญาตให้ VLAN 30 คุยกับ
192.168.10.8:443 - (ขั้นตอนที่ 3-4 ทำงานเหมือนเดิม)
การตั้งค่าตามนี้จะช่วยแยกส่วน Server ของคุณออกจากเครือข่ายพนักงานอย่างชัดเจน ซึ่งปลอดภัยกว่าการวางทุกอย่างไว้ในวง LAN เดียวกันมากครับ