راهنمای مقدماتی فایروال لینوکس با iptables – دستورات و نکات مهم پرینت


## 🔥 راهنمای مقدماتی فایروال لینوکس با `iptables` – دستورات و نکات مهم

`iptables` یکی از اصلی‌ترین ابزارهای مدیریت فایروال در لینوکس است که امکان **فیلتر کردن ترافیک شبکه، جلوگیری از حملات، محدودسازی دسترسی به پورت‌ها و مدیریت دقیق بسته‌های ورودی/خروجی** را فراهم می‌کند.

---

## 🧠 مقدمات اولیه

در iptables، قوانین به صورت زنجیره‌ای (chains) و جدول (tables) دسته‌بندی می‌شوند.

### 📋 جدول‌های مهم:

* `filter`: جدول پیش‌فرض برای فیلتر کردن بسته‌ها.
* `nat`: برای Network Address Translation، مثل port forwarding.
* `mangle`: تغییر در header بسته‌ها.
* `raw`: برای پردازش اولیه پیش از اعمال connection tracking.

### 🔗 زنجیره‌های اصلی:

* `INPUT`: ترافیکی که وارد سیستم می‌شود.
* `OUTPUT`: ترافیکی که از سیستم خارج می‌شود.
* `FORWARD`: ترافیکی که از سیستم عبور می‌کند (روتر/گیت‌وی).

---

## 🛠️ بررسی وضعیت فعلی iptables

```bash
sudo iptables -L -n -v
```

توضیحات:

* `-L`: لیست قوانین
* `-n`: نمایش IP به‌جای نام دامنه
* `-v`: حالت verbose

---

## ✅ دستورات پایه و پرکاربرد

### 1. اجازه‌دادن به SSH (پورت ۲۲)

```bash
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
```

### 2. اجازه به HTTP و HTTPS

```bash
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
```

### 3. مسدودسازی یک IP خاص

```bash
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
```

### 4. اجازه‌دادن به ترافیک لوکال

```bash
sudo iptables -A INPUT -i lo -j ACCEPT
```

---

## 🚫 سیاست پیش‌فرض (Default Policy)

برای تنظیم پیش‌فرض رد کردن تمام بسته‌ها:

```bash
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
```

---

## 🔄 حذف یا ویرایش قوانین

### مشاهده شماره قوانین:

```bash
sudo iptables -L --line-numbers
```

### حذف قانون خاص:

```bash
sudo iptables -D INPUT 2
```

---

## 💾 ذخیره‌سازی و اعمال دائمی قوانین

در برخی توزیع‌ها برای ذخیره iptables:

### Debian/Ubuntu:

```bash
sudo apt install iptables-persistent
sudo netfilter-persistent save
```

### RHEL/CentOS:

```bash
sudo service iptables save
```

یا:

```bash
sudo iptables-save > /etc/iptables/rules.v4
```

---

## 📦 ابزارهای مکمل

| ابزار | توضیح |
| ------------- | ---------------------------------------- |
| **ufw** | رابط ساده برای iptables (در اوبونتو) |
| **firewalld** | سیستم جدید مدیریت فایروال مبتنی بر zones |
| **nftables** | جایگزین آینده‌نگر برای iptables |

---

## 🧪 نمونه: فقط اجازه به پورت خاص و بلاک سایر ترافیک‌ها

```bash
sudo iptables -F # پاک‌کردن تمام قوانین
sudo iptables -P INPUT DROP # رد کردن پیش‌فرض
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # SSH
sudo iptables -A INPUT -i lo -j ACCEPT # Localhost
```

---

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

`iptables` یکی از مهم‌ترین ابزارهای امنیت شبکه در لینوکس است. با یادگیری نحوه نوشتن قوانین مناسب و ذخیره‌سازی آن‌ها، می‌توانید کنترل کامل و دقیق روی ترافیک شبکه‌تان داشته باشید.

 


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

  • 0
« برگشت