pfSense 2.01

ระบบของลูกค้าแต่ละที่มักจะมีข้อจำกัดแปลกๆ ให้เราหา solution ไปวางเสมอ เช่นผู้บริหารจะต้องเล่นเกมออนไลน์ได้โดยไม่ lag (เคสนี้เป็นบริษัทญี่ปุ่น) หรือห้ามเห็น access point แต่ต้องใช้ wireless ได้ทุกที่

หลังสุดเป็นเคสโรงเรียนแห่งหนึ่งผมเจอปัญหาคือเครื่องในห้องเรียนคอมพ์เค้าใช้ระบบที่มันจะย้อนกลับทุกครั้งที่ restart windows (Deep Freeze) แต่ติดที่ว่าเครื่องเหล่านั้นเปิด autoupdate windows เอาไว้ มันเลยอัพเดตกันทุกวัน ซึ่งมีเครื่องแบบนี้ราวๆ 90 เครื่อง แน่นอนว่าเปิดทิ้งไว้แบบนี้มี bandwidth เท่าไหร่ก็ไม่พอ

วิธีแก้ง่ายๆ ก็ block windows update ที่ proxy แต่ติดที่ว่าแล้วเครื่องครูและบุคคลากรอีกเป็นร้อยจะอัพเดตไม่ได้ด้วย ถึงจะมี WSUS แต่เครื่องของครูต่างประเทศก็ไม่ได้ set ไว้อีก

เคสนี้โชคดีที่ pfSense สามารถ block เว็บตาม subnet ของ source ได้ และยังกำหนด bandwidth ให้แต่ละ subnet ได้ว่าให้ใช้ได้ไม่เกินเท่าไหร่ เลยให้ vlan ของนักเรียน block เว็บอัพเดตทุกอย่างทั้ง windows และ software รวมทั้งบีบ bandwidth ไว้ไม่เกินคนละ 1 Mb/s เพราะเด็กชอบโหลดเกมกัน ส่วนบุคลากรก็ให้ไป 3 Mb/s ผมว่าเท่านี้ก็เพียงพอสำหรับใช้งานทุกอย่างแล้ว ทำให้ตอนนี้ bandwidth รวมของทั้งโรงเรียนใกล้เคียง 80% บางครั้งก็มีขึ้นไปสูงบ้างไม่กี่นาที ข้อมูลที่นี่ user  ใช้พร้อมกันราวๆ 150  คน มี bandwidth ทั้งหมด 20Mb/s

ความสามารถนี้ของ pfSense เป็นสิ่งที่ผมชอบที่สุด เราสามารถปรัแต่งจนได้จุดที่พอดีคือใช้ได้เกือบเต็ม bandwidth แต่ต้องไม่เต็มเพราะเมื่อไหร่เต็ม user จะรู้สึกว่าช้าทันที แต่ถ้าน้อยเกินไปก็ไม่คุ้มกันเงินที่จ่ายไปอีก

วันนี้เรามี tool ต่างๆ เยอะมากที่แจกฟรีบนอินเทอร์เน็ต การติดตั้งก็หาคู่มือจากในอินเทอร์เน็ตได้เช่นกัน แต่การปรับใช้ให้เหมาะสมกับแต่ละองค์กรกลับเป็นสิ่งที่ยากยิ่งกว่า..

Gateway โรงเรียน

ผมเพิ่งจบงาน gateway สำหรับโรงเรียน จากจุดเริ่มต้นแค่ปรับปรุงระบบ network ให้เสถียรขึ้น ก็ขยายมาจนถึงทำ gateway ให้ลูกค้าด้วย ซึ่งระบบที่เลือกใช่อาจจะดูใหญ่ไปซักหน่อยเนื่องจากว่ามีผู้ใช้งานมากกว่า 2000 คน แต่ใช้งานพร้อมกันไม่น่าจะเกิน 300 คน ซึ่งระบบที่เลือกใช้ก็คือ

  1. VMware ESXi 4.1 ทำ virtualization เพราะระบบนี้ต้องใช้ Server 5 เครื่อง แต่ใช้ performance ค่อนข้างน้อย
  2. Microsoft Active Directory, IAS, DNS, DHCP, CA, WSUS, IISADMPWD เนื่องจากมี User ที่เป็นนักเรียนเป็นจำนวนมาก มีการเข้าออกทุกปีเป็นจำนวนมาก การใช้ Radius ตัวอื่นอาจจะไม่สะดวกกับครูที่ต้องจัดการเรื่องนี้ และเพื่อเป็นการเตรียมการไว้เผื่อจะมีการใช้งาน Active Directory เต็มระบบในอนาคต นอกจากนี้ก็เพิ่ม WSUS เข้ามาเพื่อลด bandwidth ในการ Download Patch
  3. pfSense, squid, captive portal โดยให้ไป authenticate กับ AD ผ่าน IAS หลังจากทดลองใช้มาระดับหนึ่งผมยังค่อนข้างพอใจ gateway ตัวนี้อยู่
  4. Kiwi Syslog ใช้ตัวฟรีเพราะต้องการแค่เก็บ Logs ไว้ตาม พรบ.คอมพิวเตอร์ สำหรับการดูการใช้งานของนักเรียนก็ดูจาก lightsquid สะดวกกว่า
  5. L3 Switch เพราะมีอยู่ 10 VLAN ตามกลุ่มการใช้งาน

ผลจากการใช้งานระบบนี้ก็คือ

  1. ครูสามารถจัดการชื่อผู้ใช้ผ่าน Active Directory ซึ่งเป็น GUI และสามารถแบ่งนักเรียนเป็นกลุ่มตามชั้นปี และห้องเรียนได้
  2. ในการใช้งานอินเตอร์เน็ตนักเรียนจะต้องกรอก username และ password เพื่อยืนยันตัวตน
  3. นักเรียนสามารถเปลี่ยน Password ได้เอง
  4. มีการแสดงกราฟการ bandwidth และการเข้า website ของแต่ละ User เพื่อบริหารการใช้งานอินเตอร์เน็ต
  5. มีการเก็บ log ตามพรบ.คอมพิวเตอร์

ปัญหา syslog จาก Squid บน pfSense

ผมลองใช้ pfsense ส่ง syslog ไปที่ kiwi syslog ได้ปกติ แต่เมื่อให้ Squid ส่ง Accesss Log ไปด้วยโดยเพิ่มคำสั่ง
access_log syslog squid
ไปใน Custom Options

เกิด errer ดังนี้
“Cannot open ‘syslog’ for writing. The parent directory must be writeable by the user ‘proxy'”

Continue reading “ปัญหา syslog จาก Squid บน pfSense”

pfSense

2-3 วันมานี้ ผมได้ลองทดสอบ pfSense ให้ลูกค้าที่จะเอาไปทำอินเตอร์เน็ตเกตเวย์ หน้าที่หลักๆ ที่ pfSense ทำคือเป็น Gateway, Proxy และ Firewall สำหรับ feature ที่ผมค่อนข้างประทับใจคือ

  1. ติดตั้งง่ายใช้เวลาไม่นาน ไม่ต้องติดตั้ง Linux ก่อน
  2. Loadbalance สำหรับการใช้อินเตอร์เน็ตมากกว่า 1 line
  3. Firewall สามารถกำหนดให้ใช้ Service อะไรได้บ้าง สามารถใช้ FTP ได้ Continue reading “pfSense”