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

کمک و پشتیبانی => شبکه و سرویس‌ دهنده‌ها => نویسنده: hshadmehr در 02 آبان 1395، 09:17 ب‌ظ

عنوان: محدودیت زمانی در iptables
ارسال شده توسط: hshadmehr در 02 آبان 1395، 09:17 ب‌ظ
سلام دوستان
من نیاز دارم درخواست های http رو برای سیستمم در شبکه بلاک کنم منتها میخوام این اتفاق در ساعات اداری یعنی بین ۸ تا ۱۶ اتفاق بیفته و بعد از اون امکان درخواست وجود داشته باشه.
دقیقا الان نمیدونم برای گذاشتن محدودیت زمانی در قوانین iptables باید از چه دستوری استفاده کنم. ممکنه من رو راهنمایی کنید.
پیشاپیش سپاسگذارم
عنوان: پاسخ : محدودیت زمانی در iptables
ارسال شده توسط: B در 02 آبان 1395، 09:41 ب‌ظ
ساره ترین راه اینه که دوتا اکسریپت بنویسی؛ یکی محدود ایجاد میکنه و دیگری محدودیت رو بر میداره

و توسط cron هرروز ساعت ۸ صبح اسکریپت اول رو اجرا کنه و هرروز ساعت ۱۶ اسکریپت دوم
---------

این رو هم همین الان پیدا کردم:
sudo iptables -A FORWARD -d 10.0.0.2 -m time --timestart 10:00 --timestop 20:00 --weekdays Sun,Mon,Tue,Wed,Thu,Fri -j DROP
 تست کنید ببینید کار میکنه
منبع (http://serverfault.com/questions/707046/iptables-time-based-rules-having-no-effect-gateway-with-2-nics)
عنوان: پاسخ : محدودیت زمانی در iptables
ارسال شده توسط: hshadmehr در 04 آبان 1395، 06:47 ب‌ظ
سلام دوست عزیز
عذر میخوام که دیر جواب میدم اینقدر توی انجمن ها پاسخ ندادن که فکر نمیکردم به این زودی جواب بدید. دستوری رو که گفتید قبلا تست کردم ولی جواب نمیده من از این دستور استفاده میکنم ممکنه بگید کجای کارم ایراد داره؟

sudo iptables -A OUTPUT -p tcp --sport 80 -m time --timestart 8:00 --timestop 16:00 -j DROP
sudo iptables -A INPUT -p tcp --dport 80 -m time --timestart 8:00 --timestop 16:00 -j DROP

یک بار هم همینارو با برای پورت ۴۴۳ می نویسم. قوانین به iptables اضافه میشن اما جواب نمبدن. اصلا چطوری باید تستشون کنم؟
ممنونم
عنوان: پاسخ : محدودیت زمانی در iptables
ارسال شده توسط: B در 04 آبان 1395، 11:17 ب‌ظ
اول از همه تمام رول‌ها رو پاک کنید:
https://gist.github.com/babyy/194794b086cea3bc3b72a46690f094fd
و بعدش رول‌هاتون رو اضافه کنید

و همچنین رولهایی که نوشتین فقط برای عدم خدمات دهی سرور وب شما هست! (یعنی شما مب سرور دارید و با این دستورات دیگران نمیتونند از خدمات شما استفاده کنند)


اگه شما میخوایید دیگران در ساعات اداری نتونند از هیچ وب سایتی استفاده کنند؛ باید در دستورات زیر جای dport و sport رو عوض کنید و بعد تست کنید
که البته به این شرط امکان پذیر هست؛ که کلیه ترافیک کارکنانتون از همین سیستمی که رول‌ها رو دارین توش استفاده میکنید رد بشه

روش تست اینطویه که در زمانی که دارید تست میکنید "ساعت" رو در دستورات زیر تغییر بدید
مثلا ساعت ۶ دارید تست میکنید؛ رولهای رو جوری بنویسی از ساعت ۵ تا ۷ هیچ سایتی باز نکنه؛ بعد تست کنید که اگه سایتی باز نکرد یعنی دستورات کار میکنه ..


----
اگه به هر دلیلی تستون جواب نداد
دستوراتتون؛ ساعتی که تست کردید؛ و همچنین خروجی iptables -L -n رو بذارید و تشریح اینکه جطوری تست کردید رو بذارید