فارسی (Farsi)
€EUR

نصب و پیکربندی UFW روی یک VPS

3 min
سرور مجازی (VPS/VDS)

این راهنما به شما نشان می‌دهد چگونه UFW (Uncomplicated Firewall) را نصب و پیکربندی کنید؛ فایروالی ساده اما کارآمد برای لینوکس. UFW مدیریت قوانین فایروال را روی سرور VPS شما آسان می‌کند.

📋 پیش‌نیازها

  • یک سرور VPS با دسترسی روت (root) یا sudo
  • یک اتصال SSH فعال
  • Ubuntu/Debian (فرمان‌ها برای این توزیع‌ها تطبیق داده شده‌اند)

📥 نصب UFW

نصب روی Ubuntu/Debian

Bash
sudo apt update sudo apt install ufw -y

بررسی نصب

Bash
# Vérifier le statut d'UFW sudo ufw status

اگر UFW فعال نباشد، این پیام را می‌بینید: Status: inactive

⚙️ پیکربندی پایه

مهم: پیش از فعال‌سازی UFW، حتماً پورت SSH (22) را مجاز کنید، وگرنه دسترسی شما به سرور مسدود می‌شود.

تعیین قوانین پیش‌فرض

Bash
# Tout bloquer en entrée, autoriser en sortie sudo ufw default deny incoming sudo ufw default allow outgoing

مجاز کردن اتصال‌های ضروری

Bash
# Autoriser SSH (PORT 22) - TRÈS IMPORTANT ! sudo ufw allow 22/tcp # Autoriser HTTP et HTTPS (si vous avez un serveur web) sudo ufw allow 80/tcp sudo ufw allow 443/tcp

فعال‌سازی UFW

Bash
# Activer le pare-feu sudo ufw enable

هنگام پرسش، با y تأیید کنید.

🔧 قوانین پیشرفته

مجاز کردن یک پورت مشخص

Bash
# Autoriser un port TCP sudo ufw allow 8080/tcp # Autoriser un port UDP sudo ufw allow 53/udp # Autoriser un port pour un protocole spécifique sudo ufw allow 3306/tcp # MySQL sudo ufw allow 5432/tcp # PostgreSQL

مجاز کردن یک IP مشخص

Bash
# Autoriser toutes les connexions depuis une IP sudo ufw allow from 192.168.1.100 # Autoriser un port spécifique pour une IP sudo ufw allow from 192.168.1.100 to any port 22 # Autoriser une plage d'adresses IP sudo ufw allow from 10.0.0.0/8

مسدود کردن یک IP یا یک پورت

Bash
# Bloquer une IP sudo ufw deny from 192.168.1.100 # Bloquer un port sudo ufw deny 3306/tcp

📊 مدیریت قوانین

فهرست کردن همه قوانین

Bash
# Statut simple sudo ufw status # Statut détaillé avec numéros sudo ufw status numbered # Statut très verbeux sudo ufw status verbose

حذف یک قانون

Bash
# Supprimer par numéro (trouvé avec status numbered) sudo ufw delete 3 # Supprimer par règle sudo ufw delete allow 8080/tcp

بازنشانی همه قوانین

Bash
sudo ufw --force reset

توجه: این فرمان همه قوانین را حذف و UFW را غیرفعال می‌کند. با احتیاط از آن استفاده کنید!

🎯 نمونه‌های پیکربندی

پیکربندی برای یک سرور وب

Bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable

پیکربندی برای یک سرور پایگاه داده

Bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow from 10.0.0.0/8 to any port 3306 sudo ufw enable

پیکربندی برای یک سرور بازی (مثلاً Minecraft)

Bash
sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 25565/tcp # Port Minecraft sudo ufw enable

📝 بررسی و پایش

مشاهده لاگ‌ها

Bash
# Voir les logs en temps réel sudo tail -f /var/log/ufw.log # Voir les dernières entrées sudo tail -n 50 /var/log/ufw.log

بررسی وضعیت تفصیلی

Bash
sudo ufw status verbose

این فرمان این موارد را نمایش می‌دهد:

  • وضعیت فایروال (فعال/غیرفعال)
  • قوانین پیش‌فرض
  • همه قوانین فعال
  • رابط‌های شبکه

🔄 غیرفعال کردن UFW (در صورت نیاز)

Bash
# Désactiver temporairement sudo ufw disable # Réactiver sudo ufw enable

✅ بهترین روش‌ها

  1. همیشه پیش از فعال‌سازی، SSH را مجاز کنید: مطمئن شوید پورت SSH (22) پیش از فعال کردن فایروال مجاز شده است.

  2. اصل حداقل دسترسی: فقط پورت‌ها و IPهای لازم برای سرویس‌های خود را مجاز کنید.

  3. قوانین خود را آزمایش کنید: پیش از قطع اتصال، آزمایش کنید که همه‌چیز درست کار می‌کند.

  4. لاگ‌ها را پایش کنید: لاگ‌ها را مرتب بررسی کنید تا تلاش‌های نفوذ را تشخیص دهید.

  5. از fail2ban استفاده کنید: UFW را با fail2ban ترکیب کنید تا در برابر حملات brute force حفاظت قوی‌تری داشته باشید.

🆘 عیب‌یابی

از سرور بیرون مانده‌ام

اگر پس از فعال کردن فایروال از سرور بیرون ماندید:

  1. با اطلاعات ورود خود با پشتیبانی Infrawire تماس بگیرید
  2. در صورت وجود، از کنسول VNC/KVM پنل کنترل خود استفاده کنید
  3. مستقیماً وارد شوید و UFW را غیرفعال کنید: sudo ufw disable

قوانین کار نمی‌کنند

Bash
# Vérifiez que UFW est bien activé sudo ufw status # Vérifiez l'ordre des règles sudo ufw status numbered # Rechargez les règles sudo ufw reload

UFW با Docker تداخل دارد

اگر از Docker استفاده می‌کنید، باید Docker را طوری پیکربندی کنید که با قوانین UFW تداخل نکند:

Bash
# Éditer la configuration Docker sudo nano /etc/docker/daemon.json # Ajouter cette configuration { "iptables": false } # Redémarrer Docker sudo systemctl restart docker

📚 منابع بیشتر

❓ پرسش‌های متداول

پرسش: آیا می‌توانم UFW را با فایروال‌های دیگر استفاده کنم؟
پاسخ: خیر، برای جلوگیری از تداخل باید در هر زمان فقط از یک فایروال استفاده کنید.

پرسش: آیا UFW با Docker کار می‌کند؟
پاسخ: بله، اما باید Docker را طوری پیکربندی کنید که با قوانین UFW تداخل نکند (بخش عیب‌یابی را ببینید).

پرسش: چگونه چند پورت را همزمان مجاز کنم؟
پاسخ: می‌توانید از یک حلقه استفاده کنید یا یک اسکریپت bash بسازید تا افزودن قوانین خودکار شود.

پرسش: آیا می‌توانم UFW را روی CentOS/RHEL استفاده کنم؟
پاسخ: بله، اما نصب ممکن است متفاوت باشد. مستندات توزیع خود را بررسی کنید.


پیکربندی خوبی داشته باشید! 🚀

با آخرین پیشنهادها، تخفیف‌ها و تبلیغات ویژه به‌روز بمانید.

مشاهده تخفیف‌ها

ما از کوکی استفاده می‌کنیم

ما از کوکی‌های تحلیلی برای بهبود تجربه شما در سایت خود استفاده می‌کنیم. هیچ داده‌ای به اشخاص ثالث فروخته نمی‌شود. اطلاعات بیشتر در سیاست حفظ حریم خصوصی ما.