วันเสาร์ที่ 5 เมษายน พ.ศ. 2551

ดรีมบ็อกซ์วีพีเอ็น Dreambox VPN ภาคประถม

เราจะลองมาดูองค์ประกอบและการทำงานจริงๆ ของเครือข่ายเสมือนส่วนตัวกันบ้าง โดยเริ่มจากจำลองการทำงานในวงแลนกันก่อน



สมมุติว่ามีดรีมบ็อกซ์ 2 ตัวอยู่ในวงแลน โดยตัวแรกทำหน้าที่เป็นโฮส (โดยมีไอพีในวงแลนเป็น 192.168.0.11) และอีกตัวทำหน้าที่เป็นไคลเอนท์ (โดยมีไอพีในวงแลนเป็น 192.168.0.12) โดยหลักการที่ต้องจำให้ขึ้นใจคือ "อุปกรณ์ที่ทำหน้าที่เป็นโฮส จะต้องมีชื่อ(หรือไอพี)และต้องเปิดพอร์ทไว้รอเสมอ" เพื่อเป็นที่อยู่ที่ทำให้อุปกรณ์ที่ทำหน้าที่เป็นไคลเอนท์ติดต่อได้

การทำงานแบบทีละขั้นตอน อธิบายได้ดังนี้

  1. ไคลเอนท์ เรียกขอทำการเชื่อมต่อไปยัง โฮส โดยเริ่มจากเปิดพอร์ทขาออกที่เครื่องตนเอง ซึ่งพอร์ทขาออกจะเป็นพอร์ทแบบสุ่ม(ได้หมายเลขพอร์ทที่ว่างอยู่ สมมุติว่าได้ 5326) แล้วทำการเรียกไปยัง ไอพี(หรือชื่อ) 192.168.0.11 และพอร์ท 1194 ของเครื่องโฮส
  2. โฮส ทำการเปิดพอร์ทขาเข้า 1194 ไว้รอ เมื่อได้รับการติดต่อจากไคลเอนท์แล้วหากจะมีการสื่อสารข้อมูลใดๆ ก็กระทำผ่านเส้นทางสื่อสารเดิมที่ได้สร้างไว้แล้ว (หมายถึงหากต้องการคุยกับไคลเอนท์ ก็จะส่งข้อมูลจาก IP:PORT 192.168.0.11:1194 กลับไปยัง IP:PORT 192.168.0.12:5326 ของไคลเอนท์)
  3. vpn จะทำหน้าที่จำลองเส้นทางเชื่อมต่อระหว่าง โฮส และ ไคลเอนท์ โดยใช้ไอพีส่วนตัว 10.8.0.1 สำหรับตัวโฮส และ 10.8.0.2 สำหรับตัวไคลเอนท์ และจะเปิดพอร์ททุกพอร์ทของทั้งสองฝั่งไว้ให้สามารถใช้งานได้ (ถ้าไม่มี vpn เมื่อสร้างเส้นทางสื่อสารแล้ว จะสามารถใช้ได้เฉพาะพอร์ทขาเข้า 1194 ของฝั่งโฮส และพอร์ทขาออก 5326 ของฝั่งไคลเอนท์) ตัวอย่างเช่น หากโฮส 10.8.0.1 ต้องการรีโมท เทลเน็ต กลับมายังเครื่องไคลเอนท์ 10.8.0.2 ก็สามารถเรียกกลับมาที่เครื่องไคลเอนท์ที่พอร์ท 23 ได้เลย โดยไม่ต้องสร้างเส้นทางเชื่อมต่อและหรือเปิดพอร์ท 23 ทางไคลเอนท์อีก โดยทุกอย่างจะกระทำผ่านท่อ vpn ที่ได้สร้างไว้แล้วก่อนหน้า

ภาพของการจำลองทำงานในวงแลนอาจจะไม่ชัดเจนนัก เนื่องจากปกติในวงแลนก็จะมีการเปิดพอร์ททุกพอร์ทไว้ในวงแลนอยู่แล้ว (ยกเว้นว่า ในวงแลนนั้นใช้อุปกรณ์เน็ตเวิร์คระดับไฮโซ เช่นของซิสโก้ ที่สามารถมีการควบคุมพอร์ทได้ในระดับพอร์ทและแพคเก็จ) ทีนี้เราลองมาดูภาพใหญ่ในระดับวงแวน ซึ่งในที่นี้คือในระดับอินเตอร์เน็ต


