آموزش پیکربندی FirewallD در لینوکس – گام به گام پرینت


## 🔥 آموزش پیکربندی FirewallD در لینوکس – گام به گام

`FirewallD` ابزار مدیریت فایروال مبتنی بر **zones** و **services** است که به‌صورت **داینامیک** عمل می‌کند و جایگزین مدرن‌تری برای `iptables` در بسیاری از توزیع‌های لینوکس (مثل RHEL, CentOS, Fedora و Rocky) محسوب می‌شود.

---

## 🧠 تفاوت FirewallD با iptables چیست؟

* پشتیبانی از **zones** برای دسته‌بندی سطح امنیتی شبکه‌ها
* قابلیت **تغییر قوانین بدون نیاز به ریستارت**
* رابط کاربری خط فرمان (`firewall-cmd`) و گرافیکی (`firewall-config`)
* پشتیبانی از **rich rules** برای قوانین پیچیده‌تر

---

## ⚙️ نصب و فعال‌سازی FirewallD

### 📦 نصب (در صورت نیاز)

```bash
# برای RHEL/CentOS/Fedora
sudo yum install firewalld

# برای Ubuntu (در برخی نسخه‌ها)
sudo apt install firewalld
```

### 🟢 فعال‌سازی و اجرا

```bash
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo systemctl status firewalld
```

---

## 🧱 مفاهیم کلیدی در FirewallD

* **Zone:** سطح امنیتی یا نقش اتصال شبکه (trusted, public, home, block...)
* **Service:** مجموعه‌ای از قوانین پیش‌تعریف‌شده برای پورت‌ها (مانند ssh، http، https)
* **Rich Rule:** قوانین سفارشی پیشرفته

---

## 📍 بررسی وضعیت فایروال و zone فعال

```bash
sudo firewall-cmd --state
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --get-active-zones
```

---

## 🔧 تنظیم zone پیش‌فرض

```bash
sudo firewall-cmd --set-default-zone=public
```

---

## ✅ اضافه‌کردن و حذف سرویس‌ها

### اضافه‌کردن SSH به zone فعلی (در لحظه)

```bash
sudo firewall-cmd --add-service=ssh
```

### اضافه‌کردن دائمی:

```bash
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
```

### حذف سرویس:

```bash
sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload
```

---

## 🔢 مدیریت پورت‌ها

### اضافه‌کردن یک پورت:

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

### حذف پورت:

```bash
sudo firewall-cmd --permanent --remove-port=8080/tcp
```

---

## 🧪 افزودن قوانین پیشرفته (Rich Rules)

مثال: فقط اجازه به SSH از یک IP خاص:

```bash
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'
sudo firewall-cmd --reload
```

---

## 📄 فهرست تمام zoneها و قوانین آن‌ها

```bash
sudo firewall-cmd --list-all
sudo firewall-cmd --list-all-zones
```

---

## 🔒 بلاک کردن همه چیز به‌جز یک پورت خاص

```bash
sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --permanent --zone=public --add-port=2022/tcp
sudo firewall-cmd --reload
```

---

## 💾 بازنشانی به تنظیمات اولیه

```bash
sudo firewall-cmd --complete-reload
sudo firewall-cmd --permanent --reset-default-zone
```

---

## 🎯 نتیجه‌گیری

`FirewallD` مدیریت فایروال را ساده، ساخت‌یافته و قابل تنظیم برای محیط‌های حرفه‌ای‌تر کرده است. استفاده از zones و rich rules امنیت سیستم شما را تا حد زیادی افزایش خواهد داد.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت