پیکربندی squid

پیکربندی squid
در این پست می‌خوانید:

 

Squid یک نرم افزار کاربردی است که تحت GNU / GPL منتشر می شود که به عنوان یک سرور پروکسی و همچنین کش حافظه وب Daemon عمل می کند. Squid در درجه اول از پروتکل هایی مانند HTTP و FTP پشتیبانی می کند اما پروتکل های دیگر مانند HTTPS ، SSL ، TLS و غیره به خوبی پشتیبانی می شوند. برای وب سایتهایی که اغلب بازدید می شوند ، با ذخیره وب و DNS با ویژگی ذخیره سازی وب Daemon ، گشت و گذار در وب سریعتر انجام می شود. Squid بخاطراین شناخته شده است که از تمام سیستم عامل های اصلی از جمله Linux ، UNIX ، Microsoft Windows و Mac پشتیبانی می کند.

Squid چیست

Squidیک نرم افزارCaching proxy مبتنی بر سیستم عامل لینوکس است که از پروتکل هایی نظیر FTP ، HTTPS و HTTP پشتیبانی می کند. Squid با Caching صفحات وب می تواند باعث صرفه جویی در پهنای باند شبکه مان شود و مدت زمان پاسخ گویی به درخواست کاربر برای دسترسی به یک Web page را کاهش دهد. Squid را در بسیاری از سیستم عامل ها از جمله سیستم عامل ویندوز می توان راه اندازی کرد که البته تحت لایسنس GNU GPL نوشته شده است. Squid توسط سرویس دهندگان اینترنت در سرتاسر دنیا مورد استفاده قرار می گیرد تا بهترین و بهینه ترین سرویس را برای دسترسی به وب به کاربران ارائه بدهند.

Squidکاری که انجام می دهد این است که گردش داده یاData Flowی بین کلاینت و سرور را بهینه سازی می کند تا عملکردش در پاسخگویی به درخواست های کاربران را بهبود ببخشد و باCache کردن صفحات وبی که به طور مکرر توسط کاربران درخواست شده است به سرعت می تواند به درخوست های وب پاسخ بدهد و از همه مهمتر در پهنای باند شبکه مان صرفه جویی فراهم کند. Squid همچنین می تواند در یک ساختار سلسله مراتبی از Cache server های Squid قرار بگیرد و عملیات Caching را انجام دهد و مسیریابی درخواست ها را بین این سرور ها برای ما فراهم کند. Squid توسط هزاران وب سایت در اینترنت مورد استفاده قرار می گیرد.

 

پراكسي مي تواند به دو صورت كار كند:

 

  • Normal Mode
    یا پراکسی بیس که در این حالت کاربر حتما باید IP و پورت پراکسی را تنظیم کند:

 

  • Transparent mode
    در حالت دوم ترافیک قبل از ورود به Default Gateway به پراکسی رسیده و عملیات لازم روی آن انجام می شود و کاربر نیازی به تغییر تنظیمات ندارد.

 

كامپايل كردن : مانند هر سرويس يا نرم افزار ديگري روش كامپايل كردن به شكل زير است :

 

tar -xzf squid.x.y.z.tar
cd squid.x.y.z 
./configure 
make 
make install

نکته : هرچند برای نصب میتوانید از مخازن پکیج مربوط به توزیع خودتون استفاده کنید

پس از نصب می توانیم از طریق دستورات زیر سرویس اسکویید را متوقف یا اجرا کنیم:

 

service squid start 
service squid restart 
service squid stop

 

فایل تنظیمات یا پیکر بندی اسکویید در مسیر زیر می باشد:
etc/squid/squid.conf/

بخش های مهم این فایل برای تنظیمات در زیر به آن اشاره شده است

 

acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN)
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 manager
http_access allow all
http_access allow localhost
http_port 3128

 

  • http_port مشخص کننده پورت سرویس دهنده http  پیش فرض آن 3128 میباشد
  • acl به کمک این دستور میتوانیم لیست هایی را ایجاد کنیم . برای ساخت این لیست های میتوانیم از تابع src به معنای آدرس درخواست دهنده استفاده کنیم

در این حالت بعد از عبارت acl نام و سپس متد قرار گرفته میشود . در انتها میتوان از این لیست ها برای حق دسترسی استفاده نمیود

متدهای متنوعی برای ساخت acl وجود دارد . متد port برای مشخص کردن پورت های آزاد برای درخواست هستند

  • http_access این قسمت کنترل دسترسی یک درخواست را کنترل میکنممیتوانیم با عبارت های deny یا allow یک درخواست را مدیریت کنیم که قبول یا رد شود

بعد از اعمال تغییرات، سرویس میبایست ریستارت شود

تنظمات سمت کلاینت برای استفاده از این PROXY

برای پیکربندی سمت کلاینت می بایست در دو بخش این تغییرات رو اعمال کنیم

  1. بخش  پروکسی apt
  2. بخش پروکسی http در متغیر های محیطی

بخش  پروکسی apt

برای ویرایش این بخش می بایست در فایل /etc/apt/apt.conf.d/01Proxy آدرس پروکسی سرور squid مانند زیر وارد شود

 

Acquire::http::Proxy "http://SQUID_IP:3128";

بخش پروکسی http در متغیر های محیطی

در لینوکس متغیر محیطی نیز وجود دارد ک میبایست برای تنظیمات پروکسی مقدار زیر در یکی از فایل های مشخصه وارد شود

/etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile , ~/.bashrc 

export http_proxy=http://SQUID_IP:3128/

 

 

 

امیدوارم مفید بوده باشه

یا حق

دیدگاه‌ها ۰
ارسال دیدگاه جدید