انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: محدود کردن تعداد درخواست‌های یک آی‌پی  (دفعات بازدید: 1715 بار)

0 کاربر و 3 مهمان درحال مشاهده موضوع.

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
سلام دوستان!
من امروز متوجه یک اشکال بزرگ توی وی‌پی‌اس شدم و اون این‌که وقتی دستم رو برای چند ثانیه روی کلید f5 نگه داشتم سرور پوکید!  :o
و کلا تنها کاری که تونستم بکنم خاموش کردن سخت افزاری بود که خودش باعث مشکلاتی شد و کلی وقتمو گرفت برای فیکسش!

خب سوالم اینه راهی وجود داره که از تو سرور تعداد درخواست‌ها رو محدود کنم؟
مثلا هر آی‌پی بتونه توی هر ثانیه ۳ تا درخواست داشته باشه؟!

آفلاین wolfeyesh

  • Full Member
  • *
  • ارسال: 169
یعنی توی ۳ثانیه به لینک وصل شه , لینک بعدی ۳ ثانیه؟
دست هایی که کمک می کنند , از دست هایی که دعا می کنند , بیشتر ارزش دارند ؛ کوروش بزرگ

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
یعنی توی ۳ثانیه به لینک وصل شه , لینک بعدی ۳ ثانیه؟
یعنی در هر ثانیه بتونه ۳ درخواست ارسال کنه.
یا سرور برای هر آی پی ۳ درخواست در هر ثانیه رو انجام بده.

آفلاین wolfeyesh

  • Full Member
  • *
  • ارسال: 169
یعنی توی ۳ثانیه به لینک وصل شه , لینک بعدی ۳ ثانیه؟
یعنی در هر ثانیه بتونه ۳ درخواست ارسال کنه.
یا سرور برای هر آی پی ۳ درخواست در هر ثانیه رو انجام بده.
فکر نکنم رو vps بشه , خیلی وقت پیش با vps کار کردم , شاید بشه
دست هایی که کمک می کنند , از دست هایی که دعا می کنند , بیشتر ارزش دارند ؛ کوروش بزرگ

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
اینو که خودمم می‌دونم!
روشش چطوریه؟!

آفلاین wolfeyesh

  • Full Member
  • *
  • ارسال: 169
اینو که خودمم می‌دونم!
روشش چطوریه؟!
یادم بود می گفتم
دست هایی که کمک می کنند , از دست هایی که دعا می کنند , بیشتر ارزش دارند ؛ کوروش بزرگ

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
این کار به دو روش میشه انجام داد :
1- توسط سرویسی که خود اون ایپی داره ازش استفاده میکنه . مثلا اگر اپاچی باشه میشه براش مد bw رو نصب کرد و تعداد کانکشن رو محدود کرد . تو squid هم این کار رو میشه کرد.
2- توسط iptables که فکر کنم اصولی تر باشه.
http://www.cyberciti.biz/faq/iptables-connection-limits-howto/

------------------
vps یا vds با یک سیستم غیر مجازی فرقی نداره فقط فرقشون تو منابعی هست که بهشون اختصاص داده میشه همه کاری که رو سیستم معمولی میشه انجام داد رو سیستم مجازی هم میشه انجام داد به غیر چیزایی که به گرافیک احتیاج مبرم دارن.

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
این کار به دو روش میشه انجام داد :
1- توسط سرویسی که خود اون ایپی داره ازش استفاده میکنه . مثلا اگر اپاچی باشه میشه براش مد bw رو نصب کرد و تعداد کانکشن رو محدود کرد . تو squid هم این کار رو میشه کرد.
2- توسط iptables که فکر کنم اصولی تر باشه.
http://www.cyberciti.biz/faq/iptables-connection-limits-howto/

------------------
vps یا vds با یک سیستم غیر مجازی فرقی نداره فقط فرقشون تو منابعی هست که بهشون اختصاص داده میشه همه کاری که رو سیستم معمولی میشه انجام داد رو سیستم مجازی هم میشه انجام داد به غیر چیزایی که به گرافیک احتیاج مبرم دارن.
++
مثل همیشه عالی!
فقط این iptables باید یه فایلی رو ادیت کنم؟!
چون این مثالی که زده بود نگفته باید فایل خاصی رو ادیت کنم.
ضمنا توزیع cent os هست.
بعد من از توی کنترل پنل تنظیمات فایروال رو می تونم ست کنم.
ولی همه چیز قابل ادیت نیست!  :(
اینو نگاه کنین:
صفحه اصلی فایروال
صفحه ادیت
فقط اونا که توی textbox هستن قابل تغییر هست!
اگه اون فایل مورد نظر رو آدرسشو بگین می‌تونم با استفاده از vnc ادیت کنم.
با تشکر!
« آخرین ویرایش: 18 مهر 1391، 08:20 ب‌ظ توسط Matrix.1372 »

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4868
  • جنسیت : پسر
  • masoft قدیم
mod_evasive رو برای Apache نصب و تنظیم بکن، مشکل حل میشه. در هر صورت چیزی مثل Apache می‌تونه کمی برای VPS سنگین باشه و من عموما چیزی مثل Lighttpd رو VPSها پیشنهاد می‌کنم. البته عموما Control Panelها از اون پشتیبانی نمی‌کنند :)

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
حقیقتش با direct admin کار نکردم . تو این جا بپرسین بهتر کمک میکنن:
webhostingtalk.com

