محدود کردن Web Connection های همزمان از یک کلاینت توسط اسکویید

توسط اسکویید و با استفاده از ACL به نام maxconn که تنها یک مقدار و آن هم تعداد اتصال های ممکن از سمت یک کلاینت (یا مجموعه کلاینت های یک شبکه مانند 192.168.1.0/24) برای Web Connection می توان یک محدودیت بر روی تعداد اتصال های همزمان ایجاد کرد. اگر بیش تعداد اتصال ها از سمت کلاینت بش از مقدار maxconn باشد، پیغام خطای “access denied.” نشان داده می شد. (البته قادر هستید با استفاده از ویژگی deny_info پیغام را سفارشی کنید. فایل squid.conf را با یک ویرایشگر متنی مانند vi باز کنید و دستورات زیر را در آن وارد کنید :

vi /etc/squid/squid.conf

دستور های زیر را از بالا به پایین در فایل squid.conf وارد کنید.

acl simulconn src 192.168.1.0/24

acl simulnum maxconn 5

http_access deny simulnum simulconn

  • خط نخست یک ACL از نوع src و به نام simulconn برای تعیین محدوده ی آدرس های کلاینت ها (در اینجا همه ی شبکه 192.168.1.0/24) استفاده شده است. شما می توانید یک یا چند کلاینت از یک شبکه (دو خط زیر) یا همه ی یک یا چند شبکه (خط سوم زیر) را تعیین کنید.

acl simulconn src 192.168.1.100

acl simulconn src 192.168.1.100-192.168.1.110

acl simulconn src 192.168.1.0/24 192.168.2.0/24

  • خط دوم یک ACL از نوع maxconn به نام simulnum که تعداد اتصال های همزمان ممکن از سمت یک کلاینت را تعیین می کند.
  • خط سوم نیز سیاست http_access deny را بر روی ACL های تعریف شده اعمال می کند. خط سوم را اینطور بخوانید ” اگر از سمت کلاینت های مشخص شده توسط simulconn بیش از مقدار simulnum درخواست اتصال داده شده، انها را رد کن و پیغام خطا (بصورت پیش فرض access denied یا سفارشی شده توسط ویژگی deny_info) را نشان بده”

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

etc/init.d/squid reload/