آموزش راه اندازی کش سرور Squid بصورت گام به گام و تصویری

چگونه Squid را نصب کنیم؟ چگونه Cache سرور راه اندازی کنیم؟ یکی از سرویس هایی که برای مدیران شبکه ضروری میباشد سرویس پروکسی میباشد که این امکان را به مدیران شبکه میدهد که بتوانند مدیریت بهتری روی درخواست های کاربران را داشته باشند . در این آموزش قصد داریم نصب و کانفیگ یکی از محبوبترین و بهترین نرم افزارهایی که میتوان با آن پروکسی سرور راه اندازی کرد به نام Squid را آموزش دهیم .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

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

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

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

ابتدا دستور زیر را وارد کنید تا پکیج 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 را خواهیم گفت .

آموزش راه اندازی کش سرور Squid قسمت 2 : Full Proxy و Cache سرور

در ادامه آموزش مربوط به squid , راه اندازی پروکسی سرور در حالت Full Proxy و Cache Server را خواهیم گفت .در ابتدا باید راجع به اینکه Full Proxy چیست یک توضیحی بدهیم : حالت Full Proxy به این صورت میباشد که کلاینت درون مرورگر خود یا درون نرم افزارهای Proxy Client آدرس پروکسی سرور را زده و به آن متصل خواهد شد , در این حالت کاربر متوجه خواهد شد که به پروکسی سرور متصل است .

Cache Server چیست؟

همانطور که از نام اون مشخصه کار Caching را برای ما انجام خواهد داد که Squid این قابلیت را به خوبی پشتیبانی میکند . به این صورت که به عنوان مثال کلاینت سایتی را درخواست میکند پروکسی سرور Object هایی که در وب سایت به عنوان Object های Static معرفی شده است را در دیسک خود ذخیره میکند و اگر کلاینت دیگری همین سایت را درخواست کند پروکسی سرور Object هایی که به صورت Static میباشند و در دیسک خود ذخیره کرده است را دیگر از سرور مقصد نخواهد گرفت و آنها را از Cache خود به کلاینت تحویل میدهد . این کار دو ویژگی مهم دارد :

  1. افزایش 30 تا 50 درصدی باز کردن صفحات سایت .
  2. مصرف کمتر پهنای باند

راه اندازی پروکسی سرور در حالت Full Proxy

نصب Squid را در جلسه اول توضیح دادیم .برای راه اندازی در حالت Full Proxy ابتدا فایل کانفیگ را با دستور

Vim /etc/squid/squid.conf

سپس در خطوط ابتدایی خطهایی که Access list جهت رنج شبکه میباشد را Comment کرده و رنج شبکه خود را وارد کنید . به عنوان مثال رنج شبکه من که قرار است از proxy serverاستفاده کنند 192.168.1.0/24 میباشد

# 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

توجه داشته باشید که در اینجا هر آی پی به غیر از این رنج به پروکسی سرور درخواست بفرستد جوابی نخواهد گرفت.گام بعدی مشخص کردن مسیر جهت Cache Server . جهت این کار خط 62 را از uncomment کنید .در اینجا میتوانید پارامتر ها را بسته به نیاز خود تغییر دهید . توضیح پارامتر ها در جلسه اول به صورت کامل گفته شده است.

# Uncomment and adjust the following to add a disk cache directory.
cache_dir ufs /var/spool/squid 100 16 256

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

cache deny all


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

visible_hostname centos7
آموزش راه اندازی Cache سرور Squid قسمت دوم : راه اندازی Squid در حالت Full Proxy و Cache Server


خب در اینجا تنظیمات مربوط به Squid ما برروی سرور به اتمام رسید .

  • نکته مهم : فایروال لینوکس به صورت پیش فرض روی سرور فعال میباشد و اجازه ارسال و دریافت پکت ها را از پورت 3128 نخواهد داد , جهت حل این مورد دستورات زیر را در پروکسی سرور خود وارد کنید .
firewall-cmd --zone=public --permanent  --add-service=squid

در Cent OS7 سرویس جدیدی به نام firewalld معرفی شده است که میتوان گفت جایگزین iptables شده است .تنظیمات مربوط به سرور به اتمام رسیده است و میتوانید با دستور زیر پروکسی سرور خود را راه اندازی کنید .

systemctl restart squid 

دستور زیر را هم جهت اینکه squid در زمان بوت به صورت اتومات فعال شود وارد کنید .

systemctl enable squid

تنظیمات مربوط به کلاینت

جهت استفاده از پروکسی سرور در کلاینت در مرورگر خود تغییرات زیر را اعمال کنید ، مرورگر من در اینجا فایرفاکس میباشد و آی پی سرور من 192.168.1.10 میباشد .ابتدا وارد صفحه تنظیمات شوید که در لینوکس از منوی Edit ---> Preferences و در ویندوز از منوی Tools ----> Option وارد تنظیمات شوید و طبق مراحل زیر جلو بروید

