- จากบทความเดิมเรื่อง Dynamic DNS เราได้ทำการสร้างบัญชีของ DynDNS และนำค่านั้นไปใช้ใน TP-LINK TD-W8901G เรียบร้อย
- ตอนนั้นลืมทดสอบ เราสามารถทดสอบได้โดย เข้า domain name ที่เราได้สร้างไว้ http://xxx.dyndns.org
- เมื่อเราเข้า URL ดังกล่าวถ้ามันเข้าไปที่หน้า Router ของเรา แสดง account เราใช้ได้
- ต่อไปเราก็ลองมาทำให้ คอมพิวเตอร์ของเราสามารถมองเห็นได้จาก world wide กัน
- ด้วยวิธีที่เลือกว่า Port Forwarding
Port Forward
- การ forward port คือการกำหนดเส้นทางของข้อมูล ที่ติดต่อเข้ามายัง router ให้ forward ไปยังเครื่องที่อยู่หลัง router ที่ใช้ ip ภายใน
- โดยมีหลักการในการ forward โดยพิจารณาจาก หมายเลข port ที่ติดต่อเข้ามา ... เพราะ service หรือพวก application แต่ละชนิด จะมีหลายเลข number port ที่ใช้ในการติดต่อสื่อสารเป็นของตัวเองโดยเฉพาะ (จึงนำเอาเรื่องนี้มาใช้ประโยชน์ได้)... โดยจะต้องมีการตั้งค่าว่า ถ้ามีการติดต่อเข้ามาจาก port number ไหน จะให้ forward ข้อมูลเหล่านั้นไปยังเครือง ที่อยู่หลัง router เครื่องไหน ( ip อะไร )
- เช่น ถ้าเรามี ip จริง 1 ตัว อยู่ที่ตัว router แต่มี server ที่รันพวก service ต่างๆ เอาไว้หลายๆตัว ในเครือข่ายภายใน ซึ่งใช้ ip เป็น local ถ้าเราต้องการให้ผู้ใช้งานจากข้างนอก ติดต่อเข้ามายัง server เหล่านั้นได้ เราก็จะต้องทำการกำหนดว่า ถ้ามีการติดต่อเข้ามาทาง tcp/udp port หมายเลขอะไร จะให้ forward พวก traffic ไปยัง server ตัวไหน
การตั้งค่า
- ปกติ Router เราจะเปิดบริการ NAT อยู่แล้ว ถ้ายังไม่เปิดก็ไปเปิดมันซะ
- เมื่อตรวจสอบว่า NAT เปิดบริการแล้ว ให้เราไปที่หัวข้อ Advanced Setup => NAT
- Virtual Circuit อันนี้ เลือกให้มันตรงกับค่าคอนฟิกของ ADSL ซึ่งเราสามารถตรวจสอบได้โดยไปที่หัวข้อ Status เลือกที่ Device Info ให้ใช้ค่า Virtual Circuit อันนี้แหละ
- มาต่อเรื่อง NAT ในกรณีที่ต้องการ Forward บาง Port ให้เลือก Vitaul Server
- Rule Index เลือกสักอัน
- Application ตั้งชื่อการ Forward นี้ว่าเป็นของ Application อ่ะไร เขียนยังไงก็ได้ให้เข้าใจ
- Protocol เลือก ALL เนี๋ยแหละ
- Start Port Number และ End Port Number ใส่ หมายเลข Port อันเดียวกัน
- Local IP Address ระบุเป็นเครื่องที่ลง Apache นั่นแหละ (ทำ static ip น่าจะโอเคนะ)
- เมื่อใส่ค่าเรียบร้อยให้คลิกที่ปุ่ม Save จะอยู่ด้านล่างนะ
- เมื่อ Save เรียบร้อย ในตารางจะแสดงค่ามี่เราได้ทำการบันทึกให้ Rule Index นั้นๆ ไง ซึ่งในที่นี้เมื่อมีการเรียกมาที่ http://xxx.dyndns.org:81 Router มันจะ Forward ไปที่ 192.168.1.111 ให้เลย
- หรือในกรณีที่ต้องการ Forward ทุก Port ไปเครื่องใดเครื่องหนึ่งให้เลือกไปใช้ DMZ เลย
- และทำการ Exception Port บนเครื่อง Local Server เราซะหน่อยให้มันผ่านได้
- การทดสอบผล Forward Port สามารถตรวจสอบโดย Open Port Tool
- ใส่หมายเลขไอพี Router (มันจะใส่ให้เป็นค่าเริ่มต้นอยู่แล้ว) และระบุหมายเลขพอร์ตที่ต้องการตรวจสอบ
- อันนี้คือผลทดสอบว่า Port Forward หมายเลข 81 ไม่มีปัญหาสามารถ Forward ได้
- เราสามารถเข้ามายัง Web Server เราจากภายนอกได้โดย http://xxx.dyndns.org:81 เป็นต้น
เพิ่มเติม
- การทดสอบโดยเข้า url จากเครื่อง ภายในเน็ตเวิร์ควงเดียวกันซึ่งอยู่ภายใต้ Router มันจะวิ่งเข้า Router อย่างเดียว ซึ่งไม่ Forward port ให้เราซะงั้น
- การ Forward จะเกิดขึ้นจากการเข้าถึงของ Public เท่านั้น ประเด็นนี้ไม่ค่อยเข้าใจเท่าไหร่ เห็นเค้าว่ามันเป็นเรื่อง NAT Loopback อ่ะ
- ถ้าจะทดสอบให้ทดสอบผ่าน proxy นะครับพี่น้อง จะบอกให้
- ในกรณีที่ตั้งค่าที่ Virtual Server และ DMZ มันจะเช็คตาม Virtual Server ก่อนนะครับพี่น้อง
- เรื่อง Firewall ของ Router เราไม่ต้องไป Disable มันนะ แค่จัดการ Exception บนเครื่อง Local ที่เราทำเป็น Server ก็พอแหละ
อ้างอิง
- http://juuier.blogspot.com/2010/06/dynamic-dns-for-adsl-router-tp-link-td.html
- http://www.dyndns.com/support/kb/loopback_connections.html
- http://www.thaicert.nectec.or.th/paper/firewall/nat.php
- http://www.thaiadmin.org/board/index.php?topic=85950.0
- http://www.dyndns.com/support/kb/why_cant_i_connect_to_my_server.html
- http://www.compspot.net/index.php?option=com_content&task=view&id=331&Itemid=46
- http://www.cctv4you.com/router-tp-link.html
- คู่มือที่เค้าให้มาในกล่อง TP-LINK มีสอนการทำ Port Forward







