วันศุกร์ที่ 8 กุมภาพันธ์ พ.ศ. 2551

สร้างเครือข่ายเสมือนส่วนตัวให้กับจีบ๊อกซ์ Gbox VPN

Gbox ได้ชื่อว่าเป็นแคมที่ดีที่สุดตัวหนึ่ง ซึ่งทำงานในลักษณะของ จุดต่อจุด peer to peer ต่างจากแคมตระกูลอื่น (เช่น CCcam และ Newcamd) ที่ทำงานในลักษณะของ client/server จุดอ่อน(ซึ่งจริงๆ คือจุดแข็ง)ของ Gbox คือ การทำงานในลักษณะ peer to peer จำเป็นที่จะต้องเซทให้ทั้งสองฝั่งรู้จักซึ่งกันและกัน โดยอ้างอิงจากไอพีหรือชื่อ DNS แถมยังต้องทำการฟอร์เวิร์ดพอร์ทที่เร้าเตอร์ในกรณีที่ใช้งานผ่าน adsl router ดังนั้น ความนิยม Gbox จึงถูกจำกัดด้วยความยุ่งยากเหล่านี้

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

เทคโนโลยี vpn ในโลกอินเทอร์เน็ตมีมากมายหลายตัว ที่นิยมกันมากคือ openvpn แต่... เนื่องจากข้อจำกัดของตัว dreambox รวมทั้ง พื้นฐานความรู้ของผู้ใช้ดรีมบ๊อกซ์โดยทั่วไป ไม่ได้อยู่ในระดับ"เก่ง" ดังนั้นก็ไม่ใช่เรื่องง่ายในการที่จะเซทระบบ vpn ขึ้นมาลองเล่นซักตัว เพราะเอาแค่ง่ายๆ ว่าการ compile openvpn ให้รันได้ใน dreambox ก็เป็นเรื่องยากถึงยากมากสำหรับคนที่ไม่มีพื้นฐานหรือพอมีพื้นฐานอยู่บ้างแต่ยังไม่เชียวชาญ ดังนั้นปัจจัยในการพิจารณาเลือก vpn ที่เหมาะสมสำหรับ dreambox ของเราคือ "'ง่าย เล็ก เสถียร และปลอดภัยพอรับได้"

หลังจากสืบเสาะและทดลอง vpn หลายๆ ตัว ในที่สุดก็ได้เลือกหนึ่งตัวมาเป็นต้นแบบ ทำการปรับแต่งให้เหมาะสมกับตัวดรีมบ๊อกซ์และ gbox โดยมีคุณสมบัติเด่นๆ คือ
  • ง่าย ด้วยคอนฟิคที่เรียกว่า zero configuration คือไม่ต้องเซทอะไรเลย ก็สามารถทำงานได้ ไม่ต้องโหลด certificate ไม่ต้องทำ user/password พิเศษ
  • เล็ก มีขนาดพื้นฐานเพียง 200kb
  • เสถียร จากการทดสอบก็ไม่พบปัญหาเรื่องความเสถียรของตัว vpn
  • ปลอดภัย พอรับได้ แลกกับขนาดและความยุ่งยากในการใช้งาน

เริ่มต้นกับ foxvpn - simple dreambox vpn

โปรแกรม foxvpn เป็นโปรแกรมพื้นฐานที่ทำหน้าที่ vpn สำหรับสร้างจุดเชื่อมต่อระหว่างดรีมบ๊อกซ์ในเครือข่ายเสมือน ซึ่งก็ทำงานในลักษณะ peer to peer เช่นกัน สำหรับ foxvpn อาศัยการ authenticate ด้วยหลักการของ password ธรรมดา จึงไม่จำเป็นต้องใช้ certificate โดยฝั่งหนึ่งจะทำหน้าที่เป็น server และอีกฝั่งหนึ่งจะทำหน้าที่เป็น client (หรือแม้แต่ทำหน้าที่ทั้ง server และ client ได้ในตัวเดียวกัน)

ทดลองเซทระบบ Fox VPN ในวงแลน

เราสามารถทดลองเล่น gbox vpn ในวงแลนได้ง่ายๆ โดยมีขั้นตอนดังนี้

1. ดาว์นโหลด gbox vpn และทำการติดตั้งลงในดรีมบอกซ์ (ใส่ไฟล์ติดตั้งใน tmp และสั่ง manual install) เครื่องที่ต้องการให้เป็นเซิฟเวอร์ (สมมุติใช้ IP 192.168.1.3)

2. เมื่อติดตั้งเสร็จแล้ว ใช้ DCC เปิดไฟล์ /var/keys/cwshare.cfg แก้ไขบรรทัด M: ให้ระบุ IP (หรือ DNS) ของเซิฟเวอร์ (ในกรณีนี้คือแก้คำว่า fox.server.com ให้เป็น 192.168.1.3) *อย่าแก้เครื่องหมาย <- เพราะเครื่องหมายนี้เป็นการระบุว่าให้ foxvpn ทำการ mapping ระหว่างชื่อ fox.server.com กับไอพี 10.8.0.1

/var/keys/cwshare.cfg

M: { 10.8.0.1 { C0A80213 }} <- fox.server.com

D: { 10.8.0.2 { 8888 8888 { 22CD32BA { 1 1 }}}}

แก้เป็น

M: { 10.8.0.1 { C0A80213 }} <- 192.168.1.3

3. เปิด Telnet ใน DCC เพื่อสั่งสร้างไฟล์ติดตั้งสำหรับตัวลูก

~> genfox

เมื่อรันเสร็จจะได้ไฟล์ติดตั้งสำหรับตัวลูกจำนวน 1 ไฟล์อยู่ในโฟล์เดอร์ tmp ให้จัดเก็บไฟล์นี้ไว้ใน pc เพื่อนำไปติดตั้งยังตัวลูกต่อไป

4. ที่ดรีมบ็อกซ์ตัวที่ต้องการให้เป็นตัวลูก นำไฟล์ติดตั้งที่ได้จากข้อ 3 มาติดตั้ง (ใส่ไฟล์ติดตั้งใน tmp และสั่ง manual install)

5. รีสตาร์ทแคม โดยเลือกเป็น Gbox VPN ทั้งที่เซิฟเวอร์และตัวลูก

ทดลองเซทระบบ Gbox VPN ผ่านอินเตร์เน็ต

1. จดทะเบียน dns ที่ต้องการใช้ระบุตำแหน่งเซิฟเวอร์ที่ www.dyndns.org หรือ www.no-ip.com และ ฟอร์เวิร์ดพอร์ท tcp 1194 (พอร์ทมาตรฐานของ VPN) ที่ router ให้ชี้ไปยังดรีมบ็อกซ์เซิฟเวอร์

2. ใช้ DCC เปิดไฟล์ /var/keys/cwshare.cfg แก้ไขบรรทัด M: ให้ระบุ DNS ที่จดทะเบียนไว้ในข้อ 1 (สมมุติจดไว้ชื่อ myfoxserver.no-ip.com)


/var/keys/cwshare.cfg

M: { 10.8.0.1 { C0A80213 }} <- myfoxserver.no-ip.com

3. - 5. ทำขั้นตอนเดียวกับการเซทระบบ Gbox VPN ในวงแลน

หมายเหตุ โปรแกรม foxvpn สามารถดาวน์โหลดและทดลองใช้ได้ฟรี ที่นี่ สอบถามรายละเอียดเพิ่มเติมได้ที่ giszee@gmail.com