یک اسکریپت Bash بنویسید که یک پورت TCP مشخص را به‌عنوان ورودی در iptables مجاز کند و تنها در صورتی قانون جدید اضافه کند که قبلا وجود نداشته باشد.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:24

0.0

اسکریپت باید شماره پورت را از آرگومان خط فرمان بگیرد، اعتبارسنجی عددی و بازهٔ 1–65535 انجام دهد، سپس با استفاده از iptables -C وجود قانون را چک کند و در صورت عدم وجود از iptables -A برای افزودن قاعدهٔ ACCEPT برای ترافیک ورودی TCP به آن پورت استفاده نماید؛ در پایان می‌توانید قوانین را با iptables-save ذخیره کنید یا از netfilter-persistent/iptables-persistent استفاده کنید. نکات: اسکریپت را با دسترسی root یا sudo اجرا کنید، از گزینه‌هایی مثل -m conntrack --ctstate NEW برای جلوگیری از اضافه شدن قوانین تکراریٔ ناخواسته بهره ببرید، پیام‌های خطا و موفقیت نمایش دهید و قبل از اعمال، خروجی iptables -L یا ss/netstat برای آزمون تغییرات بررسی شود.

توسط پژوهشگر در 221 روز قبل ساعت 01:24
دسته بندی ها: Bash Scripting Bash Scripting for beginner
sara در 221 روز قبل ساعت 13:22

برای جلوگیری از افزودن قوانین تکراری، ابتدا با iptables -C قانون مربوط به TCP روی پورت مشخص را بررسی کنید و در صورت نبودن، از iptables -A با گزینه‌های مناسب (مثلاً -m conntrack --ctstate NEW) استفاده کنید. برای جلوگیری از رقابت همزمان اسکریپت‌ها، استفاده از قفل فایل (flock) یا systemd-lock توصیه می‌شود. همچنین اگر قصد دارید پشتیبانی IPv6 را هم اضافه کنید، باید از ip6tables استفاده کنید یا نسخهٔ IPv6 را هم پیاده‌سازی کنید. در نهایت خروجی iptables-save یا netfilter-persistent را برای ماندگاری تغییرات بررسی کنید و پیام‌های واضحی در مورد موفقیت یا خطا نمایش دهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری