آموزش Shorewall – فایروال سطح بالا برای پیکربندی سرورهای لینوکس پرینت


 

# 🛡️ آموزش Shorewall – فایروال سطح بالا برای پیکربندی سرورهای لینوکس

**Shorewall – A High-Level Firewall for Configuring Linux Servers**

---

## 🔰 Shorewall چیست؟

**Shorewall** یا **Shoreline Firewall** یک فایروال سطح بالا (High-Level Firewall) برای لینوکس است که بر پایه‌ی **iptables** ساخته شده. این ابزار به مدیران سیستم اجازه می‌دهد تا بدون نیاز به نوشتن قوانین پیچیده iptables، فایروال بسیار قدرتمند و منعطفی را پیکربندی کنند.

---

## ✅ ویژگی‌های کلیدی Shorewall

* پشتیبانی از **Zones** (مناطق شبکه‌ای مانند LAN، WAN، DMZ)
* رابط متنی ساده و قابل‌فهم
* پشتیبانی از **NAT, Port Forwarding, Traffic Shaping**
* قابل استفاده در **سرورهای چندگانه با چندین کارت شبکه**
* مناسب برای **Firewall Gateway‌ها**

---

## 🛠️ مراحل نصب Shorewall

### روی Debian/Ubuntu:

```bash
sudo apt update
sudo apt install shorewall
```

### روی RHEL/CentOS:

```bash
sudo yum install shorewall
```

---

## 🗂️ ساختار فایل‌های پیکربندی Shorewall

فایل‌های اصلی در مسیر `/etc/shorewall/` قرار دارند و شامل:

| فایل | توضیح |
| ---------------- | -------------------------------------------- |
| `interfaces` | تعیین کارت‌های شبکه متصل به سیستم |
| `zones` | تعریف مناطق شبکه‌ای (trusted, net, fw و...) |
| `policy` | قوانین کلی برای ارتباط بین مناطق |
| `rules` | قوانین خاص مانند اجازه یا مسدود کردن پورت‌ها |
| `masq` | برای NAT و اشتراک‌گذاری اینترنت |
| `shorewall.conf` | فایل اصلی پیکربندی سراسری |

---

## 🧱 پیکربندی اولیه Shorewall (مثال ساده)

### 1. تعریف Zoneها:

`/etc/shorewall/zones`

```
fw firewall
net ipv4
```

### 2. تعریف اینترفیس‌ها:

`/etc/shorewall/interfaces`

```
eth0 net detect
```

### 3. سیاست کلی ارتباطات:

`/etc/shorewall/policy`

```
net all DROP info
fw all ACCEPT
all all REJECT info
```

### 4. اجازه اتصال SSH:

`/etc/shorewall/rules`

```
ACCEPT net fw tcp 22
```

---

## 📦 فعال‌سازی NAT (اختیاری)

`/etc/shorewall/masq`

```
eth0 192.168.1.0/24
```

---

## 🚦 فعال‌سازی Shorewall

1. در فایل `/etc/default/shorewall` مقدار `startup=0` را به `startup=1` تغییر دهید.
2. سپس اجرا کنید:

```bash
sudo systemctl restart shorewall
sudo systemctl enable shorewall
```

---

## 🔍 بررسی وضعیت Shorewall

```bash
sudo shorewall status
```

---

## 💡 نکات امنیتی

* همیشه ابتدا با دسترسی محلی تست کنید تا اتصال SSH قطع نشود.
* تنظیمات را مرحله‌به‌مرحله انجام دهید و با دستور `shorewall check` از صحت آن مطمئن شوید.
* از لاگ‌ها در `/var/log/messages` یا `journalctl` برای اشکال‌زدایی استفاده کنید.

---

## 🎯 جمع‌بندی

اگر به دنبال **پیکربندی فایروال پیشرفته اما با مدیریت ساده‌تر از iptables** هستید، Shorewall انتخاب بسیار مناسبی است. این ابزار با استفاده از فایل‌های متنی و مفاهیم Zone-Based یک لایه انتزاعی ساده‌تر برای مدیران سرور فراهم می‌کند.

 


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

  • 0
« برگشت