يُعتبر iptables من أهم أدوات إدارة الجدار الناري في أنظمة لينكس، حيث يمنحك تحكمًا دقيقًا في حركة المرور الواردة والصادرة. في هذا المقال نشرح كيفية تثبيت وإعداد iptables على مختلف التوزيعات مع طريقة جعل القواعد دائمة بعد إعادة التشغيل.
ملاحظة هامة
قواعد iptables لا تُحفظ افتراضيًا. بعد إعادة التشغيل ستُفقد أي قواعد أُضيفت ما لم يتم إعداد النظام لحفظها واستعادتها.
توزيعات مبنية على دبيان
- تثبيت iptables:
sudo apt install iptables - حفظ القواعد باستخدام iptables-persistent:
sudo apt install iptables-persistent
تُحفظ القواعد في/etc/iptables/rules.v4و/etc/iptables/rules.v6. - حفظ القواعد يدويًا:
sudo iptables-save > /etc/iptables/rules.v4sudo ip6tables-save > /etc/iptables/rules.v6 - تحديث القواعد:
sudo netfilter-persistent save - إعادة تحميل القواعد:
sudo netfilter-persistent reload
توزيعات Red Hat
- تعطيل firewalld:
sudo systemctl stop firewalldsudo systemctl disable firewalld - تثبيت iptables-services:
sudo yum install iptables-services(للإصدارات الأقدم)sudo dnf install iptables(للإصدارات الحديثة) - تمكين وتشغيل الخدمة:
sudo systemctl enable iptablessudo systemctl start iptables - التحقق من الحالة:
sudo systemctl status iptables
توزيعات آرش
- تثبيت iptables:
sudo pacman -S iptables - تمكين وتشغيل الخدمة:
sudo systemctl enable iptablessudo systemctl start iptables
توزيعات openSUSE
- تثبيت iptables:
sudo zypper install iptables - تمكين وتشغيل الخدمة:
sudo systemctl enable iptablessudo systemctl start iptables
أوامر iptables الأساسية
- السماح بـ SSH (المنفذ 22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT - السماح بـ HTTP (المنفذ 80):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT - السماح بـ HTTPS (المنفذ 443):
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT - حظر منفذ محدد (8080):
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP - حذف قاعدة:
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT - عرض القواعد النشطة:
sudo iptables -L -v -n
ملاحظة: استخدم -I بدلاً من -A لإضافة قاعدة في بداية السلسلة.
جعل قواعد iptables دائمة
في توزيعات دبيان
- الاستعادة التلقائية عبر iptables-persistent.
- حفظ القواعد يدويًا:
sudo iptables-save > /etc/iptables/rules.v4sudo ip6tables-save > /etc/iptables/rules.v6 - استعادة القواعد يدويًا:
sudo iptables-restore < /etc/iptables/rules.v4sudo ip6tables-restore < /etc/iptables/rules.v6
في التوزيعات الأخرى
- إنشاء مجلد وحفظ القواعد:
sudo mkdir -p /etc/iptablessudo iptables-save > /etc/iptables/rules.v4sudo ip6tables-save > /etc/iptables/rules.v6 - إنشاء خدمة systemd مخصصة:
[Unit] Description=استعادة قواعد جدار الحماية iptables Before=network.target [Service] Type=oneshot ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4 ExecStart=/sbin/ip6tables-restore < /etc/iptables/rules.v6 RemainAfterExit=yes [Install] WantedBy=multi-user.target
- تفعيل وتشغيل الخدمة:
sudo systemctl enable iptables-restore.servicesudo systemctl start iptables-restore.service
تنبيه
بعض توزيعات لينكس الحديثة تأتي مع firewalld أو nftables مُفعّلة افتراضيًا. إذا كنت تخطط لاستخدام iptables فقط، تأكد من تعطيل أي خدمات جدار ناري أخرى قد تتعارض معه.
باتباع هذه الخطوات ستتمكن من تثبيت وإعداد iptables بشكل صحيح على توزيعات لينكس المختلفة، مع ضمان حفظ القواعد واستعادتها بعد إعادة التشغيل.
المراجعة الدورية لقواعد iptables تساعدك على الحفاظ على أمان جهازك وضمان توافقه مع متطلبات الشبكة والتطبيقات الحديثة.
