پرش به محتوا

مدیریت فایروال با firewalld

مفهوم zone در firewalld، باز کردن سرویس و پورت، و محدود کردن دسترسی به یک شبکه‌ی خاص.

Rocky Linux 9سطح: مقدماتیبرای: Rocky Linux 10، AlmaLinux 10، CentOS Stream 10، Rocky Linux 9، AlmaLinux 9به‌روزرسانی: ۱۶ آبان ۱۴۰۵

در خانواده‌ی RHEL (Rocky، Alma، CentOS Stream) فایروال پیش‌فرض firewalld است. هر کارت شبکه به یک zone تعلق دارد و قوانین روی zone تعریف می‌شوند.

۱. وضعیت فعلی

bash
sudo systemctl enable --now firewalld
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all

۲. باز کردن سرویس‌ها

bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

۳. باز کردن یک پورت مشخص

bash
sudo firewall-cmd --permanent --add-port=9013/tcp
sudo firewall-cmd --reload

۴. محدود کردن به یک شبکه با zone جداگانه

مثلاً پورت پایگاه داده فقط از شبکه‌ی سرورها در دسترس باشد:

bash
sudo firewall-cmd --permanent --new-zone=servers
sudo firewall-cmd --permanent --zone=servers --add-source=192.168.10.0/24
sudo firewall-cmd --permanent --zone=servers --add-port=5432/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --zone=servers --list-all

۵. حذف قانون

bash
sudo firewall-cmd --permanent --remove-service=http
sudo firewall-cmd --reload
بدون --permanent قانون فقط تا ری‌استارت بعدی معتبر است. این برای آزمایش مفید است: اول بدون آن امتحان کنید، بعد دائمی کنید.