ตอนที่3: การติดตั้ง Squid Proxy + Lightsquid
pfSense Package Installation วันนี้จะพูดถึงวิธีการติดตั้งและใช้งาน Squid Proxy + Lightsquid ซึ่งทำหน้าที่เป็น Proxy Server และ Proxy Reports ตามลำดับ ไฟล์วีดีโอความยาว 18 นาที ตอนแรกตั้งใจจะไม่ให้ยาวขนาดนี้เพราะกลัวจะโหลดช้า พอดีจบไม่ลงจริง ๆ where ๆ is where ๆ (ฝรั่งงง)
หัวข้อการบรรยาย
การติดตั้ง Squid – Proxy Server
การติดตั้ง Lightsquid – Proxy Report
การยกเลิก Package
โหลดไฟล์คุณภาพสูง วีดีโอสอนการติดตั้ง Squid Proxy + Lightsquid Link-1
เพิ่มเติมเกี่ยวกับวิธีการเก็บ Syslog ตาม พรบ. คอมพิวเตอร์
1. ทำการติดตั้งโปรแกรม Syslog Server เช่น Kiwi Syslog Server หรือ Syslog Watcher เลือกที่เป็น Freeware
2. ทำการ Enable syslog’ing to remote syslog server โดยไปที่ Status > System logs > Settings ใส่หมายเลข IP Address ของเครื่อง Syslog Server ตามตัวอย่าง







