บทความนี้อธิบายวิธีตั้งค่า Bidirectional NAT บน Sangfor NGAF/NSF ซึ่งรวม Source NAT และ Destination NAT ไว้ใน Rule เดียว เหมาะสำหรับ Hairpin NAT หรือให้ LAN Client เข้า Internal Server ผ่าน Public IP
Bidirectional NAT คืออะไร
Bidirectional NAT จะแปลงทั้ง Source IP และ Destination IP ของ Packet ใน Rule เดียวกัน ใช้แก้ปัญหา Hairpin NAT (NAT Loopback) — กรณีที่ LAN Client ต้องการเข้า Internal Server โดยใช้ Public IP/Domain ผ่าน Firewall
ปัญหาที่ Bidirectional NAT แก้ได้
สมมุติ Server อยู่ใน LAN (10.0.0.100) และมี DNAT Rule ให้ Public IP (203.0.113.5) ชี้เข้ามา:
- WAN Client เข้า 203.0.113.5 → DNAT เป็น 10.0.0.100 → ทำงานปกติ
- LAN Client เข้า 203.0.113.5 → DNAT เป็น 10.0.0.100 → Server ตอบกลับ LAN Client โดยตรง (ไม่ผ่าน Firewall) → Connection ล้มเหลว
Bidirectional NAT แก้ปัญหานี้โดยแปลง Source IP ของ LAN Client เป็น Firewall IP ทำให้ Server ตอบกลับผ่าน Firewall เสมอ
ขั้นตอนการตั้งค่า
1. สร้าง Bidirectional NAT Rule
ไปที่ Policies > NAT > Bidirectional NAT กด Add
2. กำหนดเงื่อนไข Match
- Source Zone: เลือกทั้ง LAN และ WAN (เพื่อให้ทำงานจากทั้งสองฝั่ง)
- Destination Address: Public IP ของ Server (เช่น 203.0.113.5)
- Service: Port ที่ต้องการ (เช่น HTTP/80, HTTPS/443)
3. กำหนด Destination Translation
- Translated Destination: Internal IP ของ Server (เช่น 10.0.0.100)
- Translated Port: Port ของ Server (ถ้าต่างจาก Original)
4. กำหนด Source Translation
- Translated Source: LAN IP ของ Firewall (เช่น 10.0.0.1) — ทำให้ Server เห็น Source เป็น Firewall IP
5. กด OK เพื่อบันทึก
หมายเหตุ
- Bidirectional NAT มีประโยชน์มากเมื่อ LAN Client ต้องเข้า Server ผ่าน Public Domain/IP
- Source Zone ต้องรวม ทั้ง WAN และ LAN เพื่อให้ Rule ทำงานจากทั้งสองทิศทาง
- ข้อเสียคือ Server จะเห็น Source IP เป็น Firewall IP แทน Client IP จริง — อาจกระทบ Access Log ของ Server
- ทางเลือกอื่นคือใช้ DNS Mapping ให้ LAN Client Resolve Domain ไปยัง Internal IP โดยตรง แทนการใช้ Bidirectional NAT
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น