(เขียนเมื่อ 2008-10-16 04:27:13 +0700)

รอบนี้ขอมาแปลกนิดนึง เรื่องก็มีอยู่ว่า ผมมี ADSL 2 เส้น เส้นละ 2M เส้นหนึ่งเป็นของ TT&T อีกเส้นเป็น TOT ใช้มาก็นาน เคยได้ยินว่าสามารถทำให้เน็ต 2 เส้น รวมเป็นเส้นเดียวได้ แต่ก็ไม่ได้สนใจ พอจะเอาเข้าจริงๆ ก็ไปเจออุปกรณ์ที่เรียกว่า Network Load Balance ของ DLink แต่… สู้ราคาไม่ไหวอ่ะ (ราคาประมาณ 4,500 บาท) ประกอบกับที่บ้านมีคอมเก่าๆ หลายตัวเลย มันก็น่าจะทำได้นี่นา จริงไหม

หลังจากหาระบบ Network Load Balance โดยใช้ PC ก็เจอหลายตัวเหมือนกัน แต่สุดท้ายก็ลงตัวที่ pfSense ก่อนอื่นเลยก็ไปโหลดแล้วเขียนลงแผ่น CD เลยครับ ขนาดก็ราวๆ 60M

เครื่องที่จะนำมาทำ Network Load Balance ต้่องมีการ์ดแลนอย่างต้อง 3 ตัว ต่อตามภาพข้างล่างนี้

จากรูป การ์ดแลนที่ต่อกับ Rounter ผมไม่ได้ตั้งหมายเลข IP ผมจะให้มันรับหมายเลข IP จาก Rounter แทน ส่วนการ์ดแลนที่ออกจากเครื่อง server ผมจะตั้ง IP เป็น 192.168.100.1/24 และเป็น DHCP server จ่ายหมายเลข IP ตั้งแต่ 192.168.100.200 – .254

ลืมบอกไปครับ pfSense ต้องการเครื่องที่ความเร็วไม่ต้องสูงมากสัก Pentium 200MHz + Ram64Mb ขึ้นไปก็พอแล้ว ถ้าต้องการติดตั้งหรือทำ transparent proxy ก็ต้องใช้ HDD ด้วย ขนาดก็แล้วแต่สะดวกเลยครับ

มาเริ่มติดตั้งกันเลย (ภาพการติดตั้ง pfSense ถ่ายจากจอภาพทำให้บางภาพไม่ชัดเท่าไหร่นะครับ)

หลังจากโหลด pfSense และเขียนลงแผ่น CD แล้ว ก็ใส่แผ่นแล้วตั้งให้ Boot จากแผ่น CD

กด Enter เพื่อเรียก pfSense

หลังจากปล่อยให้ทำงานไปเรื่อยๆ จนถึงหน้าจอแสดงการ์ดแลนทั้งหมดที่เรามี pfSense จะให้เราเซ็ต vlan ให้เรากด n เพื่อไม่เซ็ต

ข้อสุงเกตุ !!! เพื่อความชัวร์ ควรจด MAC Address ของการ์ดแต่ละตัวไว้ เพื่อที่จะได้รู้ว่า แต่ละการ์ดของเราต่อกับอันไหน และ pfSense มองเห็นการ์ดเราผ่านไฟล์ไหน (Linux มองอุปกรณ์ทุกอย่าง เป็น file/directory) ถ้าหากใช้การ์ดยี่ห้อเดียวกัน รุ่นเดียวกัน จะเรียงตามลำดับช่อง PCI โดยนับจาก CPU ไปจนถึงช่องสุดท้าย

จากภาพตัวอย่าง re0 เป็นการ์ดของ realtek แบบ PCI Express , rl0 เป็น realtek แบบ PCI , fxp0 เป็นการ์ดของ Intel ถ้าหากเราใช้การ์ดชิพ realtek ไม่ว่ารุ่นอะไรก็ตามจะเป็น rl0, rl1 … ไล่ไปเรื่อยๆ ตามจำนวนการ์ดที่เรามี

จากนั้นก็ทำการเซ็ตว่าการ์ดตัวไหนต่ออย่างไร โดยที่ผมเซ็ตให้ fxp0 ซึ่งเป็นการ์ด Intel ต่อกับเครื่องลูกข่ายภายในเซ็ตให้เป็น LAN, rl0 ต่อกับ rounter ตัวที่ 1 เซ็ตให้เป็น WAN และ re0 ต่อกับ rounter ตัวที่ 2 เซ็ตเป็น Optional 1 พอเซ็ตหมดแล้ว ก็กด Enter ผ่านไปได้เลย

จะพบกับหน้าจอสรุป ให้กด y ผ่านไปได้เลย

จากนั้นเลือก 99 เพื่อติดตั้ง pfSense

ไม่ต้องทำการเปลี่ยนค่าอะไรให้เลือก Accept these Setting

เลือก Intall pfSense

เลือก HDD ที่จะทำการติดตั้ง pfSense (ถ้าไม่มี HDD และสามารถทำการบูทผ่าน USB ได้ สามารถใช้ Flash Drive ได้นะ)

เลือก format this disk ถ้าหาก HDD มีข้อมูลอยู่ก็สำรองไว้ก่อนนะครับ เพราะมันจะลบหมดทุก partition เลย

หลังจาก format เสร็จแล้ว ก็ให้สร้าง partition โดยเลือก Partition Disk ให้ pfSense สร้าง partition โดยอัตโนมัติ


หลังจากทำ partition เสร็จก็ทำการติดตั้งลงไปเลย


ให้ pfSense ทำการสร้าง partition เอง แล้วรอติดตั้งสักพักใหญ่ๆ

ทำการเลือก kernel ถ้าหากใช้ CPU แบบ Dual Core ก็ให้เลือก multiprocessor แต่เครื่องผมมีแค่ 1 Core ก็เลือก uniprocessor หรือถ้าไม่แน่ใจ เลือกแค่ uniprocessor ก็ทำงานได้เหมือนกัน

หลังจากนั้นก็ทำการติดตั้ง boot block ไม่เช่นนั้นมันจะบูทไม่ได้

เสร็จแล้วก็ทำการ Reboot เครื่องเท่านี้การติดตั้งก็เสร็จแล้ว

จากนั้นก็ไปที่เครื่อง Client ที่ต่อกับเครื่อง server เปิด web browser (แนะนำให้ใช้ IE7 หรือ Fire Fox) พิมพ์หมายเลข IP 192.168.1.1 พิมพ์ user = admin password = pfsense

ไปที่ interface -> lan ทำการเปลี่ยน IP เป็น 192.168.100.1/24 dhcp 192.168.100.200 – 254 (ลืมจับภาพขั้นตอนนี้ ขออภัยด้วยนะครับ)

ไปที่ interface -> opt1

เปิดการทำงานของ OPT1 และตั้งชื่อเป็น WAN2 จากนั้นผมทำการเซ็ต IP เป็น 192.168.2.1/24 GW 192.168.2.254 แต่ถ้าไม่อยากให้ยุ่งยากก็เซ็ตเป็น DHCP เลยครับ

ไปที่ status -> interface เพื่อดูสถานะของการ์ดแลนแต่ละตัว (ในภาพผมทำการเปลี่ยน IP ของ WAN1 และ WAN2 ไปแล้วนะครับ)

ตั้งค่าให้ LAN สามารถทำ NAT กับ WAN1 และ WAN2 ได้ โดยไปที่ Firewall -> NAT -> Outbound ทำการสร้าง Outbound ใหม่ขึ้นมาโดยกดเครื่องหมาย + ด้านข้างแล้วเซ็ตค่าตามภาพเลย

เลือก interface เป็น WAN source เป็น network แล้วพิมพ์ ip ที่เป็น network address เข้าไป ถ้าหากเราเซ็ต subnet เป็น 255.255.255.0 network address จะเป็น .0 ส่วน gateway จะเป็น .255 ทำให้เราสามารถใช้ IP ได้ตั้งแต่ .1 จนถึง .254 เท่านั้น (แอบแถมนิดนึง อิอิ) ส่วน destination เป็น any คือให้ทุกอย่างสามารถเข้ามาได้ จากนั้นกด save ได้เลย

ทำการสร้าง Outbound อีกอันหนึ่ง แต่ครั้งนี้ให้เลือก interface เป็น WAN2 แล้วเลือกที่ Manual Outbound (ในภาพลืมกด) จากนั้นกด Apply เท่านี้ LAN ก็วิ่งออกได้ทั้งสองทางแล้ว

ไปที่ service -> load balance -> pool ทำการสร้าง pool ขึ้นมา 3 ตัว (จะให้ดูตัวอย่าง 1 อันนะครับ)

อันแรกเป็น load balance โดยเลือก type เป็น gateway แล้ว behavior เป็น load balancing ตรง interface name ให้เลือก WAN1 และ WAN2

จากนั้นทำอีก 2 อัน โดยสรุปได้ดังนี้

 Name Type  Behavior Interface
 WAN balance WAN2 gateway load balancing wan
wan2
WAN failover WAN2 gateway failover wan
wan2
WAN2 failover WAN gateway failover wan2
wan

หลังจากสร้าง pool ทั้ง 3 แบบแล้ว กด apply เพื่อบันทึกค่า

จากนั้นไปที่ firewall -> rules เพื่อให้ load balance pool ที่เราสร้างขึ้นทำงาน

ทำการกำหนดค่าดังภาพ แต่ต้องทำทั้งหมด 3 ครั้ง แต่ gateway จะไม่เหมือนกัน โดยให้เลือก

  1. wan balance wan2
  2. wan failover wan2
  3. wan2 failover wan

เมื่อสร้างเสร็จจะได้ rule ดังภาพ กด apply เพื่อให้ rule ทั้งหมดทำงาน

สามารถดูสถานะการทำงานของ network load balance ได้โดยเลือกที่ status -> load balance

ถ้าหากสถานะเป็น Online สีเขียวทั้งหมด แสดงว่าใช้งานได้แล้ว เราสามารถทดลองโดยโหลดอะไรสักอย่างแล้วไปดูกราฟที่ status -> traffic graph

จากรูป ขณะที่กำลัง download ไฟล์อยู่ ผมทดลองถอด WAN1 และ WAN2 ออก เพื่อทดสอบ failover และลองเสียบทั้งคู่ จากกราฟจะเห็นได้ว่าข้อมูลวิ่งตลอดเวลา แม้จะถอดสายออกไปเส้นหนึ่ง ถ้าหากต่อพร้อมกันก็สามารถใช้ได้พร้อมกันทั้งสองเส้นตามความเร็วของเน็ตเรา

ไม่ยากเลยใช่ไหมครับ แค่นี้เราก็สามารถใช้เน็ตหลายๆ สายให้ทำงานพร้อมกันได้แล้ว หวังว่าคงจะมีประโยชน์กับทุกคนนะครับ หากมีอะไรแนะนำเพิ่มเติมสามารถแนะนำมาได้เลยครับ

ปล. ถ้าหากอยู่เชียงใหม่ แล้วทำไม่ได้จริงๆ ยินดีไปทำให้ครับ ขอให้เตรียมอุปกรณ์ให้พร้อม ใช้เวลาทำราวๆ ชั่วโมงนึงล่ะครับ

ปล2. สามารถเข้าไปดูรูปทั้งหมดได้ใน picasa ของผมนะครับ ผมไม่ได้ลงรูปไว้ทุกขั้นตอน เพราะมันจะยาวเกินไป

Comments

จำนวนความเห็น