آموزش اسکویید قدم به قدم

ROOT1

Administrator
#1
آموزش اسکویید قدم به قدم برای دوستانی که کمتر باهاش کار کردن رو با امید خدا شروع میکنم و سعی میکنم بصورت مداوم کاملش کنم

کارهایی که اسکویید برای ما میکنه در کل: کد PHP:
cache server
filter access to net
efficient bandwidth usage



مرحله اول نصب:

داخل ردهت بیس:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] yum install squid  
[/COLOR] [/COLOR]
اگه بسته اسکویید رو دارید :
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] rpm [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]uhv  [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]home[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]nami[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]2.7[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]STABLE7[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]1u[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]rpm  
[/COLOR] [/COLOR]
دبیان بیس (اوبونتو)
کد PHP:

code:
[COLOR=#000000] [COLOR=#0000BB] apt[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]get install  squid  
[/COLOR] [/COLOR]
اگه بسته اسکویید رو دارید:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] dpkg [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i  [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]home[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]nami[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]- [/COLOR][COLOR=#0000BB]2.7[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]STABLE7[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]1u[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]deb  
[/COLOR] [/COLOR]
پیشنهاد می کنم برنامه squidclient رو هم به روش فوق برای تست اسکویید بگیرید

بعد از دریافت با یکی از دستورات زیر نصب شدن رو تست کنید:
کد PHP:
code:
 	[COLOR=#000000] [COLOR=#0000BB]rpm [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]q  squid
dpkg  [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]l  squid  
[/COLOR] [/COLOR]
مسیر دایرکتوری اسکویید:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB][/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  
[/COLOR] [/COLOR]
فایل کانفیگ اصلی اسکویید:
کد PHP:

code:
[COLOR=#000000][B] [COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700].[/COLOR][/B][COLOR=#0000BB][B]conf  [/B]
[/COLOR] [/COLOR]
قبل از هر تغییری بهتره ازش کپی بگیریم cp -r /etc/squid/squid.conf /home/nami/Desktop

مسیر لاگ های اسکویید:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB][/COLOR][COLOR=#007700]/var/[/COLOR][COLOR=#0000BB]log[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  
[/COLOR] [/COLOR]
دایرکتوری کش :
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB][/COLOR][COLOR=#007700]/var/[/COLOR][COLOR=#0000BB]spool[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  
[/COLOR] [/COLOR]

دستور استارت اسکویید:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] ردهت[/COLOR][COLOR=#007700]:                                                                                           [/COLOR][COLOR=#0000BB]service squid start  
[/COLOR] [/COLOR]

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] دبیان[/COLOR][COLOR=#007700]:                                                                                       [/COLOR][COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]init[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]d[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  start[/COLOR][COLOR=#007700]/  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]
با دستور زیر می تونید وضیت اسکویید رو توی شبکه ببینید:
کد PHP:

code:
[COLOR=#000000] [COLOR=#0000BB] netstat  [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]ntlp  [/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]grep squid  
[/COLOR] [/COLOR]
پورت پیش فرض اسکویید ۳۱۲۸ روی پروتکل tcp هست
 

ROOT1

Administrator
#2
کانفیگ اولیه و تست

تمامی Document ها در مسیر:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB][/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]share[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]doc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  
[/COLOR] [/COLOR]
تنظیم اسکویید برای اجازه دسترسی شبکه داخلی به اینترنت:
با یکی از ادیتورها مثل :vim-vi-nano,...... در محیط تکست یا gedit -knote و .... در محیط گرافیک فایل squid.conf رو باز میکنیم (برای تغییرات دسترسی رووت لازمه)

در زیر قسمت access control :
یک acl اضافه میکنیم:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl  mylan  src  192.168.1.0[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]24  
[/COLOR] [/COLOR]
یعنی سورس آدرس شبکه داخلی من 192.168.1.0/24
یک access role اضافه می کنیم:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]http_access  allow  mylan  
[/COLOR] [/COLOR]
توجه داشته باشید خطوط قبل از http_acceess deny all باید باشه
acl نویسی مثل سیسکو از بالا به پایین خونده میشه

در این مرحله با ریستارت اسکویید میتونید اون رو تست کنید:

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]service squid restart  
[/COLOR] [/COLOR]
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]init[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]d[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  restart[/COLOR][COLOR=#007700]/  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]

نکته: در مراحل بعد برای اینکه تغییراتی که دادیم اعمال بشه ولی کانکشن های ما باقی بمون از:

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]service squid reload  
[/COLOR] [/COLOR]
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]init[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]d[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid  reload[/COLOR][COLOR=#007700]/  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]
استفاده می کنیم


برای تست از محیط cli هم می تونید از squidclient استفاده کنید به شکل:

کد PHP:

code:
[COLOR=#000000] [COLOR=#0000BB]squidclient  [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]g  5  http[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#FF8000]//www.yahoo.com  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]
که میبینید در 5 بار زمان خواندن سایت چقدر هست

برای دیدن پروسس squid:
code:
 ps -ef  |grep  -i squid
 

ROOT1

Administrator
#3
میشه روی چند پورت listening داشت:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]http_port 3128 8080  
[/COLOR] [/COLOR]

کانفیگ کردن دایرکتوری کش: کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]cache_dir ufs [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]local[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/var/[/COLOR][COLOR=#0000BB]cache[/COLOR][COLOR=#007700]/ [/COLOR][COLOR=#0000BB]100 16 256  
[/COLOR] [/COLOR]

ابن خط داخل squid.conf مشخص میکنه که مسیر مورد نظر با فایل سیسنم ufs هست که با گنجایش ۱۰۰ مگابایت هست عدد ۱۶ بیانگر ماکزیمم تعداد فولدر داخل دایرکتوری و ۲۵۶ مشخص کننده حداکثر ۲۵۶ فایل داخل هر فولدر هست

**نکته: میشه یه تعداد دلخواه مسیر تعریف کرد مثلا cache_dir ufs /dev/sda1/1/ 100 16 256

** نکته: ضرایب باید حفظ بشه
** نکته : بالابردن بیش از حد ظرفیت کش performance رو پایین میآره
** نکته : بهتره از یک هارد دیگه برای کشینگ استفاده بشه که سرعت بالاتری هم داشته باشه

****با دستور df میشه مقدار فضای خالی پارتیشن ها رو دید

برای جلوگیری از اتصال یک یا چند آی پی خاص به اینترنت قبل از acl mylan:
کد PHP:

code:
[COLOR=#000000] [COLOR=#0000BB]acl  bad_user  src  192.168.1.10[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]24
http_access deny  bad_user  
[/COLOR] [/COLOR]

برای ارتباط دادن با کش سرور های دیگه داریم:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]cache_peer cache[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]omid[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]com parent 3128 3130 [/COLOR][COLOR=#007700]default [/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]query  
[/COLOR] [/COLOR]


اگه بخوایم که اگر توی کش سرور بالا پیدا نکرد سراغ اینترنت نره داریم:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]cache_peer cache[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]omid[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]com parent 3128 3130  
[/COLOR] [/COLOR]


برای دیدن لاگ دسترسی ها:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]cat  [/COLOR][COLOR=#007700]/var/[/COLOR][COLOR=#0000BB]log[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]access[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]log  
[/COLOR] [/COLOR]

انواع ACL :


  • Source/Destination IP address
  • Source/Destination Domain
  • Regular Expression match of requested domain
  • Words in the requested URL
  • Words in the source or destination domain
  • Current day/time
  • Destination port
  • Protocol (FTP, HTTP, SSL)
  • Method (HTTP GET or HTTP POST)
  • Browser type
  • Name (according to the Ident protocol)
  • Autonomous System (AS) number
  • Username/Password pair
  • SNMP Community

در مورد اولی توضیح داده بودم
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]Source[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]Destination Domain  
[/COLOR] [/COLOR]
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl myDomain srcdomain [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]omid[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]com [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]cache[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]org  
[/COLOR] [/COLOR]
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] acl allow myDomain  [/COLOR][/COLOR]
 

ROOT1

Administrator
#4
انواع access-list




  • [*=right] Regular Expression match of requested domain

برای فــیلتر کردن url هایی که نمی خواهیم حاوی یک یا چند کلمه باشن:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl badUrl url_regex [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i nami[/COLOR][COLOR=#007700].  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]
i- برای اینه که چون پیش فرض case sensitive هست با این پارامتر insensitive میشه

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl badUrl url_regex [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]avi  
[/COLOR] [/COLOR]
این هم که مشخصه

میشه جفتشون رو یکجا نوشت:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl badUrl url_regex [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i nami[/COLOR][COLOR=#007700].*.[/COLOR][COLOR=#0000BB]avi  
[/COLOR] [/COLOR]
که در آخر با این دستور فــیلتر میشن:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]http_access  deny  badUrl  
[/COLOR] [/COLOR]
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] acl  filterlist  url_regex  [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i  [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]blacklist  
[/COLOR] [/COLOR]
داخل این فایل می تونید url های مورد نظر رو بزارید


MIME type

فــیلترینگ میتونه بر اساس mime type باشه

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB][/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]php[/COLOR][COLOR=#007700]][/COLOR][COLOR=#0000BB]acl  mp3  reg_mime_type   [/COLOR][COLOR=#DD0000]"audio/mp3"  
[/COLOR][COLOR=#0000BB][/COLOR] [/COLOR]
[/PHP]

Current time/date


میشه acl رو بر اساس زمان نوشت:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl name time [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]day[/COLOR][COLOR=#007700]-list] [[/COLOR][COLOR=#0000BB]start_hour[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]minute[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]end_hour[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]minute  
[/COLOR] [/COLOR]

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] S – Sunday[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]M – Monday[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]T – Tuesday[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]W – Wednesday[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]H – Thursday  
[/COLOR] [/COLOR]
F – Friday, A – Saturday

مثلا : کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl  saate[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]edari  time   ASMTW 8[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]00[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]16[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]00
http_access  allow saate[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]edari  
[/COLOR] [/COLOR]

Destination port


پورتهای مقصد که کاربران اجازه دسترسی دارند​
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl Safe_ports port 80 21 443 563 70 210 1025[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]65535  
[/COLOR] [/COLOR]
و بقیه بلاک میشن با دستور زیر :

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]http_access deny [/COLOR][COLOR=#007700]![/COLOR][COLOR=#0000BB]Safe_ports  
[/COLOR] [/COLOR]

****نکته: علامت ! یعنی به جز (کل دستور یعنی همه بسته بجز safe ports


Method


متد get برای دانلود
متد post برای آپلود
متد connect برای ssl

مثال : کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl connect_method method CONNECT
acl SSL_PORTS port 443 563
http_access deny connect_method [/COLOR][COLOR=#007700]![/COLOR][COLOR=#0000BB]SSL_PORTS  
[/COLOR] [/COLOR]
یعنی به کانکشن های غیر ssl اجازه دسترسی نمیده
 

ROOT1

Administrator
#5
ادامه انواع access-list

Browser type

میشه acl رو بر اساس browser کاربر ها نوشت که مثلا با firefox بشه با ie نشه

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]acl aclname browser MOZILLA  
[/COLOR] [/COLOR]
***** خدایی تا کجا هارو فکر کردن
smiley-un.gif
***********



Username

کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]ident_lookup on
acl friends omid mohsen reza morteza
http_access allow friends
http_access deny all  
[/COLOR] [/COLOR]
میتونید اسمهای مورد نظر رو بدید که از روی دستگاه مقصد auth میشن





Autonomous System (AS) Number


Squid is often used by large ISPs. These ISPs want all of their customers to have access to their caches without having incredibly long manually-maintained ACL lists (don't forget that such long lists of IPs generally increase the CPU usage of Squid too). Large ISP's all have AS (Autonomous System) numbers which are used by other Internet routers which run the BGP (Border Gateway Protocol) routing protocol.
The whois server whois.ra.net keeps a (supposedly authoritive) list of all the IP ranges that are in each AS. Squid can query this server and get a list of all IP addresses that the ISP controls, reducing the number of rules required. The data returned is also stored in a radix tree, for more cpu-friendly retrieval.
Sometimes the whois server is updated only sporadically. This could lead to problems with new networks being denied access incorrectly. It's probably best to automate the process of adding new IP ranges to the whois server if you are going to use this function.
If your region has some sort of local whois server that handles queries in the same way, you can use the as_whois_server Squid config file option to query a different server.​
**** اینم برای isp دار ها خوشون ترجمه کنن زیاده
smiley-tongue-out.gif




Username and Password

روشهای مختلفی برای فــیلتر کردن یوزرها هست مثلا smb-خواندن از روی فایل و ....
من خودم از ntlm استفاده کردم برای خوندن یوزرهای AD



Using the NCSA authentication module

اینم روش جالبیه برای خوندن یوزر و پسوردها از روی یک فایل:
داخل squid.conf اضافه میکنیم: کد PHP:

code:
[COLOR=#000000] [COLOR=#0000BB] authenticate_program [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]local[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]bin[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]ncsa_auth [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]local[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]passwd  
[/COLOR] [/COLOR]
فایل passwd رو در مسیر بالا میسازیم و با فرمت زیر یوزر اضافه میکنیم:
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB] nami[/COLOR][COLOR=#007700]:[/COLOR][COLOR=#0000BB]lKdpxbNzhlo[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]w  
[/COLOR] [/COLOR]
Using the RADIUS authentication module
کد PHP:
code:
[COLOR=#000000] [COLOR=#0000BB]
acl external_traffic [/COLOR][COLOR=#007700]*****[/COLOR][COLOR=#0000BB]_auth REQUIRED
http_access allow external_traffic
auth_param basic program [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]local[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]libexec[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid_radius_auth  [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]f [/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]usr[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]local[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]etc[/COLOR][COLOR=#007700]/[/COLOR][COLOR=#0000BB]squid_radius_auth[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]conf
auth_param basic children 5
auth_param basic realm This is the realm
auth_param basic credentialsttl 45 minutes  
[/COLOR] [/COLOR]
code:
acl بازهم هست ولی کمتر مورد استفاده قرار میگیره و موردی هست

**** مثالهایی هم که نوشتم فقط نمونه خیلی کوچکی از نحوه syntax نوشتن اونهاست و میشه هزاران جور دیگه تغییر داد یا ترکیب کرد و اینجا فقط به سر فصل اشاره شد
.




refresh pattern
ها

مشخص میکنند که چه چیزهایی باید کش بشن و تا چه مدت و اینکار رو با خوندن هدری که در html قرار داده میشه میغهمه ولی خیلی سایتها از tag default استفاده میکنن و زیاد توی سرعت باز شدن اینگونه سایتها تاثیری حاصل نمیشه

نمونه های زیادی از refresh pattern توی اینترنت هست و با یادفــیلتری روش میشه دستی هم نوشت:

کد PHP:
code:
[COLOR=#000000] [COLOR=#007700][[/COLOR][COLOR=#0000BB]php[/COLOR][COLOR=#007700]][/COLOR][COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700][-[/COLOR][COLOR=#0000BB]i[/COLOR][COLOR=#007700]] [/COLOR][COLOR=#0000BB]regex min percent max [/COLOR][COLOR=#007700][[/COLOR][COLOR=#0000BB]options[/COLOR][COLOR=#007700]]  
[/COLOR] [/COLOR]
code:
refresh_pattern -i \.gif$ 1440 20% 10080[/PHP]
نمونه:
PHP:
[LEFT]     کد PHP:
     [CODE][COLOR=#000000] [COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700]^[/COLOR][COLOR=#0000BB]ftp[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]1440 20[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]10080
refresh_pattern [/COLOR][COLOR=#007700]^[/COLOR][COLOR=#0000BB]gopher[/COLOR][COLOR=#007700]: [/COLOR][COLOR=#0000BB]1440 0[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]1440
refresh_pattern [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].([/COLOR][COLOR=#0000BB]gif[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]png[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]jpg[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]jpeg[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]ico[/COLOR][COLOR=#007700])$ [/COLOR][COLOR=#0000BB]10080 90[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]43200 override[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]expire ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]cache ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]store ignore[/COLOR][COLOR=#007700]-private
[/COLOR][COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].([/COLOR][COLOR=#0000BB]iso[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]avi[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]wav[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]mp3[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]mp4[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]mpeg[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]swf[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]flv[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]x[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]flv[/COLOR][COLOR=#007700])$ [/COLOR][COLOR=#0000BB]43200 90[/COLOR][COLOR=#007700]%  [/COLOR][COLOR=#0000BB]432000 override[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]expire ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]cache ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]store ignore[/COLOR][COLOR=#007700]-private
[/COLOR][COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].([/COLOR][COLOR=#0000BB]deb[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]rpm[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]exe[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]zip[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]tar[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]tgz[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]ram[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]rar[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]bin[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]ppt[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]doc[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]tif   f[/COLOR][COLOR=#007700])$ [/COLOR][COLOR=#0000BB]10080 90[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]43200 override[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]expire ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]cache ignore[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]no[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]store  ignore[/COLOR][COLOR=#007700]-private
[/COLOR][COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]index[/COLOR][COLOR=#007700].([/COLOR][COLOR=#0000BB]html[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]htm[/COLOR][COLOR=#007700])$ [/COLOR][COLOR=#0000BB]0 40[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]10080
refresh_pattern [/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]i [/COLOR][COLOR=#007700].([/COLOR][COLOR=#0000BB]html[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]htm[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]css[/COLOR][COLOR=#007700]|[/COLOR][COLOR=#0000BB]js[/COLOR][COLOR=#007700])$ [/COLOR][COLOR=#0000BB]1440 40[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]40320
refresh_pattern [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000BB]0 40[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]40320[/COLOR][COLOR=#007700][/[/COLOR][COLOR=#0000BB]php  
[/COLOR] [/COLOR] 
 
][/CODE][RIGHT]

داینامیک content ها رو کش نمیکنه مثلا عکسهای کوچک کد امنیتی:

[LEFT]     کد PHP:
     [CODE][COLOR=#000000] [COLOR=#007700][[/COLOR][COLOR=#0000BB]php[/COLOR][COLOR=#007700]][/COLOR][COLOR=#0000BB]refresh_pattern [/COLOR][COLOR=#007700](/[/COLOR][COLOR=#0000BB]cgi[/COLOR][COLOR=#007700]-[/COLOR][COLOR=#0000BB]bin[/COLOR][COLOR=#007700]/|?) [/COLOR][COLOR=#0000BB]0 0[/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000BB]0  [/COLOR][/COLOR]

[/CODE]
[/LEFT]
[/RIGHT]
[/LEFT]
[/RIGHT]
[/LEFT]
 
بالا