บทความที่ได้รับความนิยม

วันอาทิตย์ที่ 28 สิงหาคม พ.ศ. 2554

# การ Setup Squid และ Frox บน CentOS 5.3

การ Setup Squid และ Frox บน CentOS 5.3 โดยใช้พื้นที่เก็บ Cache ร่วมกันนั้น ดูจากร้านลูกค้าที่ทางทีมงานติดตั้งไว้ทั้งสองระบบเปรียบเทียบกัน เรามั่นใจว่าเป็นวิธีที่เสถียรที่สุดแล้วสำหรับการใช้งานเก็บ Cache เก็บ Patch เกมส์
ตัว Squid นั้นผมขอใช้ตัว Squid เดิมๆ ของ CentOS เองเลยนะครับซึ่งเป็น Version 2.6.STABLE21 ซึ่งมันเสถียรดีอยู่แล้ว ใช้ร่วมกับ Frox ที่เราเคยทำไว้ก่อนหน้านี้

ติดตั้ง Squid
  1. yum -y install squid
  2. cd /etc/squid
  3. mv squid.conf squid.conf.org
  4. wget http://linux.blog.in.th/system/files/squid.conf
แก้ไข ip และปรับจำนวน Cache ให้ตรงกับ ความต้องการ
        nano /etc/squid/squid.conf
แก้ไข บรรทัดเหล่านี้
	cache_dir ufs /var/spool/squid 20480 16 256
 
ปรับ เลข 20480 เป็นตามจำนวน Cache ที่ต้องการ ของเดิม คือ 20 G เช่นต้องการ 40G ก็ เปลี่ยนเป็น 40960 
แต่ปกติแล้วผมไม่เคยตั้งไว้เกิน 10G เลยคือปกติผมจะใช้ ราวๆ 8192 หรือ 8 G นั่นเอง
	cache_mem 128 MB
หากมี Memory เยอะ ตั้งไว้สัก 1/2 ของที่มีก็ได้เช่น Ram 1 G ก็ตั้งไว้สัก 512
    1. acl webconfig_lan src 192.168.2.0/24
    2. acl webconfig_to_lan dst 192.168.2.0/24
แก้ 192.168.2.0/24 เป็น วง network ของท่าน เช่น Server ใช้ ip 10.0.1.254 ก็เปลี่ยนเป็น 10.0.1.0/24
    1. http_port 192.168.2.254:3128 transparent
    2. http_port 127.0.0.1:3128 transparent
เลข ip 192.168.2.254 แก้เป็น ip Server ของท่าน และต้อง ใส่ transparent ต่อท้ายทุกครั้ง ไม่อย่างนั้นหลังสั่ง transparent mode แล้วจะใช้งาน Squid ไม่ได้
สั่งสร้าง ที่เก็บ Cache, Start squid, และ ตั้งให้ squid start ทุกครั้งหลัง restart เครื่อง
	
    1. squid -z
    2. service squid start
    3. chkconfig squid on
สั่ง iptables เพื่อ redirect port http ต่างๆ เข้า squid ตัวอย่างคือ เครื่องลูกเข้าใช้งาน port 88,80,9898 จะผ่านเข้า Squid อัตโนมัติ
	
	iptables -t nat -A PREROUTING -m multiport -p tcp -i eth1 --dport 88,80,9898 -j REDIRECT --to 3128
แก้ eth1 เป็น Card lan ใบที่จ่ายให้ Client
check การทำงานของ squid
	
	tail -f /var/log/squid/access.log
หากต้องการปรับเปลี่ยน รูปแบบ การแสดง log แก้ไข ตรงส่วน logformat ครับ
 
ติดตั้ง Frox
  1. wget http://linux.blog.in.th/system/files/lib-frox.tar.gz
  2. tar zxvf lib-frox.tar.gz
  3. cd lib
  4. cp libcrypto.so.0.9.7a /lib/libcrypto.so.4
  5. cp libssl.so.0.9.7a /lib/libssl.so.4
  6. wget http://linux.blog.in.th/system/files/install-frox-fix.bin
  7. chmod +x install-frox-fix.bin
  8. ./install-frox-fix.bin
ดูการติดตั้งแบบ อื่นๆจากที่นี่ [a href="../../../../node/85" title="Download : Frox for ClarkConnect 4.X Update Full Install"]Download : Frox for ClarkConnect 4.X Update Full Install[/a]
แก้ไข Config ของ Frox เพื่อทำงานร่วมกับ Squid
	nano /etc/frox.conf
แก้บรรทัดเหล่านี้
  1. ##################################
  2. # For use http cache with squid 
  3. # Remove all mark if you want to use with http cache.
  4. ##################################
  5. HTTPProxy 127.0.0.1:3128         #Don't Change this line if use with http cache just remove mark only.
  6. HTTPProxy 192.168.2.254:3128 #Change to your ip.
  7. #ForceHTTP yes
  8. #CacheModule HTTP
  9. ##################################
  10.  
  11. ##################################
  12. # For use http cache with squid 
  13. # Remove all mark if you want to use with http cache.
  14. ##################################
  15. CacheModule local
  16. CacheSize 4000 # default size 4000 = 4G
  17. ##################################
เป็น
	
  1. ##################################
  2. # For use http cache with squid 
  3. # Remove all mark if you want to use with http cache.
  4. ##################################
  5. HTTPProxy 127.0.0.1:3128              #Don't Change this line if use with http cache just remove mark only.
  6. HTTPProxy 192.168.2.254:3128      #Change to your ip.
  7. ForceHTTP yes
  8. CacheModule HTTP
  9. ##################################
  10.  
  11. ##################################
  12. # For use http cache with squid 
  13. # Remove all mark if you want to use with http cache.
  14. ##################################
  15. #CacheModule local
  16. #CacheSize 4000 # default size 4000 = 4G
  17. ##################################
ของเดิมคือทำงานแบบ local Cache คือ Squid ก็มีพื้นที่ เก็บ Cache ของ Squid Frox ก็มีพื้นที่เก็บ Cache ของ Frox เอง เราจึงปรับให้ Frox ใช้พื้นที่ร่วมกับ Squid ไปทีเดียวเลย
ประโยชน์คือ สามารถใช้ pattern ของ Squid บังคับในการจัดเก็บ Cache ของ Frox ได้ด้วยว่า File ไหนเก็บไม่เก็บ และกันปัญหา Error อื่นๆ
แก้ไข /etc/rc.d/rc.firewall.local
ส่วนของ Frox
  1. if [ -f /var/run/frox.pid ]; then
  2. /sbin/iptables -t nat -A PREROUTING -m multiport -p tcp -i eth1 --dport 6001,21,8021 -j REDIRECT --to 2121
  3. fi
ส่วนของ Squid
  1. if [ -f /var/run/squid.pid ]; then
  2. /sbin/iptables -t nat -A PREROUTING -m multiport -p tcp -i eth1 --dport 88,80,9898 -j REDIRECT --to 3128
  3. fi
 
หมายเหตุ การแก้ไข /etc/rc.d/rc.firewall.local นั้นต้องทำหลัง นำ ระบบ Firewall ของ ClarkConnect 4.3 ติดตั้งลงใน CentOS 5.3 มาติดตั้งแล้วเท่านั้น
สั่ง Start และ restart การทำงานทั้งหมด อีกที
  1. service frox restart
  2. service squid restart
  3. service firewall restart
 
Download : Frox for ClarkConnect 4.X Update Full Install
Credit Squid 2.6 Config Muzazhi Modifly By Ton-Or

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

แสดงความคิดเห็น