--------------------------
از فایروال cfs دارین استفاده میکنین کار باهاشو بلد نیستم این جارو نگاه کنین :
http://forum.configserver.com/viewtopic.php?t=513
اینو گفته :
You can add custom rules to be defined before or after csf configures iptables by creating the files /etc/csf/csfpre.sh and /etc/csf/csfpost.sh and adding the iptables commands into one or the other.
----------------------
iptables یک دستوره که باهاش تنظیمات رو انجام میدین فایلی برایه ادیت نداره بعد با هربار ریست تنظیماتش پاک میشه که برایه برگرداندk رول ها باز باید یک فایل رو تو رانلول ها تنظیم کنین. دستورات iptables بین توزیع هایه مختلف یکی هستش . برایه تنظیم کردنش احتیاج به دسترسی به ترمینال با کاربر ریشه دارین

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
نقل‌قول
mod_evasive رو برای Apache نصب و تنظیم بکن، مشکل حل میشه. در هر صورت چیزی مثل Apache می‌تونه کمی برای VPS سنگین باشه و من عموما چیزی مثل Lighttpd رو VPSها پیشنهاد می‌کنم. البته عموما Control Panelها از اون پشتیبانی نمی‌کنند :)
++
ممنون از راهنمایی!
vps من رمش ۲۵۶ هست و فک کنم آپاچی یه مقدار براش سنگین باشه!
راستی! مگه اوبونتو و دبیان حافظه کمتری نسبت به cent os اشغال نمی‌کنن؟
ولی اونجایی که vps خریدم گفت با توجه به رم بهتره cent os نصب کنم.

حقیقتش با direct admin کار نکردم . تو این جا بپرسین بهتر کمک میکنن:
webhostingtalk.com

--------------------------
از فایروال cfs دارین استفاده میکنین کار باهاشو بلد نیستم این جارو نگاه کنین :
http://forum.configserver.com/viewtopic.php?t=513
اینو گفته :
You can add custom rules to be defined before or after csf configures iptables by creating the files /etc/csf/csfpre.sh and /etc/csf/csfpost.sh and adding the iptables commands into one or the other.
----------------------
iptables یک دستوره که باهاش تنظیمات رو انجام میدین فایلی برایه ادیت نداره بعد با هربار ریست تنظیماتش پاک میشه که برایه برگرداندk رول ها باز باید یک فایل رو تو رانلول ها تنظیم کنین. دستورات iptables بین توزیع هایه مختلف یکی هستش . برایه تنظیم کردنش احتیاج به دسترسی به ترمینال با کاربر ریشه دارین

ممنون از این‌که این‌همه پیگیر هستین!
حتما تست می‌کنم و نتیجه رو اعلام می‌کنم.
ممکنم هست که مد evasive رو در پایان اعمال کنم!

آفلاین Matrix.1372

  • High Hero Member
  • *
  • ارسال: 1966
  • جنسیت : پسر
  • Ma3x
    • Ma3x
نقل‌قول
iptables یک دستوره که باهاش تنظیمات رو انجام میدین فایلی برایه ادیت نداره بعد با هربار ریست تنظیماتش پاک میشه که برایه برگرداندk رول ها باز باید یک فایل رو تو رانلول ها تنظیم کنین. دستورات iptables بین توزیع هایه مختلف یکی هستش . برایه تنظیم کردنش احتیاج به دسترسی به ترمینال با کاربر ریشه دارین

خب اول از همه این‌که من دسترسی ریشه دارم و از vnc استفاده می‌کنم.
شما می‌تونی یه لطفی بکنی اسکریپتشو برام بنویسی؟!  :-X
قرار هست که سرور برای هر آی‌پی در هر ثانیه تنها ۳ درخواست رو پردازش کنه!
طبق اون لینکی که لطف کردین فک کنم اینطوری باید ست بشه:
#!/bin/bash
IPT=/sbin/iptables
# Max connection in seconds
SECONDS=1
# Max connections per IP
BLOCKCOUNT=3
# ....
# ..
# default action can be DROP or REJECT
DACTION="DROP"
$IPT -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
$IPT -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds ${SECONDS} --hitcount ${BLOCKCOUNT} -j ${DACTION}
# ....
# ..
توی رانلود ها چه تغییری باید اعمال کنم؟!
یه چیزی مربوط به کد این‌که فولدری که توی خط دوم آدرس داده در واقع وجود نداره!

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
من با غیر دبیان بیس کار نکردم برا رانلول که بلد نیستم ولی این جا توضیح داده:
http://www.cyberciti.biz/faq/rhel5-update-rcd-command/
احتیاج به اسکریپت نوشتن نیست. خود رول هایه iptables مد نظرتون رو تو یک فایل ذخیره کنید.(هر رول تو یک خط) بعد به اون فایل قابلیت اجرایی بدین بعد اون فایل رو تنظیم کنین که موقع بالا امدنسیستم اجرا بشه.