มาดูเน็ตเวอร์คไดอะแกรมกันครับว่า วาง Asterisk ไว้หลัง NAT Device นั้นเขาวางไว้ตรงไหนกัน
จากรูปนะครับ มีติดตั้ง Asterisk ไว้ในวงแลนของออฟฟิศ (จุดประสงค์เพื่อต้องการประหยัดเงินไม่ต้องเสียค่าเช่าโคโล หรือส่วนใหญ่ใช้งานโทรกันภายในออฟฟิศ) อุปกรณ์ VoIP ที่นำมาใช้รีจิสเตอร์ก็ติดตั้งไว้ในออฟฟิศ ในออฟฟิศใช้ไอพีปลอมหรือที่เรียกว่าไพรเวทไอพี (Private IP) วง 192.168.1.x โดยที่ไปไอพีขาแลนของเร้าท์เตอร์คือ 192.168.1.1 ทำหน้าที่เป็นเกตเวย์ให้วงแลนด้วย ส่วน Asterisk มีไอพีเป็น 192.168.1.254
ออฟฟิศมีต่ออินเตอร์เน็ตด้วยโดยต่อแบบ ADSL ธรรมดาๆ แต่เนื่องจากเป็นออฟฟิศไม่ใหญ่มากจึงไม่มีงบประมาณพอที่จะเช่าวงจรอินเตอร์เน็ตแบบลีสไลน์ (Leased Line) หรือเอ็มพีแอลเอส (MPLS) ดังนั้นเมื่อเชื่อมต่ออินเตอร์เน็ต ขา WAN ของเร้าท์เตอร์จึงได้ไอพีจริง (Public IP) แบบสุ่ม (Dynamic) หมายความว่าทุกครั้งที่ลิ้งค์ดาวน์หรือปิดเปิดเร้าท์เตอร์ใหม่ ไอพีขาแวนจะเปลี่ยนไป
เมื่ออุปกรณ์ภายในวงแลนต้องการออกสู่อินเตอร์เน็ต ข้อมูลที่ส่งออกมาจะไหลไปที่ ADSL Router (ผมขอเรียกว่า เร้าท์เตอร์ นะครับ) ต่อจากนั้นเร้าท์เตอร์จะทำการแปลงหมายเลขไอพีแอดเดรสของเครื่องที่ส่งมา ซึ่งอยู่ในส่วนที่เรียกว่า เฮดเดอร์ ของข้อมูล ให้กลายเป็นไอพีของพอร์ตแวนก่อนและแปลงหมายเลขพอร์ตซึ่งก็มีระบุไว้ในเฮดเดอร์อีกเช่นเดียวกัน โดยเร้าท์เตอร์จะสุ่มหมายเลขพอร์ตขึ้นมาใช้เองซึ่งจะไม่ซ้ำ จากนั้นจึงส่งออกไปที่อินเตอร์เน็ต และผู้ให้บริการอินเตอร์เน็ตจะส่งต่อเพื่อไปให้ถึงจุดหมายปลายทาง
กระบวนการแปลงหมายเลขไอพีแอดเดรสต้นทางและหมายเลขพอร์ตของเร้าท์เตอร์นี้ เราเรียกว่า "NAT" ย่อมาจาก Network Address Translation" และเราเรียกอุปกรณ์ที่ทำหน้าที่นี้ว่า "NAT Device" ตัวอย่างของ NAT Device ที่เห็นได้ง่ายที่สุดและเจอแทบทุกวันก็คือ ADSL Router นั่นเอง
เมื่อปลายทางส่งข้อมูลกลับคืนมา เร้าท์เตอร์ก็จะแปลงหมายเลขไอพีแอดเดรสและหมายเลขพอร์ตให้ โดยเร้าท์เตอร์มีข้อมูลอยู่แล้วว่าต้องแปลงเป็นอะไร เพราะมันจำไว้ตั้งแต่ตอนที่เปลี่ยนก่อนส่งออกไปแล้ว ข้อมูลก็จะส่งกลับมายังเครื่องต้นทางได้อย่างถูกต้อง
การทำงานผ่านอุปกรณ์ NAT จะไม่มีปัญหาถ้าเครื่องต้นทางที่เริ่มต้นส่งข้อมูลเป็นเครื่องที่อยู่ใน "วงแลน" เพราะว่าเร้าท์เตอร์มันรู้ว่า "ส่งมาจากไหน" และจะ "ส่งไปไหน" มันจึงแปลงไอพีแอดเดรสและพอร์ตกลับไปกลับมาได้อย่างถูกต้อง
แต่ถ้าเครื่องที่เริ่มต้นส่งข้อมูลเป็นเครื่องในอินเตอร์เน็ตส่งข้อมูลมายังวงแลน เร้าท์เตอร์จะบล๊อกข้อมูลไว้ เพราะมันไม่รู้ว่ามันต้องส่งต่อไปให้เครื่องไหนในวงแลน ยกเว้นได้มีการเซ็ต Port Forwarding ไว้บนตัวเร้าท์เตอร์ ซึ่งเร้าท์เตอร์จะแปลงและส่งข้อมูลไปยังไอพีแอดเดรสของเครื่องที่ระบุไว้ในคำสั่ง Port Forward
หมายเหตุ
1. การเชื่อมต่ออินเตอร์เน็ตแบบ Leased Line หรือ MPLS ปกติจะได้ไอพีจริงมากลุ่มหนึ่ง อาจจะได้ 8 (ใช้ได้จริงแค่ 6), 16 (ใช้ได้จริงแค่ 14), 32 (ใช้ได้จริงแค่ 30) เป็นต้น เราสามารถเอาไอพีเหล่านี้มาใช้กับเครื่องในวงแลนที่สำคัญๆ หรือทุกเครื่องก็ได้ถ้ามีไอพีมากพอ แต่อัตราค่าบริการจะแพงมากเมื่อเทียบกับอินเตอร์เน็ตแบบธรรมดาๆที่ไม่ฟิกซ์ไอพี
เครื่องที่เซ็ตไอพีจริงให้เวลาออกเน็ตจะไม่ได้ผ่านการแปลงไอพีแอดเดรสและพอร์ต เครื่องเหล่านี้สามารถเชื่อมต่ออินเตอร์เน็ตได้โดยตรงและเครื่องที่อยู่ในอินเตอร์เน็ตก็สามารถเชื่อมต่อมาที่เครื่องนี้ได้โดยตรง เช่นเดียวกัน
2. การเชื่อมต่ออินเตอร์เน็ตแบบที่ฟิกซ์ไอพีแต่มีแค่ไอพีเดียว ทุกเครื่องที่อยู่ในแลนจะต้องถูก NAT
บทความที่เกี่ยวข้อง
เทคนิคการตรวจสอบและแก้ไขปัญหาไม่สามารถโทรหากันได้บน Elastix เมื่อ Net ดาวน์