نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: راهنمای پیکربندی سرویس‌دهنده Squid

  1. #1
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    راهنمای پیکربندی سرویس‌دهنده Squid

    راهنمای پیکربندی سرویس‌دهنده Squid

  2. #2
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 نصب Squid

    - نصب از طریق بسته‌های نرم‌افزاری

    توجه داشته باشید که معمولا بیشتر نسخه های لینوکس دارای یک بسته Squid به صورت آماده و قابل نصب هستند که ممکن است در موقعی که نسخه لینوکس شما نصب می شود نصب نگردد . بعنوان مثال بعد از نصب ردهت 7.1 شما متوجه می شوید که Squid نصب نگردیده است . خود Squid در CD #2 در فولدر RedHat/RPMS قرار گرفته است . جهت نصب ان ابتدا اطمینان حاصل نمایید که شما بعنوان کاربر ریشه وارد شده اید سپس از فرمان rpm به صورت زیر استفاده کنید:
    mount /mnt/cdrom
    rpm -Uhv /mnt/cdrom/RedHat/RPMS/squid-*.rpm
    umount /mnt/cdrom


    شما در هنگام نصب تعداد زیادی از هش (#) را مشاهده می کنید که نشان از نصب Squid دارد . در لینوکس دبیان شما می توانید از برنامه apt-get جهت دان لود و نصب Squid از اینترنت اقدام نمایید:
    apt-get install squid


    - نصب از طریق کد منبع


    اگر شما مایل به نصب Squid از طریق فایل های کد منبع آن هستید، می‌توانید این کار را در تمامی نسخه های لینوکس انجام دهید. یادآور می‌شوم که شما نیاز دارید تا جدیدترین نسخه پایدار Squid را از وب سایت آن دریافت نمایید. سورس Squid به صورت فایل فشرده شده tar است که شما احتیاج دارید ابتدا آن را غیر فشرده نمایید :



    هنگامی که شما فایل فشرده tar را غیر فشرده نمودید شما از این طریق احتیاج به تنظیم، کامپایل و نصب Squid دارید:
    Tar -zxf squid-2.3.STABLE4-src.tar.gz
    cd squid-2.3.STABLE4
    ./configure
    make all
    make install


    جهت اطلاعات بیشتر جهت نصب آن فایل INSTALL را که در کد منبع Squid موجود است را مطالعه نمایید. البته به یاد داشته باشید که همیشه آسان‌ترین راه برای نصب Squid استفاده از بسته‌های نرم‌افزاری آماده آن است.

  3. #3
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 تنظیم Squid

    همه تنظیمات این پراکسی سرور در فایل پیکربندی آن است ( squid.conf ) که بستگی به نسخه لینوکس شما ممکن است در پوشهetc/squid.conf/ یا etc/squid/squid.conf/ باشد . قبل از انجام هرکاری شما باید مسیر این فایل را در سیستم تان پیدا کنید:
    locate squid.conf


    روش های متعددی جهت تنظیم Squid از طریق وب یا GUI ( اینترفیس کاربری گرافیکی ) وجود دارد . این GUI ها توانایی خواندن و تشخیص و نوشتن فایل پیکربندی در محل مربوطه را دارا هستند .

    خوب ما در اینجا تنظیم نمودن Squid را به صورت دستی شرح می دهیم . جهت این کار شما یک ویرایش گر متن مانند emacs یا دیگر نرم افزار ها احتیاج دارید و اینکه فراموش نکنید جهت انجام فرامین مربوطه شما باید ابصورت کاربر ریشه وارد سیستم شوید تا دسترسی به نوشتن در فایل پیکربندی را داشته باشید.

    فایل پیکربندی Squid خود دارای پارامترهای تنظیماتی بسیاری است که ما در اینجا همه آن ها را پوشش نخواهیم داد و به اصلی ترین آن ها اشاره خواهیم نمود.

  4. #4
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 تنظیمات پیش فرض

    تنظیمات پیش فرض

    به صورت پیش فرض Squid همراه با یک فایل پیکربندی است که تقریبا جهت بیشتر سرورها صحیح و قابل استفاده است. جهت استفاده از Squid در شبکه بعنوان یک پراکسی باید برخی از تنظیمات پیش‌گزیده را تغییر داد.

    :: شروع تنظیمات مقدماتی

    هنگام تنظیم Squid در فایل پیکربندی آن ( squid.conf ) تعداد زیادی توضیح وجود دارد که قابل استفاده هستند.در این حالت حجم فایل در حدود 76 کیلو بایت است که در صورت حذف این توضیحات حجم آن به 600 بایت کاهش می یابد! که در این صورت ویرایش آن از طریق ویرایش گر ها آسان تر خواهد شد. البته وجود این توضیحات می‌تواند کمک بزرگی برای تنظیم کننده باشد.

    جهت تنظیمات مقدماتی در فایل پیکربندی این پارامترها را اضافه می کنیم :
    acl privatenet src 192.168.0.0/255.255.0.0
    http_access allow privatenet

    cache_effective_user squid
    cache_effective_group squid

  5. #5
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 ثبت وقایع (logging)

    - ثبت وقایع (logging)

    به طور پیش فرض Squid فعالیت های انجام شده را در چندین Log فایل ذخیره می کند :
    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log
    cache_store_log none


    با اضافه نمودن این پارامترها Squid پیغام های خطا را در مسیر var/log/squid/cache.log/ و پیغام های دسترسی به سرور را در var/log/squid/access.log/ ذخیره می کند که البته برنامه هایی نیز جهت آنالیز access.log قابل دریافت هسنتد که از آن ها می توان به SARG اشاره نمود ( که با نام sqmgrlog شهرت دارد ).

    من چیز مفیدی را در مورد squid's cache_store_log پیدا نکردم که از همین جهت می توان توسط خط 3 بالا آن را غیر فعال نمود .

  6. #6
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Cache Access

    Cache Access

    شما می توانید استفاده از کش را در سرورتان مقدور سازید که این کار از طریق http_access امکان پذیر است . این را مد نظر داشته باشید که خط acl یک شبکه یا یک ابزار شبکه را تعریف می کند.

  7. #7
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 اندکی در مورد Upstream Proxy

    اندکی در مورد Upstream Proxy

    شاید یکی از برتری های Squid استفاده از Upstream Proxy باشد که می تواند سرعت دسترسی به اینترنت تا حد قابل ملاحظه ای بالا ببرد. بعنوان مثال وقتی ISP شما دارای کش جهت کاربرانش می باشد کش سرور شما می تواند سایت های بسیاری را در خود ذخیره کند که این خود تا حد زیادی بازدهی را در مواقع ضروری بالا می برد.

    یکی دیگر از مزایای Squid پشتیبانی به صورت چندگانه است بدین مفهوم که می توان چندین کش سرور را با ارتباط داد که Squid این کار را از طریق پروتکول ICP انجام می دهد . ICP این اجازه را به کش سرورها می دهد که که طریق پکت های سریع UDP یا هم ارتباط برقرار نمایند .

    خوب جهت استفاده از این مزایا شما اول باید مد نظر داشته باشید که آدرس کش سرور ها چیست ( proxyserver.yourisp.com ) و هم چنین از چه پورتی بدین منظور استفاده می کند . استفاده از Upstream Proxy به راحتی امکان پذیر است :
    cache_peer proxy.yourisp.com parent 3128 3130
    prefer_direct off


    خط cache_peer اسم هاستینگ و نوع کشینگ "parent" و پورت پراکسی "3128" و پورت ICP" 3130" را مشخص می کند . اگر کش سرور شما پروتکل ICP را پشتیبانی نمی کند از این خط استفاده نمایید :
    cache_peer proxy.yourisp.com parent 3128 7 no-query default
    prefer_direct off

  8. #8
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 Sharing Caches


    - Sharing Caches

    توجه داشته باشید که در مواقع ضروری که یک شرکت چندین ارتباط را جهت دسترسی به اینترنت را داشته باشد Squid کش نمودن سرور ها در حالت اشتراک گذاری آن ها می پذیرد ( بدین مفهوم که چندین کش سرور با هم ارتباط داشته باشند ). در این صورت باید هر کش سرور این خط را در فایل پیکربندی خود داشته باشند :
    cache_peer theotherproxy.yournetwork.com sibling 3128 3130


    که اگر دقت نمایید یکی از پارامترها به sibling تغییر یافته بدین مفهوم که فایل های کش را چنانچه در کش سرور دیگر باشد آن ها را آن ها دریافت می کند .

    - رد نمودن فایل های آلوده

    فایل هایی وجود دارند که به ویروس نیز آلوده هستند مانند WIN-BUGFIX.EXE که مربوط به ویروس Melissa می شد که با یک پارامتر ساده می توان دریافت چنین فایل هایی را از سرور رد نمود .
    acl nastyfile dstdom_regex -i WIN[.*]BUG[.*]EXE
    http_access deny nastyfile

  9. #9
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 احراز هویت کاربران

    احراز هویت کاربران

    این مرحله یکی از مهم ترین اجزا جهت مدیران شبکه است بعنوان مثال مواقعی که شرکت شما دسترسی به اینترنت را جهت کاربر امکان پذیر و یا رد می کند .

    تنظیم نمودن یک acl جهت ورود یا رد نمودن کاربر به راحتی از طریق تغییر زیر در فایل پیکربندی امکان پذیر است :
    authenticate_program /your/authentication/program
    acl validusers proxy_auth REQUIRED
    http_access allow validusers


    و این را توجه داشته باشید که یک برنامه مناسب شناساگر پراکسی پیدا نمایید ( proxy authentication ) که قابل ذکر است Squid خود دارای شناساگری به صورت داخلی نمی باشد که شما باید در خط authenticate_program تنظیمات مناسب را بر طبق برنامه احراز هویت مورد استفاده، تغییر دهید.

    البته Squid همراه با چند برنامه احراز هویت نیز ارائه شده است که در مسیر /usr/lib/squid موجود هسنتد که شامل smb_auth ( شناساگر جهت دومین NT ) و squid_ldap_auth ( جهت شناسایی دایرکتوری LDAP ) که در این میان شناساگر مورد انتحاب من pam_auth می باشد که از لایبرری های PAM جهت شناسایی کاربران استفاده می کند.

    برتری pam_auth در شناسایی کاربران در روش های متعدد است و همه برنامه های شما ( نظیر XDM, Squid, Apache و .... ) بر روی آن قرار دارند ...

    جهت تنظیم pam_auth ( این روش جهت سیستم های ردهت است ):

    - فایل etc/pam.d/squid/ را ایجاد نمایید که باید این چنین باشد :
    auth required /lib/security/pam_stack.so service=system-auth
    auth required /lib/security/pam_nologin.so
    account required /lib/security/pam_stack.so service=system-auth
    password required /lib/security/pam_stack.so service=system-auth
    session required /lib/security/pam_stack.so service=system-auth


    - اطمینان حاصل نمایید که خط زیر را در فایل پیکربندی Squid گذارده اید:
    authenticate_program /usr/lib/squid/pam_auth


    - و اینکه authconfig در سرور شما اجرا شده است تا مشخص نماید شما از چه سرور شناساگر استفاده می نمایید که مورد LDAP مناسب به نظر می رسد ...

  10. #10
    مدیر بازنشسته
    تاریخ عضویت
    2008/10/14
    سن
    36
    نوشته ها
    3,180

    Icon16 پراکسی به صورت ترانسپرنت

    پراکسی به صورت ترانسپرنت

    ترانسپرنت نمودن پراکسی یک روش است که شما می توانید که یک پراکسی سرور را بین شبکه و اینترنت بگذارید و بدون اینکه نیاز به تنظیمات خاصی باشد ما مستقیما به اینرنت وصل خواهیم شد ( توجه داشته باشید که این روش فقط برای پروتکل WWW قابل اجراست ولی جهت سرویس FTP قابل استفاده نمی‌باشد. ) همچنین باید توجه داشته باشید که ترانسپرنت نمودن پراکسی و اضافه نمودن احراز هویت که در مرحله قبل توضیح داده شد هر دو با هم امکان پذیر نیست.

    جهت نصب پراکسی به صورت ترانسپرنت شما به این موارد نیاز خواهید داشت :

    - یک قانون فایروال ( Rule ) و Redirect نمودن ترافیک خروجی شبکه به پراکسی سرور .

    - یک قانون Squid جهت فعال کردن Squid تا اینکه به صورت ترانسپرنت عمل نماید .

    جهت اجرای یک قانون فایروال شما به قانونی نظیر زیر احتیاج خواهید داشت :
    /sbin/ipchains -A input -p tcp -s 0/0 -d 0/0 80 -j REDIRECT 3128


    جهت iptables ( هسته 2.4 لینوکس 2.4 به بالا ) ممکن است شما مایل به نصب iptables مبنی بر فایروال در Squid باشید . در قستمی از نصب فایروال شما به ایجاد قانون DNAT جهت ارسال ترافیک بر روی پورت 80 به 3128 پراکسی سرور خواهید داشت . برای اطلاعات بیشتر جهت ایجاد قانون های NAT می توانید به وب سایت NET FILTER مراجعه کنید .

    تنظیمات مورد نیاز Squid جهت فعال کردن Squid به صورت ترانسپرنت در اینجا ذکر شده اند :
    httpd_accel_host virtual
    httpd_accel_port 80
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header on

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •