วิธีการทำ Proxy Server สำหรับผู้ใช้ตามบ้าน / วงแลน / Office / โรงเรียน / มหาลัยใช้ได้หมด 

Sorce BY Guido Serassio

Resorce By MR.Siam@CaFe
 

    

เขียนและเรียบเรียงโดย  

เป็นส่วนของการ Config ให้ Squid ทำงานได้บน CGI นะครับ Default ถูกเปิดอยู่แล้วไม่ต้องแก้ไขใดๆ



Pid_filename เป็น Files ที่จำเป็นต้องใช้สำหรับ Squid เป็นfiles pid file ไว้เก็บเลข Process ID ครับ



ส่วนของ acl localhost src นี่ก็เป็นการกำหนดค่า ip ขอ งlocal host นะครับก็ใส่ไปตามภาพหนะหละไม่ต้องแก้ไขใดๆแต่หากเป็น localnet คุณจำเป็นต้องแก้เป็น 192.168.0.0 ( ตาม ip Class ของคุณไว้
จริงๆไม่ต้องแก้ก็ได้ครับใส่เป็น 127.0.0.1 ไว้ก็ทำงานได้เหมือนกันหรือปิด Acl to_localnet ไปเลยก็ได้





ตัวอย่างบางส่วนนะครับสำหรับ config ที่ผมหั่นไว้แล้ว

ส่วน ตรง 

cache_access_log /squid/var/logs/access.log 
cache_log /squid/var/logs/cache.log
cache_store_log /squid/var/logs/store.log

หากว่าคุณไม่อยากให้ Squid ตัวนี้เก็บ log ใดๆก็ให้ใส่เครื่องหมาย # เอาไว้นะครับเพราะไม่เปลือง Hdd และ ทำให้ process เร็วขึ้นมาหน่อยนึงด้วย
 
emulate_httpd_log on ตัวน
ี้ emulateเจะทำหน้าที่เขียน log เหมือน apache ครับไม่ต้องเปิดก็ได้ใส่เป็น off ไป

ส่วน Tag ของ log_mime_hdrs ก็ตรงตัวนะครับปิดการทำงานไปก็ได้

# TAG: log_mime_hdrs on|off
# The Cache can record both the request and the response MIME
# headers for each HTTP transaction. The headers are encoded
# safely and will appear as two bracketed fields at the end of
# the access log (for either the native or httpd-emulated log
# formats). To enable this logging set log_mime_hdrs to 'on'.
#
#Default:
# log_mime_hdrs off

เอาไว้ เก็บ log header ของ mime ที่ตอบกลับมาครับว่าเป็นชนิดอะไร โดย จะนำไปต่อท้ายสุด ของ log file ข้ามไปก็ได้นะปิดไปซะ โดยใช้ off 

Acl ทั้งหมดนี้เป็นการเปิด port ที่ต้องการให้ Squid ใช้งานได้นะครับ
ส่วน 

http_access allow localhost
http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
#http_access allow localnet
http_access allow all

จะปกติจะเป็น deny ซึ่งจะแนะนำให้เปิดหมดเลยนะครับ ( หากใช้เอง )

maximum_object_size 4096 KB
minimum_object_size 0 KB

เอาไว้กำหนด ขนาด มาก-น้อยสุด ของ file ที่จะ save ของ disk ถ้า file ใหญ่กว่าที่กำหนด มันจะ ไม่ทำการ Cache ไว้ Default จะทำหน้าที่เหมือน proxy หรือ แค่ส่งผ่านอย่างเดียวเพื่อเป็นการ ประหยัด

cache_mem 256 MB  เอาไว้ตามขนาดของ Ram จริงๆใส่แค่ 8 MB ก็พอครับ ในที่นี้ ram ผม เยอะจนเหลือไม่รู้จะเอาไปทำอะไรเลยใส่ไว้ 8 MB พอนะครับ
cache_dir ufs /squid/cache 256 16 256  ขนาดของ จำนวน cache ที่จะเก็บ 256 mb ก็เยอะพอแล้วครับหากไม่พอก็เพิ่มไปเช่น cache_dir ufs /squid/cache 500 16 256

อ่าเอ่อ.........เอาหละใหนๆก็ใหนๆแล้วจัดมาให้เลยหละกันก็ได้ให้ copy files ที่ผมเขียนไว้นี่ แล้ว copy ไป patse ทับใน Squid.conf ของเดิมหละกันนะครับ หรือจะใช้ copy จาก dir 
squid_config_bysiamcafe.net ก็ได้นะครับอิอิ เรื่องของเรื่องขี้เกียจ พิมพ์ต่อแล้วแล้วคิคิๆ

####squid-2.5.STABLE1-NT-bin เป็นโปรแกรมที่จัดทำโดย เวป http://www.serassio.it/ ทางสยามคาเฟ่เป็นเพียงผู้ที่นำมาประยุกต์และได้จัดการแก้ไขconfig
#### ที่จำเป็นๆต่อการใช้งานเท่านั้น ซึ่งสามารถใช้ได้สำหรับคอมพิวเตอร์ 1 เครื่อง โดยไม่ต้องใช้ lancard และสำหรับ Lan ทั้งวงเลยก็ได้
#### ทางผู้เขียนไม่ได้เชี่ยวชาญในการ Config SquidNT และไม่ได้เป็นผู้รุ้อย่างลึกซึ้งแต่อย่างใดหากเกิดความผิดพลาด บางประการทางผู้เขียน ขออภัยมา ณที่นี้ด้วยครับ
#### แต่ด้วย Config นี้ทางผุ้เขียนได้ทดสอบและลองใช้งานแล้ว สามารถ run ผ่านและใช้งานได้ แต่สามารถ ปรับแต่งเพิ่มเติมได้ตลอดครับ
#### จัดทำคู่มือและ config โดย MR.Siam@CaFe
#### [email protected] 
#### http://www.siamcafe.net



#### TIP เพิ่ม Speed ได้อีก หลายเท่า ##################################### คำสั่ง Cache_peer มหัศจรรย์.................
###หมายเหตุ ใส่ได้เฉพาะ proxy ของ isp ที่คุณใช้ตัวอย่างเช่นถ้าคุณต่อเนตของ ksc ก็จะสามารถใช้ cache_peer proxy.ksc.net parent 8080 3130 no-query ได้เป็นต้น

#cache_peer proxy.anet.net.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ A-net
#cache_peer proxy.asiaaccess.net.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Asiaccess
#cache_peer proxy.asianet.co.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Asianet
#cache_peer proxy.cscoms.com parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ CS - INternet
#cache_peer proxy.cwn.net.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ CWN internet
#cache_peer proxy.linethai.co.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Data Linethai
#cache_peer netproxy1.inet.co.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Inet
#cache_peer proxy.idn.co.th parent 8080 3130 no-query ## สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Idia net 
#cache_peer proxy.infonews.co.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ InfoNews (InfoAccess)
#cache_peer proxy.ji-net.com parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Jusmine Internet ( JI )
#cache_peer proxy.ksc.net.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ KSC
#cache_peer proxy.loxinfo.co.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Loxinfo 
#cache_peer proxy.roynet.co.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Roynet
#cache_peer proxy.samart.co.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Samart
#cache_peer proxy.sgn.net.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ Siam Global Access
#cache_peer proxy.siamit.co.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ SiamIT
#cache_peer 203.113.0.31 parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ TOT Free Click
#cache_peer proxy.wnet.net.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ WorldNet (Apricot)
#cache_peer proxy.sga.net.th parent 8080 3130 no-query ##สำหรับคนที่ต่อเนตโดยใช้ ISP ของ E-GO

#cache_peer proxy.ksc.co.th sibling 8080 3130 no-query ### เอาไว้สำหรับ สำรองกรณี Proxy ตัวแรกดับนะครับ 
### คุณจะไม่สามารถใช้ Proxy ข้าม ISP กันได้นะครับเพราะส่วนใหญ่จะถูก BLock IP ไว้หากใช้ ISP ใหนกรุณาเอาเครื่องหมาย # ออกนะครับ


icp_port 3130 # icp_port เลือกเป็น Default ไปครับ หากต้องการไป Squid ไปเกาะ Proxy ของ Isp ที่คุณต่อเพื่อเพิ่มความเร็วอีกหละก็ให้แก้ไขตามตัวอย่างนี้ได้เลยนะครับ 
 

http_port 8080 

#never_direct allow all # ส่วนที่ผม # ไว้ 5 บรรทัดนี้เป็นส่วนของการทำ Transparent นะครับ หากต้องการใช้ก็ให้เอา # ออก
#httpd_accel_host virtual 
#httpd_accel_port 80
#httpd_accel_with_proxy on
#httpd_accel_uses_host_header on

acl QUERY urlpath_regex cgi-bin \?
# บังคับอยู่แล้วว่าต้องใช้ครับทำให้ Squid เลือกใช้สำหรับเวป ที่ใช้ cgi ได้
no_cache deny QUERY
 # บังคับเหมือนกัน 

#ssl_unclean_shutdown off


pid_filename /squid/squid.pid
# อันนี้ก็ต้องใช้ครับบังคับครับ Pid_files name หน้าที่คือเอาไว้สำหรับเก็บค่า Process ID ครับ
# ด้านล่างนี่คือถ้าเอาออกก็จะมีการเก็บ Log นะครับแต่ผมไม่ชอบเพราะเปลือง Hdd เปล่าๆ
#cache_access_log /squid/var/logs/access.log 
#cache_log /squid/var/logs/cache.log
#cache_store_log /squid/var/logs/store.log
emulate_httpd_log off
log_mime_hdrs off

forwarded_for on

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
#acl localnet src 192.168.0.0/255.255.255.0

acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp 
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais 
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http 
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

http_access allow localhost
http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
#http_access allow localnet
http_access allow all

maximum_object_size 2048 KB
minimum_object_size 0 KB

cache_mem 16 MB
cache_dir ufs /squid/cache 256 16 256
#cache_swap_low 90
#cache_swap_high 95
#cache_dns_program c:/squid/dnsserver.dll

visible_hostname proxyserver_by_siamcafe.net
cache_mgr [email protected]
cache_effective_user nobody
cache_effective_group nogroup



ตัวอย่างหาก เปิด Logs ไว้ก็สามารถอ่าน logs ได้ใน Dir
c:\squid\var\logs 

หลังจากนั้นมาเริ่มใช้งานกันเลย ( อย่าลืม Start ที่ Service ก่อนนะครับตามขั้นตอนต้นๆและหลังจาก Config อะไรเรียบร้อยแล้วต้อง Restart Service ตามด้วยทุกครั้ง )
เริ่มใช้งานโดยไปที่ Tool / internet Options นะครับ 



Connection / Lan setting ( สำหรับคนที่มี Lan Card )

Connection / เลือกตัว Dialup ที่คุณต่อเนตอยู่ขณะนั้น ( สำหรับคนที่ไม่มี Lancard ครับ )


ตรงช่องนี้หากว่าคุณ run Squid NT ไว้ที่เครื่องคุณเองก็ให้ใส่ Ip ของ Locolhost หรือ Ip ของคุณเองนะครับ คือ 127.0.0.1 หากว่าคุณต้องการนำเครื่องนี้เป็น proxy server ของวงแลนหละก็ให้
ตัวลุกทั้งหมดใส่ Ip ของเครื่องที่คุณกำลัง Run SquidNT ไว้อยุ่ เช่นหากตัวแม่คุณใช้ Ip 192.168.0.1 ก็ให้ตัวลูกใส่ Ip 192.168.0.1 ใน IE ตามด้วย Port ที่คุณกำหนดไว้นะครับ

 


ทดสอบว่า Squid ของคุณทำงานหรือไม่ก็โดยการพิมพ์ Address ที่ ช่อง URL ของ IE ได้ตามภาพเลยนะครับหากขึ้นแบบนี้ก็แสดงว่าาผ่านฉาหลุยๆๆๆ

ฺ<<<<<<< Back to SquidNT Page 1

เอาหละจบซะทีปิดท้ายนะครับอยากจะฝากเป็นข้อคิดหน่อยว่าให้ลองหัดแก้และอ่าน Config ตามนะครับจะมี Readme อยุ่และกรุณาอย่านำบทความนี้ไปทำมาหา -ดก ด้วยนะครับที่ผมทำบทความนี้ขึ้นก็อยาก
ให้คนไทยได้ทดลองใช้ Proxy Cache กับเขาดูเพื่อลด B/w ในการ d/l ได้หลายๆทางนะครับ

โดยเฉพาะคนที่ใช้ Net แบบกินเป็น B/w บทความนี้เป็นประโยชน์ต่อคุณมากๆครับเพราะนอกจากจะได้ประโยชน์ตรงเปิดเวปเร็วแล้วยังได้ประโยชน์ตรงลดอัตรา Bandwitdth ที่คุณต้องจ่ายตามจำนวนที่เปิดเวป
ไปได้มากกว่า 30-50 % เลยทีเดียว ( ไม่รวม การ Download Files )

แต่อย่างไรก็ดี SquidNT มี ค่า HIT RATE เพียงแค่ 30 % ( ปรับ Cache Mem ดีๆก็แรงนะ) นะครับและการนำมาใช้กับ Win32 ก็ดูจะแหม่งๆซักหน่อยคงจะสู้ พวก MSPROXY หรือ ISA ไม่ได้มากแต่ก็นับว่ามวยรุ่นเดียวกันได้ครับที่กล้ารับประกันว่าดีคือผมนำ SquidNT ตัวนี้ไปใช้กับ สถาบันราชภัฎธนบุรีทั้งวิทยาลัยเลยนะครับ ( คิดเอาหละกันว่ากี่ร้อยเครื่อง ) 
ข้อดีของมันก็คือ
1. FREE WARE 100 % ( สำคัญมากๆครับ ข้อนี้ )
2. เร็ว ( KOD KOD )
3. กินโปรเซ็สเครื่องต่ำกว่าบางโปรแกรม
4. มีระบบจัดการ Cache ที่สุดยอดจะ Perfect กว่าโปรแกรมทั้งหมดที่มีใน win32 ( มวยรุ่นเดียวกับ  msproxy , ISA )
5
. Config ยากไปหน่อย ( ข้อนี้ปล่อยเป็นหน้าที่ผมแทนแล้วนะ ) 

ลองนำไปใช้กันดูนะครับดีไม่ดีอย่างไรเร็วแค่ใหนอย่าลืมบอกผมนะครับจะได้เป็นกำลังใจในการทำงานต่อไปด้วยหากใครถูกใจบทความนี้ช่วยพาไปเลี้ยงเหล้าเคล้าสาวๆแถวๆ Route66 จะเป็นพระคุณยิ่งครับ 555 (โอ้ยมึน Squid.conf )

Love You All 

[email protected]

ฺBack to Main Siamcafe.net


( เขียนและเรียบเรียงโดย นาย ) http://www.siamcafe.net


หากต้องการนำไปเผยแพร่ขอให้ E-Mail มาที่ [email protected] 

Design by Siam@CaFe Team 
Copyright 2000 SiamCafe.Net Allrights reserved.
[email protected]  icq 29500024