آموزش :: آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config
درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      مهرداد سامی
      امتیاز: 3917
      رتبه:109
      0
      9
      14
      87
      "Linux SysAdmin" پروفایل کاربر

      آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config

      تاریخ 33 ماه قبل
      نظرات 5
      بازدیدها 2647
      با سلام خدمت دوستان عزیز ..یکی از سرویس هایی که برای مدیران شبکه ضروری میباشد سرویس پروکسی میباشد که این امکان را به مدیران شبکه میدهد که بتوانند مدیریت بهتری روی درخواست های کاربران را داشته باشند . در این آموزش قصد داریم نصب و کانفیگ یکی از محبوبترین و بهترین نرم افزارهایی که میتوان با آن پروکسی سرور راه اندازی کرد به نام Squid را آموزش دهیم .

      پروکسی سرور چیست ؟


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

      نصب Squid


      ابتدا دستور زیر را وارد کنید تا پکیج Squid نصب شود
      sudo yum install squid
      

      جهت کانفیگ کردن Squid باید فایل squid.conf که فایل کانفیگ اصلی squid میباشد را ویرایش کرد ، برای ویرایش دستور زیر را وارد کنید
      sudo vim /etc/squid/squid.conf
      

      تحلیل فایل کانفیگ


      در ابتدای فایل کانفیگ های زیر را مشاهده خواهید کرد
      # Recommended minimum configuration:
      #
      
      # Example rule allowing access from your local networks.
      # Adapt to list your (internal) IP networks from where browsing
      # should be allowed
      acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
      acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
      acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
      acl localnet src fc00::/7       # RFC 4193 local private network range
      acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
      
      

      خطهایی که با acl شروع شده است جهت تعیین کردن دسترسی ها میباشد که چه آی پی هایی درخواست هایی را که میفرستند پروکسی سرور ما بپذیرد و پردازش انجام دهد که شما میتوانید جهت امنیت بیشتر خطهایی که از پیش نوشته شده را comment کنید و به صورت دستی یک Access list برای شبکه خودتان تعریف کنید
      # Recommended minimum configuration:
      #
      
      # Example rule allowing access from your local networks.
      # Adapt to list your (internal) IP networks from where browsing
      # should be allowed
      #acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
      #acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
      #acl localnet src 192.168.0.0/16        # RFC1918 possible internal network
      #acl localnet src fc00::/7       # RFC 4193 local private network range
      #acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
      acl localnet src 192.168.1.0/24
      
      
      در اینجا فقط رنج 192.168.1.1 تا 192.168.1.254 میتوانند درخواست خود را به پروکسی سرور ارسال کنند . در اینجا ما متغیر localnet را هم تعریف کرده ایم که در ادامه به آن میپردازیم.
      به همین صورت میتوانید Access list تعیین کنید .


      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
      
      #
      # Recommended minimum Access Permission configuration:
      #
      # Deny requests to certain unsafe ports
      http_access deny !Safe_ports
      
      # Deny CONNECT to other than secure SSL ports
      http_access deny CONNECT !SSL_ports
      
      

      در اینجا مشخص شده است که درخواست هایی که پورت مقصد آنها پورت های بالا میباشند مورد تحلیل قرار میگیرند . نحوه کار هم به این صورت است که ۲ متغیر تعریف شده به نام های SSLports و Safeports و شماره پورت ها داخل این متغیر ریحته شده است و در دو خط پایین فقط به این پورت ها اجازه دسترسی داده شده .

      # Only allow cachemgr access from localhost
      http_access allow localhost manager
      http_access deny manager
      
      

      در اینجا مشخص شده است که چه کسانی به Cachemanager دسترسی دارند که به صورت پیش فرض فقط localhost میباشد .Cache Manager : کامپوننتی میباشد در Squid که به ما گزارش ها و آمارهایی در مورد درخواست و کارهای Squid به صورت زنده به ما نمایش میدهد که ۲ ابزار برای اتصال به آن وجود دارد به نام های Cachmgr.cgi و Squidclient .

      # from where browsing should be allowed
      http_access allow localnet
      http_access allow localhost
      # And finally deny all other access to this proxy
      http_access deny all
      
      

      در اینجا متغیر گفته شده که localhost و رنج آی پی که در متغیر localnet ریخته شده است اجازه دسترسی به پروکسی سرور ما را دارند و در خط آخر هم گفته شده است که کسی به جز اینها نمیتواند وصل شود .

      # Squid normally listens to port 3128
      http_port 3128
      
      
      نشان دهنده اینکه Squid با چه پورتی در روی سیستم ما به درخواست ها گوش میکند .

      # Uncomment and adjust the following to add a disk cache directory.
      #cache_dir ufs /var/spool/squid 100 16 256
      
      
      مشخص کننده این میباشد که object هایی که Squid میخواهد Cache کند با چه متدی و در کدام دایرکتوری ذخیره شود .که در اینجا گفته شده با متد ufs و در دایرکتوری varspool/squid ذخیره شود و حجم آن ۱۰۰ مگابایت باشد و ابتدا ۱۶ دایرکتوری ساخته شود و در هر دایرکتوری ۲۵۶ دایرکتوری دیگر ساخته شود و در هر کدام از این فولدرها به ترتیب ذخیره سازی انجام شود .دلیل اینکار هم به این جهت میباشد که Cache Server ما سریعتر کار کند. زیرا اگر به عنوان مثال ۱۰۰۰ فایل داشته باشیم و آنهارا در چند دایرکتوری تقسیم کنیم نسبت به زمانی که در یک دایرکتوری قرار دهیم سریعتر سرچ میشود.

      # Leave coredumps in the first cache dir
      coredump_dir /var/spool/squid
      
      
      آدرس ذخیره سازی فایل های مربوط به Crash نرم افزار را مشخص میکند.

      # Add any of your own refresh_pattern entries above these.
      #
      refresh_pattern ^ftp:           1440    20%     10080
      refresh_pattern ^gopher:        1440    0%      1440
      refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
      refresh_pattern .               0       20%     4320
      
      

      refresh pattern مشخص کننده این میباشد که Object هایی که روی دیسک ذخیره شده و داخل Header خود زمانی جهت تاریخ انقضا تعیین نشده است تا چه مدتی Cache Server ما میتواند از آن استفاده کند .
      قاعده نوشتاری آن به صورت زیر میباشد
      refresh_pattern [-i] regex min percent max [options]
      

      • Regex : مشخص میکند که این قواعد روی چه Object هایی باید اعمال شود.
      • min : مدت زمان تازه بودن آن Object را مشخص میکند که برحسب دقیقه میباشد که زمانی که کلاینتی خواست از این Object استفاده کند این عدد مدنظر گرفته میشود که اگر مدت زمان ذخیره فایل کمتر از این باشد فایل تازه تلقی میگردد و تحویل کلاینت داده خواهد شد .
      • max : اگر مدت زمان ذخیره فایل از این عدد بیشتر بود فایل کهنه تلقی میگردد و سرور ما درخواست دیگری جهت دانلود این فایل به سرور مقصد ارسال خواهد کرد و بعد از دانلود فایل تحویل کلاینت میدهد .
      • percent : این عدد هم بر حسب درصد میباشد و زمانی به کار می آید که مدت ذخیره فایل در سرور ما مابین min و max باشد . در این حالت از lm-factor جهت محاسبه استفاده خواهد شد .

      در بخش دوم راه اندازی Squid در حالت Full Proxy به همراه Authentication را خواهیم گفت .

      پایان بخش اول
      مهرداد سامی
      موفق باشید
      برچسب ها
      ردیفعنوان
      1آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config
      2آموزش راه اندازی Cache سرور Squid قسمت دوم : راه اندازی Squid در حالت Full Proxy و Cache Server
      3آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate
      4آموزش راه اندازی Cache سرور Squid قسمت چهارم : راه اندازی Squid در حالت Transparent
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • مطلب خوبي بود بهتر هست اضافه كنم يكي از راه هاي ديگه نصب و مديريت آسان squid از طريق پنل webmin لينوكس هست كه فقط كافيه به اينترنت وصل باشيد و گزينه squid رو انتخاب كنيد و نصب رو بزنيد
        آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config

        آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config

        آموزش راه اندازی Cache سرور Squid قسمت اول : نصب Squid و تحلیل فایل config

      • مهرداد جان خیلی خوبه ، منتظر مطالب جدیدت هستیم و استفاده می کنیم
      • مهرداد جان بحث و آموزش خیلی خوبی رو شروع کردی امیدوارم تخصصی تر و مطالب بیشتری در خصوص این نوع پروکسی ها بر روی سایت بزاری من به شخصه خیلی مشتاق یادگیری جزییات این بحث هستم و فکر میکنم واقعا هر مهندس کامپیوتر حتما باید اطلاعات عملی کاملی از این نوع موضوع ها داشته باشه
        منتظر مطالب بعدی شما هستیم..
      • ممنون از نظرت بهروز جان ....
        من هم خودم همین قصد رو دارم که جزییات این بحث رو هم مطرح کنم و تا جایی که میتونم کامل و جامع توضیح بدم ....

        بازم ممنون ....
      • سلام ممنون بابت اموزشتون
        طبق اموزشتون پیش رفتم و squid را نصب و کانفیگ کردم ولی وقتی میخوام استفاده کنم با این ارور مواجه میشم :

        The following error was encountered while trying to retrieve the URL: http://www.google.com/

        Access Denied.

        Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

        اسکرین شات از ارور squid server




        Your cache administrator is root.

      برای ارسال نظر ابتدا به سایت وارد شوید