آموزش راه اندازی Cache سرور Squid قسمت دوم : راه اندازی Squid در حالت Full Proxy و Cache Server


آموزش راه اندازی Cache سرور Squid قسمت دوم : راه اندازی Squid در حالت Full Proxy و Cache Server

در اینجا فقط فایرفاکس از پروکسی سرور استفاده میکند و مابقی نرم افزارها به صورت عادی از اینترنت استفاده میکنند. جهت اینکه تمامی سیستم شما از پروکسی استفاده کند راه های مختلفی وجود دارد که مثلا در سیستم عامل لینوکس با استفاده از environment ها و در ویندوز نیز با استفاده از نرم افزارهایی مثل proxyfire میتوانید استفاده کنید .

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

بعد از اعمال کانفیگ ها میتوانید نام سایتی را وارد کرده تا ببینید که پروکسی سرور درست کار میکند یا خیر .

لاگ ها در Squid

برای دیدن لاگ در پروکسی سرور وارد مسیر زیر شوید

cd /var/log/squid

در اینجا 2 فایل خواهید دید :

access.log
cache.log

فایل access.log : این فایل شامل اطلاعات درخواست ها میباشد و میتوان گفت اصلی ترین فایل لاگ در Squid میباشد . Syntax این فایل به صورت زیر میباشد

Timestamp Elapsed Client Action/Code Size Method URI Ident Hierarchy/From Content
  • Timestamp : زمان بسته شدن سوکت میباشد در واقع زمانی که درخواست رفته است و جوابی دریافت کرده است که براساس میلی ثانیه از تاریخ ۱ ژانویه ۱۹۷۰ که مبدا تاریخ سیستم های یونیکسی میباشد محاسبه شده است .
  • Elapsed : براساس میلی ثانیه میباشد و زمانی است که از درخواست گذشته
  • Client : آی پی کلاینت درخواست کننده را مشخص کرده است
  • Action : مشخص کننده کاری میباشد که برروی درخواست صورت گرفته است
  • Code : منظور HTTP Reply Code میباشد .
  • Size : مقدار دیتا داده شده به کلاینت
  • Method : نوع درخواست میباشد .
  • URI :آدرس درخواست شده از سمت کلاینت میباشد
  • Ident : نتیجه بررسی RFC931/ident برای یوزر کلاینت میباشد که پروتکلی جهت احراز هویت است . در حالت پیش فرض غیرفعال میباشد و در لاگ با علامت − مشخص شده است .
  • Hierarchy : توضیحات راجع به اینکه Object درخواست شده چگونه و از کجا تحویل داده شده است به عنوان مثال از Cache داده شده یا مستقیم از سرور گرفته شده .
  • From : نشان دهنده IP سرور Object میباشد .
  • Content : نشان دهنده mime type درخواستی میباشد .
  • cache.log : نشان دهنده ارور های Squid میباشد و کارهای خاصی که انجام میدهد به عنوان مثال اگر دچار مشکلی شد اولین فایلی که نگاه خواهید کرد این فایل خواهد بود .


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

آموزش راه اندازی کش سرور Squid قسمت 3 : Basic Authentication

در بخش سوم آموزش های مربوط به Squid میخواهیم راه اندازی احراز هویت را آموزش بدیم .ابتدا باید پکیج httpd-tools را نصب کنیم که شامل یکسری ابزارهای امنیتی و مدیریتی میباشد که ما در اینجا فقط از htpasswd استفاده خواهیم کرد

sudo yum install httpd-tools

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

touch /etc/squid/.htpasswd
htpasswd  /etc/squid/.htpasswd test

در اینجا ما فایل دیتابیس را در مسیر etc squid ساختیم و یوزر تست را جهت استفاده از پروکسی سرور ایجاد کردیم . بعد از زدن دستورات یک پسورد هم وارد میکنیم . یوزر و پسورد در فایل htpasswd. ذخیره میشود.

آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate


آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate


آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate


بعد از ساخت دیتابیس به سراغ فایل کانفیگ Squid میرویم و دستورات زیر را وارد میکنیم

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Authenticate For Access Web 
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl password proxy_auth REQUIRED
http_access allow password
  • نکته مهم : توجه داشته باشید که این دستورات را در انتهای فایل اضافه نکنید زیرا عمل نخواهد کرد و بهتر است بعد از acl ها تعریف شود .

تحلیل دستورات

auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd

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

auth_param basic children 5

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

auth_param basic realm Authenticate For Access Proxy 

متنی که در صفحه Prompt یوزرنیم و پسورد نوشته میشود را مشخص میکند .

