การทำ Proxy Server

1.) ตรวจสอบว่ามี โปรแกรม squid ติดตั้งอยู่หรือไม่ version ไหน
[root@test root]# rpm -q squid
squid-2.4.STABLE7-4

2.) ปรับแต่ง file ที่ /etc/squid/squid.conf

http_port 8080
icp_port 3130
cache_mem 8 MB
cache_dir ufs /var/spool/squid 100 16 256
acl company src 192.168.1.0/255.255.255.0
http_access allow company

หรือ ปรับแต่งตามความเหมาะสม

สร้าง Swap file ของ squid
[root@server1 /]# squid –z
2006/06/13 16:01:25| Creating Swap Directories
[root@server1 /]#

สั่งให้ Squid ทำงาน
[root@server1 root]# service squid restart
Stopping squid: [FAILED]
Starting squid: .[ OK ]
[root@server1 root]#


ตรวจดูว่ามี User เข้ามาใช้หรือไม่

[root@server1 /]# tail –f /var/log/squid/access.log
1150189795.613 3 192.168.1.50 TCP_MISS/304 190 GET http://www.company.com/ - DIRECT/192.168.1.2 -
1150189813.856 13 192.168.1.50 TCP_MISS/304 190 GET http://www.siam.com/ - DIRECT/192.168.1.2 -
1150189821.035 12 192.168.1.50 TCP_MISS/304 192 GET http://www.siam.com/index1.html - DIRECT/192.168.1.2 -
1150189830.918 12 192.168.1.50 TCP_MISS/304 192 GET http://www.company.com/index1.html - DIRECT/192.168.1.2 -

ถ้ามี log ขึ้นแสดงว่าใช้งานได้แล้ว

TCP_MISS หมายถึง การร้องขอนั้นไม่มีการแคชข้อมูลไว้ กรณีนี้จะต้องไป GET มาจากเว็ปไซต์ปลายทางมาจริง ซึ่งจะต้องสิ้นเปลืองแบนด์วิธ

TCP_HIT หรือ TCP_MEM_HIT หมายถึง มีข้อมูลที่เครื่องลูกข่ายร้องขอมาอยู่แล้วในแคช กรณีนี้ไม่มีการใช้แบนด์วิธ

 

 

 



ปรับแต่งไม่ให้เรียกเวป ต้องห้าม

acl block1 url_regex -i sex
http_access deny block1


acl block2 url_regex -i adult
http_access deny block2



วิธีการ block เวบที่ไม่พึงประสงค์ทั้งหมดด้วย acl ทำได้ดังนี้ครับ

1. พิมพ์บัญชีดำ รายชื่อเวบที่ไม่ต้องการให้เข้าไป (ในที่นี้สมมติ) blockwww ในไฟล์มีข้อความ

http://www.sexy.com/
http://www.ddd.com/game/*



2. แก้ไขไฟล์ squid.conf ในหัวส่วนต่อไปนี้ acl และ http_access

acl blockwww url_regex '/etc/squid/bloclwww' ( บรรทัดนี้ เอาไว้บนสุดของ acl )
http_access deny blockwww ( บรรทัดนี้เอาไว้บนสุดของ http_access)


*** หากต้องการให้ หน้า Access Denied เป็นข้อความอื่น ลองหาคำว่า error_directory ใน squid.conf แล้วจะเข้าใจ