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