Thursday, September 23, 2010

Port Forward + TP-LINK TD-W8901G

  • จากบทความเดิมเรื่อง 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 ก็พอแหละ

อ้างอิง

Popular Posts