![]() |
| ||
| به انجمن Perisan Networks خوش آمدید. این انجمن محیطی برای بحث و تبادل نظر در مورد مسائل مختلف موجود در شبکه های کامپیوتری است. در این انجمن می توانید پرسشهای خود را مطرح نمایید و در مورد آنها با دیگران به تبادل نظر بپردازید، از تجربیات دیگران استفاده کنید و تجربیات و دانش خود را با دیگران به اشتراک بگذارید. مشاهده مطالب نوشته شده و خواندن نوشته های دیگران آزاد است، ولی برای دسترسی به تمامی قابلیتهای انجمن (نظیر نوشتن مطلب و دریافت فایل ها و ...) حتما باید ثبت نام کنید. پیش از ثبت نام قوانین انجمن به شما نمایش داده می شود، خواهشمندیم حتما با دقت قوانین را مطالعه فرمایید. برای ثبت نام در انجمن از این صفحه استفاده کنید. اگر در حین ثبت نام و یا ورود به انجمن با مشکلی مواجه شدید، از طریق این صفحه و با پر کردن فرم مربوطه به مدیر انجمن اطلاع دهید تا مشکلتان بررسی و برطرف گردد. |
| |||||||
| ثبت نام | قوانین انجمن | جستجو | نوشته های امروز | علامت گذاری انجمن ها به عنوان خوانده شده |
![]() |
| | LinkBack | امکانات بيشتر | جستجو در اين بحث | رتبه بدهيد | نحوه نمايش |
| | #1 (permalink) |
| (Mohammad Rasoul Rasti) Registered User Join Date: Feb 2004 Location: شهر گور نوشته ها: 3,791 Thanks: 310 Thanked 469 Times in 363 Posts Groans: 63 Groaned at 35 Times in 22 Posts | نصب و پیکربندی سرویس*دهنده Squid نصب و پیکربندی سرویس*دهنده Squid یک پراکسی سرور یک سرویس کارآمد جهت شبکه شما یا شبکه شما و اینترنت است که امنیت بالاتری را جهت کاربران اینترنت فراهم می کند و هم چنین می تواند بعنوان یک کش سرور هم استفاده شود که باعث بالا رفتن بازدهی سرور شما و سرعت آن در دسترسی به اینترنت می شود. Squid اولین برنامه Proxy-Cache با کارآیی بالا بود که به عنوان بخشی از پروژه ی Harvest توسعه داده شد. Squid به راحتی نصب می شود و فایل پیکربندی پیش فرض آن برای نود درصد نصب*ها درست است و نیازی نیست فایل را تغییر دهید و بهتر است بعضی انتخاب*ها مثل قوانین نوسازی را تا زمانی که تجربه ی کافی به دست نیاورده*اید، تغییر ندهید. در این مقاله بر روی انتخاب های پایه ی squidکار خواهیم کرد. در حقیقت در این مقاله انتخاب هایی را که در ده درصد ماشین های دیگر تغییر می کند، معرفی می*کنیم. نصب از طریق Pack جهت نصب Squid ابتدا اطمینان حاصل نمایید که شما بعنوان root وارد شده اید. سپس از فرمان rpm به صورت زیر استفاده کنید: # rpm –ivh /mnt/cdrom/RedHat/RPMS/squid-*.rpm شما در هنگام نصب تعداد زیادی از هش (#) را مشاهده می کنید که نشان از نصب squid دارد. برای نصب Squid در توزیع دبیان و توزیع*های مبتنی بر آن می*توانید از دستور apt-get install squid استفاده نمایید. نصب از طریق کد منبع اگر شما مایل به نصب squid از طریق فایل های source هستید، می*توانید این کار را جهت همه نسخه*های لینوکس انجام دهید. یادآور شوم که شما احتیاج به دریافت جدیدترین سورس پایدار squid از وب سایت آن هستید. سورس squid به صورت فایل فشرده شده tar است که شما احتیاج دارید ابتدا آن را غیر فشرده نمایید : # tar -zxf squid-2.3.STABLE4-src.tar.gz هنگامی که شما فایل فشرده tar را غیر فشرده نمودید شما از این طریق احتیاج به تنظیم و نصب Squid به صورت زیر دارید: # cd squid-2.3.STABLE4 # ./configure # make all # make install برای کسب اطلاعات بیشتر جهت نصب آن فایل INSTALL را که در سورس کد موجود است را می توانید مورد بررسی قرار دهید. تنظیم نمودن Squid همه تنظیمات این پراکسی سرور در فایل پیکربندی آن است ( squid.conf ) که بستگی به نسخه لینوکس شما ممکن است در مسیرusr/local/squid/etc/squid.conf/ یا etc/squid.conf/ یا etc/squid/squid.conf/ باشد. قبل از انجام هرکاری شما باید مسیر این فایل را در سیستم تان پیدا نمایید: # updatedb # locate squid.conf فایل پیکربندی Squid خود دارای صد و بیست وپنح برچسب جهت انجام تنظیمات است که ما در اینجا همه آن ها را پوشش نخواهیم داد و به اصلی ترین آن ها اشاره خواهیم نمود. شروع تنظیمات مقدماتی در فایل پیکربندی squid.conf تعداد زیادی توضیح وجود دارد که قابل استفاده هستند که در این حالت حجم فایل در حدود 76 کیلو بایت است که در صورت حذف این توضیحات حجم آن به 600 بایت کاهش می یابد! که در این صورت ویرایش آن از طریق ویرایش گرها آسان تر خواهد شد. تعیین درگاه squid در این مرحله آدرس درگاهی را که squid از آن به درخواست های سرویس*گیرنده*ها گوش می دهد را مشخص می کنیم: http_port 3128 در صورتی که squid cache ما به عنوان web server نیز عمل کند، شماره درگاه را 80 قرار می دهیم. همچنین می توان از چند درگاه برای این کار استفاده کرد: http_port 80 3128 تنظیم محل ذخیره objectهای Cache شده: cache_dir aufs /var/spool/squid/ 100 16 256 پارامتر اول نوع سیستم فابل جهت دایرکتوری ذخیره objectها را تعیین می کند. نوع قدیمی تر آن ufs می باشد. پارامتر دوم مسیر ذخیره داده*ها را مشخص می*کند. پارامتر سوم حجم داده*ها بر روی دیسک بر حسب (مگابایت) را مشخص می کند. پارامترهای چهارم و پنجم تعداد زیر شاخه ها (اولین و دومین رده) برای ایجاد در این شاخه را مشخص می*کنند. این کار جستجو برای یافتن یک object را راحتتر می کند. برای استفاده از دو هارد دیسک جهت ایجاد کارآیی بهتر و دسترسی سریعتر به صورت زیر عمل می کنیم: cache_dir /var/spool/squid/ 100 16 256 cache_dir /mnt/hdb2 100 16 256 /mnt/hdb2 نقطه اتصال هارد دیسک دوم است. ID قابل اجرای گروه و کاربر: Squid اگر به عنوان root شروع شود، تنها می تواند به پورت های شماره پایین (مثل پورت80 ) بچسبد. در ضمن از لحاظ امنیتی هم صحیح نیست که پروسه*ای به عنوان root در حال اجرا باشد. Squid به محض چسبیدن به پورت شبکه ID های گروه و کاربر را تغیر می دهد. این ID ها را به صورت زیر مشخص می کنیم: cache_effective_user squid cache_effective_group squid e-mail برای مدیر cache اگر Squid از کار بیفتد، یک e-mail به آدرس مشخص شده با برچسب cache_mgr ارسال می شود. همچنین این آدرس به انتهای صفحه های خطایی که به کاربران ارسال می*شود، اضافه می شود. (به حتم با این صفحات در ضمن کار با اینترنت در منزلتان برخورد کرده اید.) cache_mgr admin@domain.com اطلاعات FTP login FTP جهت انتقال فایل های تصدیق شده (فایل هایی که احتیاج به نام کاربر و کلمه عبور دارند) نوشته شده است. برای دسترسی عمومی، یک حساب کاربر مخصوص به نام کاربر anonymouse ساخته شده است. وقتی که شما به یک سرور FTP وارد می شوید، از آن به عنوان نام کاربری خود استفاده می کنید. به عنوان کلمه ی عبور هم از آدرس email خود استفاده کنید. Squid به شما اجازه می دهد که آدرس e-mail ی که به این منظور استفاده می شود را به وسیله ی برچسب ftp_user تنظیم کنید: frp_user squid@yourdomain.com کنترل دسترسی و عملگرهای کنترل دسترسی: access contro list یاACL جهت کنترل دسترسی به Cache مورد استفاده قرار می گیرد. در کنترل دسترسی دو عنصر وجود دارد: کلاس ها و عملگرها. کلاس ها: یک کلاس معمولا به مجموعه ای از کاربرها ارجاع داده می*شود. عملگرها: روی مجموعه ای از acl ها برای ICP و HTTP عمل می کند. یعنی شما می توانید مجموعه های مختلفی از پروتکل های مختلف داشته باشید. برای هر پروتکل یک acl_operator متفاوت وجود دارد. به عنوان مثال برچسب های icp_access و http_access و snmp_access. acl name type (string|”filename”) [string2][string3][“filename2”] -Name تعریف شده باید در فایل unique باشد. -String می تواند یک رشته از IPها باشد: acl mynet src 10.0.0.0/255.0.0.0 -اگر دو string را پشت سر هم بیاوریم آنها را با or جدا می کنیم: acl mynet src 10.0.0.0/255.0.0.0 10.1.0.0/255.255.0.0 -اگر String ها بسیار بزرگ باشند آنها را در یک فایل ذخیره کرده و سپس نام فایل را به جای String می آوریم. acl mynets src “/etc/squid/mynets” در زیر انواع مشهور ACL که کاربرد فراوانی دارند تشریح می کینم: 1. source/destination IP address تطابق آدرس های IP در محدوده ی تعریف شده که کلمات کلیدی src برای آدرس های مبدا و src برای مقصد استفاده می شوند: acl mynet src -------/-------- acl mynet dst -------/-------- نکته اینکه به جای ذکر فرمت استاندارد ماسک شبکه از فرمت غیر استاندارد، یعنی ذکر تعداد یک ها، استفاده کنید. مثال: acl mynet src 192.168.10.0/24 2. source/destination Domain address برای محدودیت دامنه ها به کار می رود. کلمات کلیدی srcdomain برای دامنه های مبدا و dstdomain برای دامنه های مقصد استفاده می شود. مثال: acl mydomain srcdomain .qualica.com .squid.cache.org نکته: برای مسدود کردن یک سایت باید هم domain و هم آدرس IP آن را مسدود کنید. 3. regular expression match of requested domain این نوع از ACLها برای مسدود کردن سایت هایی که حاوی کلمات خاصی است، استفاده می شود. البته این دستور case sensitive است و برای گریز از آن باید از پارامتر-i استفاده کنید. مثال: acl badurl url_regex –i sxx همچنین نوع دیگری به نام urlpath_regex وجود دارد که فقط مسیر و نام فایل را چک می*کند. 4. current day/time اجازه دسترسی در زمان خاص(روز-ساعت) acl name time [day-list][start_hour:start_minute-end_hour:end_minute] که روزهای هفته به صورت زیر است: S(Sunday), M, T, W, H, F, A(Saturday) مثال: acl night time 17:00-24:00 acl week time SA 5. Destination port برای تعریف مجموعه ای از پورت ها که قرار است به آنها دسترسی داشته باشید یا نداشته باشید.مثلا اگر بخواهیم دسترسی را فقط برای مجموعه خاصی از پورت ها تعریف کنیم به صورت زیر عمل می کنیم. مثال: acl safe_port port 80 21 443 70 210 1025-65535 http_access deny !safe_port 6. protocol برای مسدود کردن پروتکل ها با استفاده از پیشوند های سایت مثل http:// یا frp:// برای مثال: acl ftp proto FTP 7. method برای مسدود کردن methodها. مانند GET و POST. مثال: acl post_class method POST سایر ACL_OPERATOR هایی که در فایل squid.conf مورد استفاده قرار می گیرند: no_cache - برای جلوگیری از cache کردن موارد خاص. miss_access - اگر بخواهیم یک سری اطلاعات داخل cache را غیر قابل دسترس کنیم. مثالی از یک مجموعه acl و acl_operator: acl nimda urlpath_regex –i \.eml acl nimda2 urlpath_regex -i root.exe acl localhost src 127.0.0.1/36 acl all src 0.0.0.0/0.0.0.0 http_access deny nimda http_access deny nimda2 http_access allow localhost http_access deny all Logging - به طور پیش فرض Squid فعالیت های انجام شده را در چندین فایل ذخیره می*کند: 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 قابل دریافت هسنتد که از آنها می توان به قابل دریافت هسنتد که از آن ها می توان به اشاره نمود. (که با نام sqmgrlog شهرت دارد). برای مشاهده ی نحوه گزارشگیری Squid از دستور tail استفاده می کنیم. دستور tail محتویات یک فایل گزارش را بر روی صفحه نمایش چاپ می کند. # tail /var/log/squid/access.log برای انکه دستور tail را مجبور کنیداین عمل را به طور پیوسته انجام دهد از سوییچ –F استفاده کنید. اندکی در مورد 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 " و پورت 3130 "ICP"را مشخص می کند. اگر کش سرور شما پروتکل ICP را پشتیبانی نمیکند. از این خط استفاده نمایید: cache_peer proxy.yourisp.com parent 3128 7 no-query default prefer_direct off Sharing Caches - توجه داشته باشید که در مواقع ضروری که یک شرکت چندین ارتباط جهت دسترسی به اینترنت داشته باشد، Squid کش نمودن سرور ها در حالت اشتراک گذاری آن ها می*پذیرد ( بدین مفهوم که چندین کش سرور با هم ارتباط داشته باشند .) در این صورت باید هر کش سرور این خط را در فایل پیکربندی خود داشته باشد: cache_peer theotherproxy.yournetwork.com sibling 3128 3130 که اگر دقت نمایید یکی از پارامترها به sibling تغییر یافته بدین مفهوم که فایل های کش را چنانچه در کش سرور دیگر باشد آن ها را دریافت می کند. پراکسی به صورت ترانسپرنت ترانسپرنت نمودن پراکسی یک روش است که شما می*توانید که یک پراکسی سرور را بین شبکه و اینترنت بگذارید و بدون اینکه نیاز به تنظیمات خاصی باشد ما مستقیما به اینرنت وصل خواهیم گردید جهت نصب پراکسی به صورت ترانسپرنت شما به این چیزها احتیاج خواهید داشت : - یک قانون فایروال (rule) و Redirect نمودن ترافیک خروجی شبکه به پراکسی سرور. - یک قانون Squid جهت فعال کردن Squid تا اینکه به صورت ترانسپرنت عمل نماید. جهت اجرای یک قانون فایروال شما به قانونی نظیر زیر احتیاج خواهید داشت : # iptables –t nat –A PREROUTING –d 207.216.150.1 –p tcp –m tcp –dport 80 –j ACCEPT # iptables –t nat –A PREROUTING –p tcp –m tcp –dport 80 –j REDIRECT –-to-ports 3128 تنظیمات مورد احتیاج Squid جهت فعال کردن Squid به صورت ترانسپرنت در اینجا ذکر شده اند: httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on راه اندازی Squid: همانطور که اشاره شد هیچ مسیر پیش فرضی جهت دخیره داده ها برای Squid وجود ندارد و مسیر آن را قبلا در فایل squid.conf تعیین کرده ایم. اشیا download شده در شاخه های swap به صورت سلسه مراتبی ذخیره می*شوند. برای ساخت شاخه های swap به صورت دستی از دستور زیر استفاده می کنیم: # squid –z راه اندازی پراسس squid با دستور زیر انجام می شود: # squid –D –d 1 پارامتر –d 1 برای گزارش عملیات انجام شده مورد استفاده قرار می گیرد. حال می توانید از دستور tail برای تست کردن عملیات انجام شده استفاده کنید. نویسنده: ایرج هدایتی shotorbaan@yahoo.co.uk منبع:http://irantux.com/html/modules.php?...rtid=34&page=1 __________________ محمد رسول راستی www.Firoozabad.Com m_rasoul_rasti @ yahoo . com |
| | |
![]() |
| امکانات بيشتر | جستجو در اين بحث |
| نحوه نمايش | Rate This Thread |
| |
مطالب مشابه | ||||
| مطلب | آغازگر | انجمن | پاسخ | آخرین نوشته |
| Thin Client | mehdi0016 | مباحث عمومی شبکه -ا- | 17 | 2007-04-28 07:34 PM |
| Squid Proxy Server Config.... | saman_nn2000 | بحث و تبادل نظر پيرامون مقالات -ا- | 4 | 2006-06-05 12:40 AM |
| نصب squid مرحله به مرحله | ris1354 | Squid -ا- | 17 | 2006-05-18 12:20 PM |
| تنظیم Linux و Squid به عنوان Web Proxy | koorosh | Proxy / Cache / Firewall -ا- | 0 | 2005-03-26 11:18 AM |
| راهنماى نصب CacheXpress | MCP | Proxy / Cache / Firewall -ا- | 0 | 2004-10-21 11:09 AM |