ถ้าต้องการให้ light squid แสดงรายชื่อ Login ด้วย, จะต้องเปลี่ยนไประบบ Proxy Authentication แทนครับ..
การตรวจสอบคงต้องหลายๆ อย่างรวมกัน เช่น IP Address, MAC Address, syslog เป็นต้น ถึงจะติดตามผู้กระทำผิดได้
หรืออาจจะต้องใช้โปรแกรมประเภท Proxy Analyzer ตัวอื่นๆ เข้ามาช่วยดึงรายละเอียดจาก proxy logs อีกที ซึ่งเก็บอยู่ที่ /var/squid/log กำลังหาวิธีอยู่ ช่วยกันครับ..
เรียนสอบถามอาจารย์และผู้ที่ใช้งาน pfsense ครับมีอยู่สองเรื่องที่เป็นปัญหาตอนนี้
1 เมื่อผมลง Lightsquid และ squidแล้วทำตาม VDO สอนทุกขั้นตอน แต่เมื่อ access web page จะไม่ได้ ระบบมันจะโชว์ HTTP 404 Not Found คือเล่นอินเตอร์เน็ตไม่ได้ครับ แต่เมื่อผมไป คลิ๊กเครื่องหมายถูกออกจาก Transparent proxy และก็ Bypass proxy for Private Address Space (RFC 1918) destination สองโหมด นี้จะอยู่ในหน้า General Setting ครับ จะสามารถเล่นอินเตอร์เน็ตได้ตามปกติครับ ผมเข้าใจว่าทำลักษณะนี้ User ที่เข้ามาเล่น จะไม่ได้ผ่าน proxy ครับ แก้ยังไงครับ
2. ในส่วนของProxy server Report ในหน้า Squid user access report ผมเห็นว่า วันที่
User เข้าใช้งาน ไม่ update ครับ เช่น วันนี้วันที่ 25/09/2009 แต่ระบบ ยัง โชว์ ของวันที่ 23/09/2009 อยู่ครับ ผมจะแก้อย่างไรครับ ปกติแล้วจะต้อง Update วันต่อวันใช่หรือเปล่าครับ
การใช้งาน Transparent proxy เครื่อง Client จะต้องไม่ติดตั้ง Proxy อันนี้เข้าใจตรงกันนะครับ
อยากให้ทดลองใหม่ด้วยขั้นตอนง่ายๆ โดยใช้ pfSense 1.2.3 RC1
1. ติดตั้ง pfsenes และเชื่อมต่อ Internet ให้ได้เสียก่อน
2. ติดต้ง Squid Proxy โดยเลือกเงื่อนไขตามนี้
- Proxy interface : LAN
- Allow users on interface : Checked
- Transparent proxy : Checked
- Enable Logging : Checked
ส่วนอื่นๆ ปล่อยเป็นค่าเริ่มต้นทั้งหมด แล้วทำการ restart เครื่อง
จากนั้นทดลองเข้า Internet ครับ
3. ติดตั้ง Light Squid ตามวีดีโอสอน, ถ้าต้องการให้แสดงวันที่ล่าสุดให้ กด Refresh now / Refresh Full
ผมปฏิบัติตาม VDO ทุกขั้นตอน เคยได้ครับแต่ วันนี้กลับเข้าหน้า login
สอบถามเรื่อง Log หน่อย คืออยากจะส่ง Log ของ Squid ไปเก็บไว้ที่ Kiwi Syslog ด้วยต้อง Config ค่าอย่างไรครับ พอดีหาในเมนูของ Proxy Server ที่ลงใน pfsense แล้วไม่เจอ ช่วยแนะนำหน่อยครับ
เซ็ตที่ Services -> Proxy Server -> Custom Options
ให้ใส่ค่าดังต่อไปนี้
access_log syslog squid
เสร็จแล้วลองตรวจสอบที่ System Logs -> Portal Auth จะพบรายการของ Proxy Log, เมื่อตรวจสอบบน KiWi Syslog ก็จะมีรายการดังกล่าวเช่นกัน
ที่มา L i n u x ~ G i r l (o^-^o) แ ส น สุ ข
http://namojung.blogspot.com/2009/06/squid-log-pfsense-rsyslog.html
ขอบคุณมากๆ ครับ
รบกวนอีกเรื่องครับ คือผมลง Squid Proxy กับเครื่องที่เป็น LoadBalance(2Wan) ครับ พอลงไปแล้ว LoadBalance จะไม่ทำงานเลย Traffic ออกไปทางขา Wan ทั้งหมด ขา OPT1 ไม่มี Traffic วิ่งเลยเหมือน LoadBalance มันไม่ทำงาน แก้ไขอย่างไรได้บ้างครับ
Loadbalance Failover ไม่สนับสนุน Squid Proxy, Traffic Shaper ครับ, แก้ไขด้วยการเพิ่ม pfsense เข้ามาอีก 1 เครื่อง
1 สำหรับ Loadbalance Failover
1 สำหรับ Proxy Server
หรือ
1 สำหรับ Loadbalance Failover
แล้วใช้ Linux ตัวอื่นทำหน้าที่เป็น Proxy Sever แทนครับ
หรือ
ใช้ pfSense 2.0 ครับ แต่ตอนนี้ยังเป็นเวอร์ชั่นทดลองอยู่ คงต้องรอสักพักใหญ่ๆ ถึงจะ stable ครับ
- อยากทราบว่า ทำอย่างไรที่จะให้ pfsense สามารถระบุ speed ของแต่ละ user ให้ไม่เท่ากันได้บ้าง เช่น user A = 1024, user B = 512 อะไรทำนองเนี่ยอ่ะครับ
- และสอบถามเรื่องการเก็บ log ไม่ทราบว่า โดยปกติ pfsense ก็สามารถเก็บได้อยู่แล้วใช่หรือเปล่าครับ
- แล้วเวลาจะเอามาตรวจสอบ ต้องดูจากอะไรครับ หรือว่าควรตั้งค่าให้ไปเก็บที่เครื่องอื่น ดีกว่าครับ
- การกำหนดให้ Bandwidth ของแต่ละ User แตกต่างกัน pfSense ย้งทำไม่ได้ครับ ผมหาวิธีอยู่เหมือนกัน
- pfSense จะเก็บ syslog ไว้ใน Cache ซึ่งได้แค่จำนวนหนึ่งเท่านั้น ถ้ามี syslog มาใหม่ก็จะเขียนทับทันที วิธีแก้ไขต้องใช้ Syslog Server มาช่วยครับ
- ปกติ admin จะเป็นผู้เข้ามากำหนด user จะมีการตั้ง user ขึ้นมาใหม่ได้หรือไม่ ในกรณี admin ไม่ได้เข้ามาทำเอง แต่ไม่อยากให้สิทธิทั้งหมด พร้อมทั้งกำหนดสิทธิว่า ห้ามลบ user แต่เพิ่ม user ได้ pfsense สามารถทำได้หรือเปล่าครับ
- การกำหนดในแต่ละ user นั้นมีให้ expire แต่สามารถ expire เป็นแบบรายชั่วโมงได้หรือไม่ครับ
- pfSense 1.2.3-RC1 อนุญาติให้ admin กับ root เป็น User ขั้นเทพแต่เพียงผู้เดียว ลองทดสอบ 2.0 ดูครับ สามารถทำอย่างที่ต้องการได้
- รู้สึกจะไม่ได้นะครับทั้ง Local Authen & FreeRADIUS กำหนดได้แค่ mm/dd/yy ครับ
- ผมลองลง ver 2.0 แล้ว แต่มันติดอะไรบางอย่างครับ ทำให้ลงไม่ได้ ไม่ทราบว่าพอแนะนำ 2.0 ตัวไหนที่ลงแล้วไม่มีปัญหาหน่อยครับ เพราะที่ผมได้มา มันเป็นตัวล่าสุด แต่ใช้ไม่ได้
- ส่วนที่ถามว่าให้ expire เป็นรายชั่วโมงนั้น ถ้า pfsense ทำไม่ได้ เราสามารถเพิ่มเติมโดยเอาตัวอื่นใส่เข้าไปได้หรือเปล่าครับ โดยที่ยังคงใช้ pfsense เป็นตัวหลักอยู่น่ะครับ (เพราะไม่อยากไปใช้ตัวอื่น ส่วนตัวชอบ pfsenseครับ)
K.Dangerman
pfSenes 2.0 ยังเป็น Alpha Alpha อยู่เลย ฉะนั้นยังไม่สามารถนำมาใช้งานได้จริง แต่เท่าที่ดู Feature แล้วนับว่ามีการเปลี่ยนแปลงมากเลยทีเดียว คงต้องรออีกสักพักใหญ่ๆ ครับ
เท่าที่เคยติดตั้งให้ลูกค้า ผมทำแบบนี้ครับ
case study 1
- pfSense ตัวที่ 1 ทำหน้าที่เป็น Loadbalance Failover นิ่งดีมากๆ ดีกว่าอุปกรณ์ที่มีขายตามท้องตลาดเสียอีก
- pfSense ตัวที่ 2 ทำหน้าที่เป็น Proxy Server + User Authentication
case study 2
- pfSenes ทำหน้าที่เป็น Loadbalance Failover / Internet Gateway
- ใช้โปรแกรม Billing เช่น Plawan, iBSG etc. ทำหน้าที่จัดการเรื่อง User Authentication
*** pfSense ออกแบบมาเพื่อทำหน้าที่เป็น Firewall, NAT, VPN มากกว่าเรื่องของ User Authen ฉะนั้นควรเลือกใช้ให้เหมาะสมกับงานครับ
ขอคำแนะนำค่ะ
ใช้ pfSense key user/password ใช้งานได้ปกติ แต่มีปัญหา คือ
1. ถ้าจะเข้าเปิด explorer ใหม่ จะต้อง key user/password ใหม่ทุกครั้ง
2. ต้องการ add user ประมาณ 1000 users จะ dump จาก file excel จะทำอย่างไร
ขอบคุณค่ะ
K. Anna
ช่วยขยายความหน่อยครับ ไม่เครีย์คำถาม
ข้อ 1. ถ้าจะเข้าเปิด explorer ใหม่ จะต้อง key user/password ใหม่ทุกครั้ง
รบกวนผู้รู้หน่อยครับ ไม่ทราบว่าผมจะ ftp เข้าไปแก้ไข หรือ โหลดไฟล์ ใน fpsense ได้ไหมครับ ผมลองหลายวิธีแล้วเข้าไม่ได้ ต้องไปแก้ไขส่วนไหนเพิ่มเติมอีกครับ
ขอบคุณมากๆครับ ต้องการทราบอย่างมากเลยครับ
สามารถทำได้ด้วยโปรแกรม SFTP ผ่าน SSH
1. System –> Advanced –> Enable Secure Shell
2. ติดตั้งโปรแกรม WinSCP แล้วทำการ Login ด้วย Root และ Password ของ pfSense
ขอบคุณครับ เข้าได้แล้ว คือผมไปเข้า admin เลยเข้าไม่ได้ ต้องเข้าที่ root ครับ
เรียนสอบถามอาจารย์ครับ….
1.เนื่องจาก ผมลง Squid Proxy + Lightsquid เรียบร้อยใช้งานได้ปกติดี แต่มีปัญหาอยู่ที่ว่า Hard disk ของผม เต็ม คือใช้งาน 100% เพียงแค่อาทิตย์เดียวเท่านั้น ผมใชเพียง 20G ถ้าผมเปลี่ยนมาใช้ 160G จะเพียงพอต่อการใช้งานของ User 20 ราย หรือไม่ครับ มีวิธีแก้อย่างไรบ้างครับ
2.ผมจะดึง log file จาก server มาเก็บเป็นข้อมูลที่เครื่องคอมพิวเตอร์ของผมได้อย่างไรครับ ช่วยอธิบายให้ละเอียดนะครับ ผมไม่ค่อยมีความรู้เท่าไหร่
ขออ้างอิงจาก ความเห็นนี้นะครับ
ไม่ทราบว่าสามารถหาโปรแกรมได้หรือยังครับผม
23 September 2009 at 12:51 am
Permalink
ถ้าต้องการให้ light squid แสดงรายชื่อ Login ด้วย, จะต้องเปลี่ยนไประบบ Proxy Authentication แทนครับ..
การตรวจสอบคงต้องหลายๆ อย่างรวมกัน เช่น IP Address, MAC Address, syslog เป็นต้น ถึงจะติดตามผู้กระทำผิดได้
หรืออาจจะต้องใช้โปรแกรมประเภท Proxy Analyzer ตัวอื่นๆ เข้ามาช่วยดึงรายละเอียดจาก proxy logs อีกที ซึ่งเก็บอยู่ที่ /var/squid/log กำลังหาวิธีอยู่ ช่วยกันครับ..
อยากเรียนสอบถามครับ ถ้าต้องการให้ client สามารถ ใช้ service sftp โดยผ่าน squid proxy ต้อง configure อย่างไรบ้างครับ
เช่น ลง Cuteftp บนเครื่อง client ต้องการติดต่อไปยัง hosting แห่งหนึ่ง
ปล. ไม่ได้ใช้เป็น Transparent Proxy ครับ
เรียนสอบถามครับ ถ้าให้ client ใช้ service SFTP ออก internet โดยผ่าน Squid proxy ต้องมีวิธีการ configure อย่างไรบ้างครับ
ปล. ไม่ได้ทำเป็น Transparent Proxy ครับ
ขอรบกวนด้วยครับ
ถ้าต้องให้ client ใช้ service SFTP (port 22) ออก internet โดยผ่าน squid proxy ต้อง configure อย่างไรบ้างครับ
ปล. ไม่ได้ใช้ Tranparent proxy ครับ
ตอนนี้ที่โรงเรียนผมได้ลง pfsense 1.2.3rc3 ใช้ captive portal ทำ authen user ใช้แบบ local ครับ
ทีนี้อยากจะทราบว่า user ไหนเข้าเว็บอะไรบ้าง จะดู log ได้ที่ไหนครับ มีวิธีทำไหมครับ
ขออภัยด้วยนะครับถ้าเขียนผิดที่ พอดีติดปัญหาอยู่ว่าเวลาผมแก้ไฟล์ squid.conf ของผมจะอยู่ที่ /usr/local/etc/squid แต่พอแก้ไขเสร็จผมสั่งให้เครื่อง restart ในรูปแบบต่าง ๆ สุดท้ายมันก็กลับคืนค่าเดิม ไม่ว่าจะเป็นสั่งจาก pfsense console setup => 5. reboot system หรือจะเป็นการสั่งแบบ shutdown -r now ก็ไม่ได้ เคยอ่านเจอว่าต้องแก้ไขใน command เท่านั้น และสั่งจาก command ด้วย ขนาดตอน edit ผมก็ใช้ vi ไม่ได้แก้ไขใน webUI เลย ตอนนี้ก็ลองมาหมดแล้วครับทั้งใช้ shh มา copy ไฟล์ squid.conf มาแก้ไขด้วย nodpad ข้างนอกแล้วพอ replace ทับไป ก็ใช้งานได้ คือ จำค่า แต่พอ restart service (squid)มันก็กลับไปเป็นค่า defaut อยู่ดี ที่ผมแก้ squif.conf ก็คือ จะไปแก้ไขเวลาที่ squid เก็บ log ให้มันเป็นเวลาที่อ่านได้ครับ และเคยออ่านเจอมาว่าไฟล์ squid.conf จะต้องไปแก้ไขที่ไหนซักที่ แต่ไม่ใช่ตรงนี้ เพราะหาก restart แล้วมันจะไปเอาค่าเดิมอีกที่ ที่เป็นค่า default มาใช้งานทุกครั้ง ยังไงใครทราบตรงนี้ช่วยบอกด้วยนะครับ
ปล.ขอบคุณล่วงหน้าครับ
— Kitti apichayarak—–
1. เพิ่ม HDD 160 GB และติดตั้ง Squid Proxy + Lightsquid เพียงพอสำหรับ User 20 รายครับ
2. การดึง log file จาก Server มาเก็บไว้ที่เครื่องแนะนำให้ใช้โปรแกรม Syslog Watcher ส่วนวิธีการก็ทำเหมือน kiwi syslog นั่นแหละครับ
3. Proxy Analyzer ยังหาไม่พบตัวที่โดน หรือฟรี ก็ยังคนหากันต่อไป
— nop_dol—
Captive portal user authentication ไม่สามารถเก็บ log เป็น user login ได้ครับ, จะทราบ MAC address กับ IP Address เท่านั้น
ถ้าต้องการให้ Lightsquid แสดงชื่อ Login จะต้องใช้ Squid proxy Authentication ครับ แต่จะไม่สามารถใช้ Transparent Proxy ได้,
และเราต้องเสียเวลาไปกำหนด Proxy Setting ให้กับคอมฯ ทุกเครื่องด้วย
— Torujung —-
โปรแกรม Client ส่วนใหญ่ จะมี Option สำหรับกำหนดค่า Proxy Setting, หรือเลือกใช้ค่า Proxy Setting เดียวกันกับ Internet Explorer, หรือ กำหนด Bypass หมาลเลข IP Address ที่ Squid Proxy เพื่อให้ใช้งาน Internet โดยไม่ผ่าน Proxy ก็ย่อมได้เช่นกันครับ
เรียนสอบถามอย่างนี้ครับ..
ผมติดตั้ง squid แล้ว เว็บ gmember ไม่เล่นเพลงครับ ถอน squid ออกแล้วใช้ได้ ไม่ทราบว่าต้องแก้ตรงไหนครับ หรือต้องการทำการ bypass ยังไงครับ
reboot ใน commandline กับ reboot ที่ webgui ต่า่งกันหรือไม่ครับ เพราะบางท่านบอกว่า reboot ที่ web จะทำให้ค่าที่ set ไว้กลับมาเป็นค่า default เดิมอีก แล้วการใช้คำสั่ง shutdown – r now ที่ commandline จะมีผลต่างกันหรือไม่กับการใช้ reboot system ที่ console (ข้อ 5)เท่าที่ผมทดลองทำมาทั้งหมดค่าที่แก้ไขจะกลับเป็นค่า default โดยทดลองจากไฟล์ squid.conf และแก้ไขหน้า captive portal มันกลับมาเป็นของเกดิมหมดเลยครับ
ผมยังไม่เคย Reboot หรือ Shutdown ผ่าน command line นะครับ เพราะเครื่อมือที่ให้มาก็สะดวกที่สุดแล้ว ทัั้ง WebGUI หรือ Console Setup หรือจะ Remote by PuTTY
และการ reboot / shutdown ตามปกติจะไม่มีการ Reset ค่าใดๆ ทั้งสิ้น เว้นแต่เลือกคำสั่ง Factory defaults จึงจะถูก Reset ไปสู่ค่าเริ่มต้นครับ
ถ้าท่านใช้ Command line แล้วมีปัญหา แนะนำว่าควรใช้เครื่องมือที่ pfSense จัดไว้ให้ดีกว่าครับ
ขอบคุณมากครับที่ให้คำแนะนำ ผมว่าที่เป็นผมอาจจะใช้ v.1.2 ก็เป็นได้ครับ คงจะต้อง up เป็น v. 1.2.3 น่าจะหาย ส่วนการ upgrade นี่จะค้องลงใหม่สถานเดียวหรือว่า up ผ่าน firmware ได้หรือไม่ แล้วถ้าได้ ค่าที่เคยปรับแต่งไว้ในระบบจะหายไปด้วยหรือไม่ครับ
มือใหม่ ขอคำแนะนำหน่อยครับ
ผมพื่งหัดใช้ pfsense ตอนนี้มีปัญหา squid มีปัญหาอยู่ที่ว่า Hard disk ของผม เต็ม คือใช้งาน 100%
และไม่สามารถแก้ไข Proxy Server ขื้นข้อความแบบนี้อ่ะครับ
Warning: main(/usr/local/pkg/squid.inc): failed to open stream: No such file or directory in /usr/local/www/pkg_edit.php on line 53 Fatal error: main(): Failed opening required ‘/usr/local/pkg/squid.inc’ (include_path=’.:/etc/inc:/usr/local/www:/usr/local/captiveportal:/usr/local/pkg’) in /usr/local/www/pkg_edit.php on line 53
– K.MegaTron –
ก่อน update ทุกครั้งควร Backup Configuration ไว้ก่อนนะครับ
เผื่อผิดพลาดจะได้ไม่ต้องเสียเวลา Config ใหม่
แนะนำว่าควรเลือก Backup ทีละรายการ และบันทึกเป็นไฟล์เก็บไว้ก่อน
ลิงค์สำหรับโหลดไฟล์ Update
http://mirror.qubenet.net/mirror/pfsense/updates/
ขั้นตอนการ update
System > Firmware > Enable firmware upload
– k.Firstknight –
ไม่ทราบว่าใช้ HDD ความจุเท่าไหรครับ
แนะนำว่าอย่างน้อย HDD 80GB, RAM 512 MB (ขึ้นไป)
เพื่อแก้ไขอาการดังกล่าวให้ Reset to factory defaults
แล้วทำการติดตั้ง Package ใหม่ครับ
ใช้ HDD 40 GB RAM 512 ครับ ถ้าผม Remote ไป Reset to factory defaults แล้วจะสามารถ Remote ติดตั้ง Package ใหม่ได้ไหมครับ ขอบคุณล่วงหน้าครับ
ถ้าต้องการให้ Lightsquid แสดงชื่อ Login จะต้องใช้ Squid proxy Authentication ครับ แต่จะไม่สามารถใช้ Transparent Proxy ได้,
และเราต้องเสียเวลาไปกำหนด Proxy Setting ให้กับคอมฯ ทุกเครื่องด้วย
>> และมีซอฟแวร์หรือ OS ตัวไหนที่ช่วยจัดการตรงนี้ได้บ้าง แบบที่สามารถทำ Transparent Proxy ได้ด้วย ถ้ามีรูปเน็ตเวิร์คคราวๆ จะดีมากเลย ช่วยแนะนำด้วย ครับ
เรียนตามตรงว่าคงไม่ได้ทั้งหมดอย่างที่ต้องการ Solution ของผมทำแบบนี้
- pfSense + Squid Transparent proxy + lightsquid + captive portal
- Windows OS + Syslog Watcher
ถึงแม้ LightSquid จะไม่รายงาน User Login แต่ Syslog Watcher มีรายงานครับ
ขอสอบถามนิดนะครับ พอดีเพิ่งหัดเล่น ตัว Squid พอเล่นไปสักพัก เครื่องลูกจะออกเน็ตไม่ได้ ต้องเอา squid ออก จึงจะเข้าเน็ตได้ ไม่ทราบว่าเป็นเพระอะไร ต้องแก้ไขตรงจุดไหนคับ ขอบคุณคับ