ในระดับอินเตอร์เน็ต จะมีอุปกรณ์อีกตัวที่เพิ่มเข้ามาทั้งสองฝั่งคือ เราท์เตอร์ ซึ่งก็จัดเป็นอุปกรณ์ไอพีเหมือนกับดรีมบ็อกซ์เช่นกัน จะไม่ขอกล่าวรายละเอียดการทำงานของเราท์เตอร์มากนัก แต่ก็จะมีข้อควรจำเกี่ยวกับกฏของเราท์เตอร์โดยทั่วไปคือ "ถ้าเป็นขาออก ไม่ต้องทำการฟอร์เวิร์ดพอร์ท แต่ถ้าเป็นขาเข้า ต้องมีการฟอร์ทเวิร์ดพอร์ทไว้เสมอ" ซึ่งอาจจะไม่เป็นกฏตายตัวแต่ก็เป็นกฏที่ใช้กับเราเตอร์ตามบ้านทั่วไปได้


การทำงานแบบทีละขั้นตอน อธิบายได้ดังนี้

  1. ไคลเอนท์ เรียกขอทำการเชื่อมต่อไปยัง โฮส โดยเริ่มจากเปิดพอร์ทขาออกที่เครื่องตนเอง ซึ่งพอร์ทขาออกจะเป็นพอร์ทแบบสุ่ม(ได้หมายเลขพอร์ทที่ว่างอยู่ สมมุติว่าได้ 5326) แล้วทำการเรียกไปยังเราท์เตอร์ เราท์เตอร์ก็จะทำการสุ่มพอร์ทขาออกของตนเองไว้ (สมมุติว่าได้ 8316) พร้อมๆ กันนั้นก็จำไว้ว่าดรีมบ็อกซ์ได้เรียกออกมาโดยใช้พอร์ทอะไร โดยจะเก็บรายละเอียดเหล่านี้ไว้ในตารางเราท์เตอร์ (router table) แล้วทำการเรียกไปยัง s1.foxs.com (220.132.54.7) ที่พอร์ท 1194
  2. โฮส จะต้องทำการฟอร์เวิร์ดพอร์ท 1194 ของเราท์เตอร์ไว้รอ ซึ่งเมื่อเราท์เตอร์ได้รับการติดต่อจากไคลเอนท์ทางพอร์ทขาเข้า 1194 แล้วก็จะสุ่มพอร์ทขาออกของเราท์เตอร์ (สมมุติว่าได้ 15321) แล้วทำการส่งผ่านการติดต่อเหล่านั้นไปยังโฮส 192.168.0.11 ที่พอร์ท 1194 และก็เช่นกัน เราท์เตอร์ก็จะทำการเก็บรายละเอียดเหล่านี้ไว้ในตารางเราท์เตอร์ (router table) แล้วหากจะมีการสื่อสารข้อมูลใดๆ ก็กระทำผ่านเส้นทางสื่อสารเดิมที่ได้สร้างไว้แล้ว
  3. vpn จะทำหน้าที่จำลองเส้นทางเชื่อมต่อระหว่าง โฮส และ ไคลเอนท์ โดยใช้ไอพีส่วนตัว 10.8.0.1 สำหรับตัวโฮส และ 10.8.0.2 สำหรับตัวไคลเอนท์ และจะเปิดพอร์ททุกพอร์ทของทั้งสองฝั่งไว้ให้สามารถใช้งานได้ (ถ้าไม่มี vpn เมื่อสร้างเส้นทางสื่อสารแล้ว จะไม่สามารถสื่อสารในพอร์ทอื่นได้เนื่องจากมีเราท์เตอร์คั่นกลาง) ตัวอย่างเช่น หากโฮส 10.8.0.1 ต้องการรีโมท เทลเน็ต กลับมายังเครื่องไคลเอนท์ 10.8.0.2 ก็สามารถเรียกกลับมาที่เครื่องไคลเอนท์ที่พอร์ท 23 ได้เลย โดยไม่ต้องสร้างเส้นทางเชื่อมต่อและหรือเปิดพอร์ท 23 ทางไคลเอนท์อีก โดยทุกอย่างจะกระทำผ่านท่อ vpn ที่ได้สร้างไว้แล้วก่อนหน้า ซึ่งจะเห็นว่าโดย vpn ก็เสมือนว่าไม่มีเราท์เตอร์อยู่ในเส้นทางการสื่อสาร

บทความที่เกี่ยวข้อง สร้างเครือข่ายเสมือนส่วนตัวให้กับดรีมบ็อกซ์

ไม่มีความคิดเห็น: