افزودن نام دسترسی acl رد شد squid deny. Squid - فیلتر کردن URL را بر اساس لیست ها پیکربندی کنید. بهینه سازی منابع شبکه از طریق کش

بسیاری از مدیران سیستم با مشکل محدود کردن دسترسی کاربران به برخی منابع اینترنتی روبرو هستند. در بیشتر موارد، فیلتر کردن محتوای فشرده و پیچیده ضروری نیست، لیست های URL کاملاً کافی هستند. اجرای چنین روشی با استفاده از سرور پروکسی squid بدون درگیر کردن نرم افزار شخص ثالث کاملاً ممکن است.

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

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

در ادامه، فرض می‌کنیم که خواننده دارای مهارت‌های اولیه مدیریت لینوکس است. همچنین، به یاد داشته باشید که تمام دستورات زیر باید به عنوان superuser اجرا شوند.

اول از همه، اجازه دهید یک فایل لیست ایجاد کنیم. می توان آن را در هر جایی قرار داد، اما منطقی است که آن را در فهرست پیکربندی Squid قرار دهید - /etc/squid(یا /etc/squid3اگر از ماهی مرکب استفاده می کنید)

/etc/squid/blacklist را لمس کنید

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

Vk\.com
odnoklassniki\.ru

لطفاً توجه داشته باشید که نقطه در RegExp یک کاراکتر سرویس است و بنابراین باید با کاراکتر از آن خارج شود \ (اسلش).

در فایل کانفیگ squid ( /etc/squid/squid.conf) یک لیست acl ایجاد کنید که شامل میزبان یا کاربرانی است که فیلتر برای آنها انجام می شود.

Acl url_filtred src 10.0.0.100-10.0.0.199

در مورد ما، فیلتر کردن برای همه میزبان ها در محدوده آدرس 10.0.0.100-199 فعال است، یعنی. ما اینترنت را فقط برای گروه خاصی از کاربران فیلتر خواهیم کرد.

سپس لیست خود را اضافه می کنیم:

لیست سیاه Acl url_regex -i "/etc/squid/blacklist"

سوئیچ -i نشان می دهد که لیست به حروف بزرگ و کوچک حساس نیست.

حال به قسمت قوانین و قبل از قانون می رویم

Http_access به شبکه محلی اجازه می دهد

Http_access رد لیست سیاه url_filtred

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

ذخیره تغییرات و راه اندازی مجدد ماهی مرکب:

راه اندازی مجدد سرویس ماهی مرکب

بیایید سعی کنیم از یک سایت از لیست بازدید کنیم، اگر همه چیز به درستی انجام شود، یک پیام مرکب در مورد عدم دسترسی به این منبع را مشاهده خواهید کرد.

Squid یک راه حل رایج برای برنامه نویسان، مدیران سیستم و علاقه مندان به شبکه های کامپیوتری برای ایجاد و مدیریت یک سرور پراکسی کارآمد است. این برنامه به ویژه جذاب است زیرا چند پلتفرمی است. یعنی می توانید آن را هم بر روی لینوکس و سایر سیستم عامل های مربوط به معماری یونیکس و هم در ویندوز نصب و اجرا کنید. قابلیت های این ابزار برجسته ترین هستند. چگونه می توان از آنها استفاده کرد؟ آیا بسته به سیستم عامل خاص، ویژگی هایی در راه اندازی برنامه وجود دارد؟

اطلاعات کلی در مورد ماهی مرکب

ماهی مرکب چیست؟ این نام برای یک سرور پراکسی با کارایی بالا شناخته شده است که اغلب برای مشتریان وب استفاده می شود. با آن می توانید دسترسی همزمان به اینترنت را برای چندین کاربر سازماندهی کنید. یکی دیگر از ویژگی های قابل توجه Squid این است که می تواند پرس و جوهای مختلف را کش کند. این به شما امکان می دهد فایل ها را سریعتر دریافت کنید، زیرا نیازی به دانلود مجدد آنها از اینترنت ندارید. سرور پروکسی Squid همچنین می تواند سرعت کانال اینترنت را نسبت به بار واقعی تنظیم کند.

Squid برای استفاده در پلتفرم های یونیکس اقتباس شده است. با این حال، نسخه هایی از Squid برای ویندوز و بسیاری از سیستم عامل های محبوب دیگر وجود دارد. این برنامه مانند بسیاری از سیستم عامل های مبتنی بر مفهوم یونیکس رایگان است. این برنامه از FTP، SSL پشتیبانی می کند، به شما اجازه می دهد تا کنترل انعطاف پذیر بر روی دسترسی به فایل ها را پیکربندی کنید. Squid همچنین پرس و جوهای DNS را ذخیره می کند. در عین حال، می توانید یک پروکسی شفاف Squid را نیز پیکربندی کنید، یعنی سرور در قالبی کار می کند که کاربر نمی داند که از طریق آن به شبکه دسترسی دارد و نه مستقیم. بنابراین، Squid یک ابزار قدرتمند در دست یک مدیر سیستم یا ارائه دهنده خدمات ارتباطی است.

سودمندی عملی ماهی مرکب

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

ترکیب ماهی مرکب

راه حل مورد بحث از چندین جزء تشکیل شده است. در واقع یک بسته نرم افزاری است. در ساختار آن، برنامه ای وجود دارد که با آن سرور راه اندازی می شود و همچنین یک برنامه مکمل برای کار با DNS. ویژگی جالب آن این است که فرآیندهایی را راه‌اندازی می‌کند که هر کدام مستقل از دیگری عمل می‌کنند. این به شما اجازه می دهد تا تعامل سرور با DNS را بهینه کنید.

نصب برنامه

نصب Squid معمولاً ساده است. نصب برنامه در لینوکس بسیار آسان است: فقط دستور $ sudo apt-get install squid را وارد کنید.

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

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

توزیع سرور پروکسی تقریباً همیشه حاوی یک فایل پیکربندی مانند .conf است. این ابزار اصلی برای پیکربندی دسترسی به اینترنت از رایانه کاربر و سایر دستگاه‌های متصل به یک شبکه محلی در صورت فعال بودن Squid است.

تنظیم تفاوت های ظریف

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

در مورد لینوکس، می توان از آن برای برخی از رویه ها استفاده کرد. اما به طور کلی در این سیستم عامل و همچنین اگر سیستم عاملی که Squid روی آن پیکربندی شده ویندوز باشد، بیشتر از فایل squid.conf استفاده می شود. عبارات خاصی ("فرمان ها") را تجویز می کند که بر اساس آنها سرور اتصالات به شبکه را مدیریت می کند.

بنابراین، نحوه پیکربندی Squid را با جزئیات بیشتر در نظر بگیرید. اولین قدم این است که به کاربران شبکه اجازه دسترسی به سرور را بدهید. برای این کار در فایل squid.conf مقادیر مناسب را در http_port و همچنین در http_access قرار دهید. همچنین ایجاد یک لیست کنترل دسترسی یا ACL مفید است. تنظیمات http_port برای ما مهم است، زیرا هدف ما این است که Squid را فقط برای خدمت به گروه خاصی از رایانه‌ها آماده کنیم. به نوبه خود، پارامتری مانند http_access مهم است، زیرا با کمک آن می توانیم دسترسی به منابع شبکه خاص درخواست شده از آدرس های خاص را تنظیم کنیم (معیارهای دیگر نیز امکان پذیر است - پروتکل ها، پورت ها و سایر ویژگی های موجود در ACL) .

چگونه تنظیمات لازم را تنظیم کنیم؟ انجام این کار بسیار آسان است.

فرض کنید یک شبکه کامپیوتری ایجاد کرده ایم که محدوده آدرس آن از 192.168.0.1 شروع شده و به 192.168.0.254 ختم می شود. در این حالت، پارامتر زیر باید در تنظیمات ACL تنظیم شود: src 192.168.0.0/24. اگر باید پورت را پیکربندی کنیم، در فایل پیکربندی باید یک ورودی http_port 192.168.0.1 ایجاد کنیم (فقط آدرس IP صحیح را مشخص کنید) و شماره پورت را وارد کنید.

برای محدود کردن دسترسی به پروکسی ایجاد شده با Squid (بدون احتساب رایانه های موجود در شبکه محلی)، باید تغییراتی در http_access ایجاد کنید. این کار به سادگی انجام می شود - با کمک عبارات ("دستورات" - ما موافقت می کنیم که آنها را بنامیم که ، اگرچه به طور دقیق ، آنها در متن چنین نیستند ، اما در خط ترمینال کاملاً با آنها مطابقت دارند) به LocalNet و انکار همه بسیار مهم است که اولین پارامتر را بالاتر از پارامتر دوم قرار دهید، زیرا Squid آنها را یکی یکی می شناسد.

کار با ACL: ممانعت از دسترسی به سایت ها

در واقع تنظیمات دسترسی در Squid در محدوده بسیار وسیعی امکان پذیر است. مثال‌هایی را که در مدیریت شبکه‌های محلی مفید هستند، در نظر بگیرید.

عنصر src تقاضای زیادی دارد. با استفاده از آن، می توانید آدرس IP رایانه ای را که درخواست را به سرور پروکسی ارائه کرده است، تعمیر کنید. با ترکیب عنصر src با http_access، می‌توانید برای مثال اجازه دسترسی به شبکه را برای یک کاربر خاص بدهید، اما اقدامات مشابه را برای دیگران ممنوع کنید. این کار بسیار ساده انجام می شود.

ما ACL (نام گروه کاربر) src (فاصله آدرس های IP که تحت مقررات قرار می گیرند) می نویسیم. خط زیر ACL (نام یک کامپیوتر خاص) src (آدرس IP کامپیوتر مربوطه) است. پس از آن، ما با http_access کار می کنیم. ما اجازه ورود به شبکه را برای گروهی از کاربران و یک رایانه شخصی با استفاده از دستورات http_access اجازه دادیم. در خط زیر، رفع می کنیم که دسترسی به بقیه کامپیوترهای شبکه با دستور deny all بسته شده است.

راه اندازی یک پروکسی Squid همچنین شامل استفاده از عنصر مفید دیگری است که توسط سیستم کنترل دسترسی ارائه می شود - dst. این به شما امکان می دهد آدرس IP سروری را که کاربر پروکسی می خواهد به آن وصل شود را اصلاح کنید.

با کمک عنصر مورد نظر، می توانیم برای مثال دسترسی به یک زیرشبکه خاص را محدود کنیم. برای انجام این کار، می توانید از دستور ACL (نامگذاری شبکه) dst (آدرس IP زیرشبکه) استفاده کنید، خط زیر http_access deny (نام یک رایانه خاص در شبکه) است.

عنصر مفید دیگر dstdomain است. این به ما امکان می‌دهد دامنه‌ای را که کاربر می‌خواهد به آن متصل شود را تعمیر کنیم. با استفاده از عنصر مورد نظر، می توانیم دسترسی یک کاربر خاص، به عنوان مثال، به منابع اینترنتی خارجی را محدود کنیم. برای این کار می توانید از دستور ACL (گروه سایت) dstdomain (آدرس سایت) استفاده کنید، خط زیر http_access deny (نام کامپیوتر در شبکه) است.

عناصر قابل توجه دیگری در ساختار سیستم کنترل دسترسی وجود دارد. از جمله آنها SitesRegex است. با استفاده از این عبارت، می توانید دسترسی کاربر را به دامنه های اینترنتی حاوی یک کلمه خاص، به عنوان مثال نامه، محدود کنید (اگر وظیفه ممنوعیت دسترسی کارکنان شرکت به سرورهای ایمیل شخص ثالث است). برای انجام این کار، می‌توانید از دستور ACL SitesRegexMail dstdom_regex mail، سپس ACL SitesRegexComNet dstdom_regex \.com$ استفاده کنید (این بدان معناست که دسترسی برای نوع مربوطه دامنه‌ها ممنوع می‌شود). خط زیر http_accesss deny را نشان می دهد که نشان می دهد رایانه هایی که دسترسی به سرورهای ایمیل خارجی از آن ها نامطلوب است.

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

به عنوان مثال، با استفاده از دستور NoSwfFromMail url_regex -i mail.*\.swf$ ACL، ما توانایی دسترسی به سایت های ایمیلی که حاوی فیلم های فلش هستند را کنترل می کنیم. اگر نیازی به درج نام دامنه سایت در الگوریتم های دسترسی نباشد، می توان از عبارت urlpath_regex استفاده کرد. به عنوان مثال، در قالب دستور ACL media urlpath_regex -i \.wma$ \.mp3$.

عدم دسترسی به برنامه ها

پیکربندی Squid به شما امکان می دهد هنگام استفاده از منابع سرور پروکسی، دسترسی کاربر به برنامه های خاص را ممنوع کنید. برای این منظور می توان از دستور ACL (نام برنامه) پورت (فاصله پورت) استفاده کرد، خط زیر http_access deny all (نام برنامه) است.

درگیر کردن استانداردها و پروتکل ها

پیکربندی Squid همچنین به مدیر سیستم اجازه می دهد تا پروتکل ترجیحی را برای استفاده از کانال اینترنت تنظیم کند. به عنوان مثال، اگر نیاز باشد که شخصی از یک رایانه شخصی خاص از طریق پروتکل FTP به شبکه دسترسی داشته باشد، می توان از دستور زیر استفاده کرد: ACL ftpproto proto ftp، خط زیر http_access deny (نام رایانه) ftpproto است.

با عنصر متد می توانیم نحوه انجام درخواست HTTP را مشخص کنیم. 2 تا از آنها وجود دارد - GET و POST، اما در برخی موارد اولی ترجیح داده می شود، نه دومی، و بالعکس. به عنوان مثال، موقعیتی ممکن است که در آن یک کارمند خاص نباید نامه را از طریق mail.ru مشاهده کند، اما اگر شخصی بخواهد اخبار را در سایت مشخص شده بخواند، کارفرمای او مشکلی نخواهد داشت. برای انجام این کار، مدیر سیستم می تواند از دستور زیر استفاده کند: ACL sitemailru dstdomain .mail.ru، خط زیر ACL methodpost متد POST است، سپس http_access deny (نام کامپیوتر) methodpost sitemailru.

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

بیایید نگاهی به برخی از نکات کلیدی مخصوص پیکربندی Squid بیندازیم.

هنگام تنظیم به چه نکاتی باید توجه کرد؟

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

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

در برخی موارد، ممکن است لازم باشد که سرور پروکسی ارائه دهنده را در حین کار مشخص کنید. یک دستور cache_peer برای این کار وجود دارد. باید آن را به این صورت وارد کنید: cache_peer (آدرس سرور پروکسی ارائه دهنده).

در برخی موارد، تعیین میزان رم مورد استفاده Squid مفید است. این کار را می توان با دستور cache_mem انجام داد. همچنین تعیین دایرکتوری که داده های کش در آن ذخیره می شوند مفید است، این کار با استفاده از عبارت cache_dir انجام می شود. در حالت اول، کل دستور مانند cache_mem (مقدار RAM بر حسب بایت) و در حالت دوم، مانند cache_dir (آدرس دایرکتوری، تعداد مگابایت فضای دیسک) خواهد بود. توصیه می شود در صورت انتخاب، حافظه پنهان را روی دیسک هایی با بالاترین عملکرد قرار دهید.

ممکن است لازم باشد رایانه هایی را که به سرور پراکسی دسترسی دارند را مشخص کنید. این را می توان با استفاده از دستورات ACL مجاز میزبان هاست src (محدوده آدرس IP رایانه) و ACL localhost src (آدرس محلی) انجام داد.

اگر از پورت‌های SSL در اتصالات استفاده می‌شود، می‌توان با استفاده از دستور ACL پورت ssl_ports (پورت را مشخص کنید) آنها را برطرف کرد. در عین حال، می توانید استفاده از روش CONNECT را برای سایر پورت ها غیرفعال کنید، به جز مواردی که در اتصال امن SSL مشخص شده است. عبارت http_access deny CONNECT به انجام این کار کمک می کند! پورت های SSL

ماهی مرکب و pfSense

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

ابتدا باید روی رابط pfSense کار کنیم. Squid که قبلاً آن را پیکربندی کرده ایم، باید از طریق دستورات SSH نصب شود. این یکی از راحت ترین و امن ترین راه ها برای کار با سرورهای پروکسی است. برای این کار آیتم Enable را در اینترفیس فعال کنید برای یافتن آن باید آیتم منوی System و سپس Advanced و سپس Admin Access را انتخاب کنید.

پس از آن، شما باید PuTTY را دانلود کنید - یک برنامه کاربردی برای کار با SSH. بعد، با استفاده از کنسول، باید Squid را نصب کنید. این کار به راحتی با دستور -pkg install squid انجام می شود. پس از آن، باید پروکسی را نیز از طریق رابط وب pfSense تنظیم کنید. Squid (پارامترهای آن در این مرحله پیکربندی نشده اند) را می توان با انتخاب آیتم منو System، سپس Packages، بعد از - Available Packages نصب کرد. بسته Squid Stable باید در پنجره مناسب موجود باشد. آن را انتخاب می کنیم. شما باید تنظیمات زیر را تنظیم کنید: رابط پراکسی: LAN. در مقابل خط Transparent Proxy، می توانید کادر را علامت بزنید. ما آدرس را برای ورود انتخاب می کنیم و زبان روسی را به عنوان زبان ترجیحی علامت گذاری می کنیم. روی ذخیره کلیک کنید.

ابزار بهینه سازی منابع

راه اندازی Squid به مدیران سیستم اجازه می دهد تا منابع سرور را به طور موثر تخصیص دهند. یعنی در این مورد ما در مورد ممنوعیت دسترسی به هیچ سایتی صحبت نمی کنیم، با این حال، شدت فعال سازی کانال توسط یک کاربر یا گروه دیگر ممکن است نیاز به کنترل داشته باشد. برنامه مورد بررسی به ما این امکان را می دهد که این مشکل را از چند طریق حل کنیم. در مرحله اول، این استفاده از مکانیسم های ذخیره سازی است: به همین دلیل، بارگیری مجدد فایل ها از اینترنت مورد نیاز نیست، زیرا بار ترافیک کاهش می یابد. ثانیاً محدودیت دسترسی به شبکه در زمان است. ثالثاً، این تعیین مقادیر حدی برای سرعت تبادل داده در شبکه در رابطه با اقدامات کاربران خاص یا انواع خاصی از فایل های بارگیری شده است. بیایید این مکانیسم ها را با جزئیات بیشتری در نظر بگیریم.

بهینه سازی منابع شبکه از طریق کش

در ساختار ترافیک شبکه، انواع مختلفی از فایل ها وجود دارد که بدون تغییر استفاده می شوند. یعنی پس از بارگیری آنها در رایانه، کاربر ممکن است عملیات مربوطه را تکرار نکند. برنامه Squid امکان پیکربندی انعطاف پذیر مکانیزم شناسایی چنین فایل هایی توسط سرور را فراهم می کند.

یک گزینه نسبتا مفید از سرور پروکسی که ما در حال مطالعه آن هستیم، بررسی سن یک فایل در حافظه پنهان است. اشیایی که بیش از حد طولانی در ناحیه حافظه مربوطه هستند باید به روز شوند. این گزینه را می توان با استفاده از دستور refresh_pattern فعال کرد. بنابراین، عبارت کامل می‌تواند شبیه refresh_pattern باشد (حداقل مدت زمان - بر حسب دقیقه، حداکثر سهم فایل‌های "تازه" - در٪، حداکثر دوره). بر این اساس، اگر فایلی بیش از معیارهای مشخص شده در حافظه پنهان بوده است، ممکن است لازم باشد نسخه جدیدی از آن را دانلود کنید.

بهینه سازی منابع از طریق محدودیت های دسترسی زمان بندی شده

گزینه دیگری که به لطف قابلیت های Squid-Proxy قابل استفاده است، محدود کردن دسترسی کاربران به منابع شبکه در طول زمان است. با استفاده از یک دستور بسیار ساده تنظیم می شود: ACL (نام کامپیوتر) زمان (روز، ساعت، دقیقه). دسترسی را می توان برای هر روز از هفته با جایگزین کردن "روز" با حرف اول کلمه مربوط به نام آن در الفبای انگلیسی محدود کرد. به عنوان مثال، اگر دوشنبه باشد، M، اگر سه شنبه باشد، T. اگر دستور حاوی کلمه "روز" نباشد، ممنوعیت مربوطه برای کل هفته تنظیم می شود. جالب است که شما همچنین می توانید برنامه ورود به شبکه را که توسط کاربران با کمک برنامه های خاصی انجام می شود تنظیم کنید.

بهینه سازی منابع از طریق محدود کردن نرخ

یک گزینه نسبتاً رایج، بهینه سازی منابع با تنظیم نرخ مجاز تبادل داده در یک شبکه کامپیوتری است. پروکسی سروری که در حال مطالعه آن هستیم راحت ترین ابزار برای حل این مشکل است. تنظیم نرخ تبادل داده در شبکه با استفاده از پارامترهایی مانند delay_class، delay_parameters، delay_access و همچنین از طریق عنصر delay_pools انجام می شود. هر چهار مولفه برای حل مشکلاتی که مدیران سیستم از نظر بهینه سازی منابع شبکه محلی با آن مواجه هستند، اهمیت زیادی دارند.

مشکل از موارد زیر است. در شرکت AD، دسترسی به اینترنت از طریق یک پروکسی، یک DMZ وجود دارد. پروکسی و پورت آن در تنظیمات مرورگر، در قسمت _connections_ ثبت شده است. ISA 2006 برای دسترسی به DMZ استفاده می شود (Isa client 2004 دارم). ما از طریق ماهی مرکب به اینترنت می رویم.

پس از نصب ویندوز 7 (روی یک ماشین تمیز)، IExplorer طبق معمول پیکربندی شد، یک پروکسی و پورت ثبت کرد، اما IExplorer از آنلاین شدن خودداری کرد (بر این اساس، توانایی فعال سازی و دریافت به روز رسانی ها از بین می رود). هنگام راه اندازی، ورود و رمز عبور درخواست می شود، اما در پایان صفحه ای با پیام زیر دریافت می کنم:
==============================
خطا: دسترسی به حافظه پنهان رد شد.

خطا

دسترسی به حافظه پنهان رد شد

خطای زیر رخ داده است:

  • دسترسی به حافظه پنهان رد شد

با عرض پوزش، شما نمی توانید درخواست کنید:

http://go.microsoft.com/fwlink/؟ از این کش تا احراز هویت.

برای انجام این کار، به Netscape نسخه 2.0 یا بالاتر یا Microsoft Internet Explorer 3.0 یا یک مرورگر سازگار با HTTP/1.1 نیاز دارید. اگر با احراز هویت مشکل دارید یا رمز عبور پیش فرض خود را تغییر دهید، لطفاً با مدیر کش تماس بگیرید.


ایجاد شده پنجشنبه، 18 ژوئن 2009، 04:11:33 GMT توسط apk-proxy2.apk.gov (squid/2.6.STABLE18) ======================= =======

فایرفاکس این مشکل را ندارد.. من یک پروکسی را در تنظیمات مشخص کردم، لاگین و رمز عبور خود را وارد کردم و اینجا هستم که این نامه را می نویسم.
در XP و Vista هم همه چیز درست است .

من مجموعه های زیر را 7100 (روس)، 7201 قرار دادم، اکنون قیمت آن 7231 (روس) است - وضعیت تغییر نمی کند.

سوال این است که چه چیزی و کجا را بچرخانیم؟

دلیل ارسال این مقاله به شرح زیر است: اغلب در انجمن ها می بینم که چگونه TC نمونه هایی از تنظیمات خود را با یک mixmash هیولا ارائه می دهد. دستورالعمل های acl و http_access، به ویژه در موضوعات مربوط به مشکلات دسترسی به ماهی مرکب. هنگام راه اندازی هر سیستمی، سعی می کنم به نوعی نظم منطقی پایبند باشم. امروز سعی خواهم کرد آنچه را به شما منتقل کنم دستور http_accessنگه میدارم

ایده اصلی در عبارتی است که از کتابچه راهنمای ماهی مرکب برای http_access گرفته شده است:

اگر هیچ یک از خطوط «دسترسی» باعث تطابق نباشد، پیش‌فرض برعکس آخرین خط در لیست است. اگر خط آخر رد شد، پیش فرض مجاز است. برعکس، اگر خط آخر مجاز باشد، پیش فرض رد می شود. به این دلایل، ایده خوبی است که برای جلوگیری از سردرگمی احتمالی، یک ورودی "رد همه" در انتهای لیست های دسترسی داشته باشید.

به معنای واقعی کلمه زیر است:

اگر قانون "دسترسی" یافت نشد، قانون مقابل آخرین مورد در لیست به طور پیش فرض اعمال می شود. اگر آخرین قانون رد شود، اجازه به طور پیش فرض اعمال می شود. برعکس، اگر خط آخر مجاز باشد، پیش فرض رد می شود. بنابراین ایده خوبی است که برای جلوگیری از سوء تفاهم های احتمالی، یک قانون «انکار همه» در انتهای فهرست قوانین خود داشته باشید.

من قبلاً برخی از نکات و قوانین را در مقاله توضیح داده ام. اکنون سعی خواهم کرد که دیدگاه خود را بیان کنم سفارش acl و http_access. در حقیقت، دستور دستورالعمل های aclمطلقا مهم نیست نکته اصلی که acl قبل از قوانین http_access تعریف شد(من تاییدی برای این مورد در دفترچه راهنما پیدا نکردم، اما هنگام قرار دادن acl بعد از http_access، مشکلات دسترسی داشتم). من سعی می کنم acl را بر اساس همان انواع گروه بندی کنم.

تنظیم http_access در ماهی مرکب

دقیقا ترتیب قرار دادن دستورالعمل های http_accessتعیین می کند که آیا کلاینت به کش دسترسی خواهد داشت یا خیر. الگوریتم پردازش درخواست کش به شرح زیر است:

  1. هر درخواست به صورت متوالی با هر خط از قوانین http_access مقایسه می شود.
  2. تا زمانی که درخواست با یکی از قوانین دسترسی یا رد کردن مطابقت داشته باشد، از یک قانون به قانون دیگر پیروی می کند و اعتبار آن را تأیید می کند.
    اینجا همه چیز ساده است. بیایید به قوانین زیر نگاه کنیم:
  3. اگر چندین acl در http_access مشخص شده باشد، از یک AND منطقی استفاده می شود. مثال: http_access اجازه می دهد|عدم acl و acl و... یا http_access اجازه می دهد|عدم acl و acl و... یا
  4. اگر درخواست با هیچ قانونی مطابقت نداشته باشد، به طور پیش فرض، squid از قانون مخالف قانون آخر استفاده می کند. # ما یک قانون اجازه واحد برای برخی از کاربران acl داریم: http_access به کاربر # اجازه می دهد اگر هنگام دسترسی به squid، درخواست در این acl قرار نگرفت، عمل رد کردن روی آن اعمال می شود. # و اگر دو قانون داشته باشیم http_access به کاربر اجازه می دهد http_access deny user2 # و درخواست در هیچکدام از کاربران acl یا acl user2 قرار نگرفته باشد، اجازه به آن اعمال می شود. # یعنی عمل مخالف آخرین http_access deny user2

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

http_access تنظیم)

ما می دانیم که acls وجود دارد که از خارجی استفاده می کنند. یا ماژول های دیگر (به عنوان مثال، srcdomainو srcdom_regexنیاز به وضوح). از لحاظ نظری می توان نتیجه گرفت که داده های acl می تواند تا حدودی کندتر از acl src یا dst یا مشابه باشد. طبق ویکی، توسعه دهندگان acl سریع/آهسته را به گروه های زیر تقسیم می کنند (از squid 3.1.0.7):

بر این اساس، اگر ابتدا احکام منع را مشخص کنیم، به ویژه اگر آنها «سریع» باشند (مثلاً

Http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports

) سپس آنها خیلی سریع کار می کنند و بار را کاهش می دهند زیرا درخواست های کمتری با استفاده از احراز هویت به قوانین می رسند، آنهایی که واقعاً به آن نیاز دارند. بنابراین، سعی کنید قوانین deny http_access را با استفاده از acl بدون ماژول های خارجی تا حد امکان بالا قرار دهید، سپس قوانین اجازه را قرار دهید. خوب، آخرین فراموش نکنید که مشخص کنید همه را رد کنید (برای جلوگیری از سردرگمی بالقوه).

عیب یابی acl و http_access

اگر هنوز هنگام پیوند دادن دستورالعمل http_access مشکلاتی وجود دارد و کاربر مورد نظر دسترسی پیدا نمی کند، می توانید از . مثال:

Debug_Options ALL,1 33.2

پس از پیکربندی مجدد squid، cache.log شروع به حاوی پیام‌های مجوز دسترسی/انکار برای هر جلسه و نام acl می‌کند که بر اساس آن دسترسی داده می‌شود یا خیر. اگر این اطلاعات کافی نیست، می توانید جزئیات بیشتری را وارد کنید:

Debug_Options ALL,1 33.2 28.9

خلاصه

امروز ما به موضوع پیکربندی acl و http_access پرداختیم. منطق پردازش دستورالعمل های http_access و با برخی توصیه ها آشنا شد. شاید یکی از خوانندگان من را تصحیح کند که از این بابت بسیار سپاسگزار خواهم بود. علاوه بر این مقاله، توصیه می کنم http://wiki.squid-cache.org/SquidFaq/SquidAcl را مطالعه کنید.

با احترام، مک سیم!