ต่อไปนี้เป็นเทคนิคอย่างหนึ่งที่ผมมักจะใช้ (หรือแนะนำให้ท่านอื่นใช้) เวลาต้องเชื่อมต่อ Elastix เข้ากับ Internet ซึ่งจะช่วยป้องกัน Elastix จากผู้ไม่หวังดี สามารถป้องกันได้ดีระดับหนึ่งเลยทีเดียว เทคนิคที่ว่านี้ก็คือการเปลี่ยน SIP Listening Port ครับ โดยเปลี่ยนจาก 5060 เป็นพอร์ตอื่นที่ยังไม่ใช้งาน
การเปลี่ยนพอร์ตจาก 5060 เป็นพอร์ตอื่น สามารถทำได้ 2 ที่ครับ ทำที่ ADSL Router/NAT Device/Firewall และ/หรือทำที่ตัว Elastix เลย
การเปลี่ยน SIP Listening Port แบบที่ 1
วิธีนี้ผมทำที่ตัว ADSL Router ดูตัวอย่างจากรูปนี้ครับ
ซึ่งเป็นรูปที่แสดงการติดตั้ง Elastix ไว้หลัง ADSL Router ครับ ตัวเครื่อง Elastix เป็น Private IP และในวงแลนมี SIP Devices รีจิสเตอร์กับ Elastix ที่พอร์ต 5060 ตามปกติ สามารถโทรหากันได้ตามปกติ ต่อมาก็ได้ให้ SIP Devices สามารถรีจิสเตอร์ผ่าน Internet เข้ามาที่ Elastix ได้ด้วย แต่ก็ต้องเซ็ตที่ ADSL Router เพื่อบอกมันว่าถ้ามีการขอเชื่อมต่อมาที่พอร์ต UDP XXXX ให้ฟอร์เวอร์ดมาที่ไอพีของ Elastix และพอร์ต 5060
** ไม่ใช่ว่า ADSL Router ทุกยี่ห้อจะทำ Port Forward แบบที่รับเข้ามาเป็น Port A แล้วเปลี่ยนเป็น Port B ได้นะครับ (อย่างเร้าท์เตอร์ Billion นี่ผมไม่เห็นว่ามันจะทำได้เลย รับเข้ามาพอร์ตไหนก็ต้องแปลงเป็นพอร์ตเดิม) ให้เช็คบน Router ที่ท่านใช้งานอยู่นะครับ เปลี่ยนใหม่ถ้าจำเป็น **
พอร์ต XXXX ที่ว่านี้ถ้าเป็น 5060 หล่ะก็ ไม่ดี แน่แท้ครับ เพราะใครๆก็รู้ว่า SIP Server มีพอร์ตดีฟอลท์คือ 5060 เวลาเขาจะยิง SIP Server เขาก็จะปั่นสคิปต์ให้ยิงมาที่พอร์ตนี้ เราต้องเปลี่ยนเป็นพอร์ตอื่นครับ เลือกมาสัก 1 พอร์ต เอาว่าเป็น 5050 ก็แล้วกัน
จากนั้นก็ไปเซ็ต Port Forward บน ADSL Router ให้ฟอร์เวอร์ด 5050 มาเป็น 5060 บนไอพีของ Elastix เท่านี้ก็จะโอเคครับ ปลอดภัยระดับหนึ่ง หากมีใครยิงหรือคอนเน็คมาที่ 5060 ก็จะไม่เจออะไรเพราะ ADSL Router ไม่รู้ว่ามันต้องทำอะไร มันก็จะดร๊อปทิ้งไป
ทีนี้เวลาเราคอนฟิก SIP devices ที่ให้คอนเน็คจาก Internet ได้ ก็ระบุพอร์ต SIP Server เป็น 5050 แทนนะครับ ส่วน IP ของ SIP Server ก็ให้ระบุเป็น IP จริงๆนะครับ ตามตัวอย่างในรูปนี้
การเปลี่ยน SIP Listening Port แบบที่ 2
การเปลี่ยน SIP Listening Port อีกแบบหนึ่งซึ่งมักใช้กับตอนที่เราเชื่อมต่อ Elastix กับ Internetโดยตรง หมายความว่า LAN IP ของ Elastix เป็น Public IP เลย ตามรูปนี้ครับ
นึกภาพนะครับว่าถ้า SIP Listening Port ของ Asterisk บน Elastix ยังคงเป็น 5060 และใครๆก็รู้ว่า SIP Server มี Listening Port 5060 ไม่ช้าไม่นานเมื่อท่านเข้าไปดู Log ของ Asterisk ก็จะเห็นว่ามีใครก็ไม่รู้ส่ง SIP messages เข้ามาเยอะแยะเลย ส่วนใหญ่ก็เป็นการเดา SIP accounts ทั้งนั้น
ส่วนวิธีการเปลี่ยน SIP Listening Port ของ Asterisk บน Elastix ให้ดูจากบทความนี้ครับ เทคนิคการเปลี่ยน SIP Listening Port ใน Elastix
เมื่อเราเปลี่ยน SIP Listening Port เป็นเลขอื่นแล้ว สมมติว่าเป็นพอร์ต 5252 จากนั้นการคอนเน็ค SIP Clients จาก Internet ก็ให้ทำเหมือนวิธีที่ 1 ครับ คือระบุหมายเลขพอร์ต 5252 ตามหลัง Public IP ของ Elastix ครับ
หวังว่าเทคนิคเล็กๆน้อยๆนี้จะเป็นประโยชน์ต่อทุกท่านนะครับ
บทความที่เกี่ยวข้อง
เทคนิคการแก้ไขปัญหา Elastix ใช้งานไม่ได้หาก Internet ดาวน์