auth_param basic credentialsttl 2 hours

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

auth_param basic casesensitive off

حساسیت به حروف بزرگ و کوچک در مورد username

acl password proxy_auth REQUIRED
http_access allow password

Access List ها جهت اتصال به پروکسی . بعد از اعمال تنظیمات و ریستارت کردن سرویس squid از این پس هر کلاینتی بخواهد به پروکسی متصل شود از او یوزر و پسورد پرسیده خواهد شد .

آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate

از این به بعد در لاگ ها نیز Username ثبت خواهد شد .

tail -f /var/log/squid/access.log


آموزش راه اندازی Cache سرور Squid قسمت سوم : راه اندازی Basic Authenticate

آموزش راه اندازی کش سرور Squid قسمت 4 : حالت Trasparent

در این جلسه از آموزش Squid میخواهیم راه اندازی در حالت Transparent رو آموزش بدیم .اگر جلسه های قبلی رو مشاهده کرده باشید متوجه شدید که برای اینکه بتونیم از Proxy استفاده کنیم باید روی مرورگر کاربر آدرس و پورت پروکسی را وارد کنیم تا بتوان از اون استفاده کرد اما در حالت Transparent نیازی به این کار نخواهد بود .

البته این حالت معایبی هم دارد به عنوان مثال روی پورت ۴۴۳ یا HTTPS به خوبی کار نخواهد کرد و دلیل آن هم امنیت و احراز هویت در SSL میباشد که در اینجا به ما اجازه استفاده از این مورد را نخواهد داد . البته راه هایی برای این مورد وجود دارد که به موقع آن ها را نیز توضیح و آموزش خواهیم داد .جهت راه اندازی در حالت Transparent ما نیاز به یک روتر هم داریم که برروی آن بتوانیم Port Forwarding انجام دهیم که ما در اینجا از خود لینوکس استفاده میکنیم و ان را تبدیل به روتر میکنیم.

در شبکه های واقعی شما میتوانید Port Forwarding خود را روی Gateway شبکه خود انجام دهید که میتواند روتر میکروتیک و یا سیسکو و یا هر دیوایس دیگه باشه . توجه داشته باشید که در سرور لینوکس من ۲ کارت شبکه وجود دارد یکی برای اتصال به شبکه اینترنت و دیگری اتصال به شبکه داحلی که رنج آنها به صورت زیر میباشد

WAN
Interface Name : enp0s3
IP : 192.168.1.10
Network : 192.168.1.0/24

LAN 
Interface Name : enp0s8
IP : 192.168.10.10
Network : 192.168.10.0/24

راه اندازی روتر روی لینوکس

برای راه اندازی روتر برروی لینوکس ابتدا باید قابلیت فوروارد کردن IP را درسرورمان فعال کنیم .

echo 1 > /proc/sys/net/ipv4/ip_forward

البته این تنظیم بعد از ریستارت پاک خواهد شد و برای دائمی شدن باید در فایل etc//sysctl.conf اضافه کرد .

net.ipv4.ip_forward = 1

بعد از تغییرات بالا نیاز میباشد که NAT را در روتر سرور خودمان با استفاده از فایروال سرورمان راه اندازی کنیم جهت این کار کانفیگ های زیر را انجام دهید ؛

 firewall-cmd --zone=external --change-interface=enp0s3 --permanent
firewall-cmd --zone=external --add-masquerade --permanent

این کانفیگ ها مربوط به مباحث firewalld میباشد که سرویس جدیدی میباشد که از Centos7 جایگزین iptables شده است. در نظر داشته باشید که ما تا این مرحله یک روتر لینوکسی راه اندازی کرده ایم که اگر در کلاینتی آی پی سرور لینوکسی خود را یعنی 192.168.10.10 را به عنوان Gateway به بدهیم کلاینت ما میتواند از اینترنت استفاده کند . در مرحله بعدی باید بگوییم که درخواست هایی که به سمت پورت ۸۰ سرور ما می آیند به پورت ۳۱۲۸ که پورت Squid میباشد Forward شوند .

firewall-cmd  add-forward-port=port=80:proto=tcp:toport=3128:toaddr=192.168.10.10 --permanent

مرحله بعدی کانفیگ کردن خود Squid میباشد که برای اینکار وارد فایل کانفیگ Squid میشویم و در انتهای خطی که کانفیگ http_port 3128 وجود دارد کلمه transparent را وارد میکنیم .

آموزش راه اندازی Cache سرور Squid قسمت چهارم : راه اندازی Squid در حالت Transparent

بعد از این کار Squid را Reload کنید .

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

برای کانفیگ کلاینت نیز فقط کافیست Gateway را سرور لینوکس خود قرار دهید . 


نظرات