مجله هاستونیک

این را امتحان کن : phrase 1phrase 2phrase 3

nftables چیست؟ فایروال آینده‌دار لینوکس که باید بشناسی!

nftables چیست؟ فایروال آینده‌دار لینوکس که باید بشناسی!

در این مقاله به معرفی، کاربرد، مزایا، چالش‌ها و دستورات عملی nftables به عنوان فایروال مدرن و آینده‌دار لینوکس پرداختیم.

- اندازه متن +

مقدمه

دنیای امنیت سرور هیچ‌وقت نمی‌خوابه! اگه سال‌ها با iptables سر و کله زدی، وقتشه با بازیگر مدرن‌تر این عرصه آشنا بشی: nftables. این ابزار توسط خود بنیاد لینوکس به عنوان نسل جدید فایروال توسعه داده شده و قراره دردسرهای iptables رو کم کنه و یه عالمه امکانات خفن‌تر بهت بده. پس اگه دنبال یه فایروال همه‌فن‌حریف، ساده‌تر، بهینه‌تر و آینده‌نگر هستی، وقتشه جدی به nftables فکر کنی.


nftables دقیقاً چیه؟

nftables یه فریم‌ورک و ابزار مدیریت فایروال لینوکسیه که اومده جای iptables، ip6tables، arptables و ebtables رو بگیره و همه چیز رو یکپارچه و مدرن کنه. به کمکش می‌تونی قوانین Filtering، NAT و دست‌کاری ترافیک رو برای IPv4 و IPv6 و … با یک زبان ساده و قدرتمند مدیریت کنی.


چرا باید به nftables فکر کنی؟

مزایای کلیدی

  • سادگی سینتکس: قوانین با زبان خیلی قابل فهم‌تر نوشته می‌شن، حتی رول‌های پیچیده هم شسته رفته و کم‌حجم می‌مونن!
  • یکپارچگی: مدیریت همه پروتکل‌ها از یه پنجره. تموم اون سردرگمی‌های نسخه‌های iptables تمام شد.
  • عملکرد بالا: طراحی بهینه‌تر، مصرف کمتر منابع به‌خصوص برای ترافیک زیاد.
  • آینده‌نگر بودن: اکثر توزیع‌ها از نسخه‌های جدیدش پشتیبانی می‌کنن و این روند رو به افزایشه.
  • اسکریپت‌نویسی منعطف: دستت حسابی بازه برای تعریف جدول، زنجیره و مجموعه رول‌های سفارشی.
  • استفاده از sets و maps: می‌تونی مجموعۀ IP، پورت یا … رو خیلی راحت تعریف و استفاده کنی.
  • مدیریت همزمان IPv4 و IPv6

مفاهیم پایه‌ای در nftables

  • Table (جدول): مجموعه‌ای از زنجیره‌ها و قوانین.
  • Chain (زنجیره): جایی که رول‌ها توش قرار می‌گیرن.
  • Rule (قانون): دستوراتی که روی بسته‌ها اجرا می‌شن.
  • Set / Map: ساختار داده‌ای کاربردی برای قرار دادن لیست IP یا پورت و استفاده سریع.

اولین تجربه: راه‌اندازی عملی nftables

مثال: فقط SSH و HTTP و خروجی رو باز بذار، بقیش رو ببند

sudo nft add table inet filter

sudo nft add chain inet filter input  { type filter hook input priority 0 \; }
sudo nft add chain inet filter forward { type filter hook forward priority 0 \; }
sudo nft add chain inet filter output  { type filter hook output priority 0 \; }

sudo nft add rule inet filter input iif "lo" accept
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input tcp dport { 22, 80 } accept
sudo nft add rule inet filter input drop

یعنی با این چند خط عملاً یه فایروال استاندارد و بهینه داری!


رایج‌ترین دستورات nftables

مشاهده وضعیت فعلی

sudo nft list ruleset

حذف همه قوانین

sudo nft flush ruleset

ذخیره و لود قوانین

  • در اوبونتو:
  sudo nft list ruleset > /etc/nftables.conf
  sudo systemctl enable nftables
  sudo systemctl restart nftables

سناریوهای حرفه‌ای با استفاده از sets و maps

مثلاً بخوای فقط چند تا IP به SSH وصل بشن:

sudo nft add set inet filter allowed_ssh_ips { type ipv4_addr\; }
sudo nft add rule inet filter input tcp dport 22 ip saddr @allowed_ssh_ips accept

ساده، خوانا و به شدت منعطف!


تفاوت nftables با iptables و firewalld

ویژگیnftablesiptablesfirewalld
سینتکسمدرن، سادهپیچیده‌تربدیهی ولی وابسته به backend
عملکرد خروجیعالی و مقیاس‌پذیرقابل قبولخوب، راحت برای مبتدی‌ها
مدیریت IPv4/6یکپارچه و همزمانجداگانهبا هم
امکانات جدیدsets, maps, countersندارهوابسته به backend
ذخیره قوانینبلهبلهبله
learning curveمتوسطزیاد (حرفه‌ای‌ها)بسیار ساده
آینده‌نگریخیلی زیادرو به منسوخ شدنبرای محیط دوستانه

ضعف‌ها و چالش‌های nftables

  • منابع فارسی و آموزش‌ها کمتر از iptablesه (ولی روز به روز در حال زیاد شدن!)
  • ابزارهای جانبی، پلاگین‌ها و اسکریپت‌ها هنوز با سرعت به‌روز نمی‌شن
  • اگه قبلاً با iptables نفس می‌کشیدی، باید یه مدت برای migration وقت بذاری

نکات طلایی استفاده از nftables

  • مشابه iptables، هر تغییری رو حتماً تست کن، مخصوصاً وقتی رولهای drop زیاد داری!
  • سینتکس و ساختار رک‌تره، اما هنوز باید حواست به ترتیب اجرای رول‌ها باشه.
  • همیشه از فایل کانفیگ بکاپ بگیر تا اگه رول اشتباهی نوشتی، سرورتو از دست ندی.
  • بعد هر تغییر، ruleهای فعال رو با
  sudo nft list ruleset

چک کن.

  • با توجه به افزایش حملات سایبری، داشتن فایروال edge server با nftables مثل خرید بیمه‌نامه برای شبکه‌ته!

جدول: مزایا و معایب nftables

مزایامعایب (پایان ۲۰۲۵)
سینتکس و ساختار خیلی تمیز و واضحمنابع آموزشی فارسی هنوز کمه
یکپارچه و مدرنبرخی ابزارهای قدیمی ناسازگارن
همزمان IPv4 و IPv6کمی نیاز به یادگیری داره
پرفورمنس عالی و بهینهانتقال رول‌ها از iptables
sets, maps, counters و flags جدیدنیاز به تست در سناریوهای خاص

خلاصه به زبان آدمیزاد 😎

اگه جات تو دنیای لینوکس محکم کردی و دنبال فایروال آینده‌داری، راحتی و انعطاف بیشتر می‌خوای، nftables همون انتخابیه که باید از همین امروز دوسش داشته باشی! دستت تو نوشتن رول‌ها خیلی بازتره، آینده‌نگرتر کار می‌کنی و خلاصه یه سر و گردن بالاتر از نسل قبلیشه. فقط واسه مهاجرت شاید ته دلت قرص نباشه، اما امتحانش کنی دیگه برنمی‌گردی!

سوالات رایج کاربران

nftables چیست؟

nftables یک سیستم فایروال در لینوکس است که جایگزین iptables، ip6tables، arptables و ebtables شده و قوانین فیلترینگ شبکه را مدیریت می‌کند.

nftables با iptables چقدر فرق داره؟

فرقش در زبان ساده‌تر، سرعت و مدیریت یکپارچگیه. هرچی تو iptables پراکنده بود، اینجا جمع و جور و ساده شده.

میشه هر دو (iptables و nftables) رو با هم داشت؟

داشته باشی می‌تونه باعث تداخل و سردرگمی بشه. حدوداً فقط یکی باید فعال باشه تا مشکلات شبکه‌ای پیش نیاد.

آیا firewalld از nftables پشتیبانی می‌کنه؟

از نسخه‌های جدید بله، backend پیش‌فرض firewalld روی اکثر توزیع‌ها شده nftables.

توی اوبونتو nftables پیش‌فرض هست؟

از نسخه‌های جدید مثل ۲۰.۰۴ و بعد، nftables به صورت پیش‌فرض نصب و فعال می‌شه.

برای انتقال رول‌ها از iptables به nftables راهی هست؟

ابزارهای کمکی وجود داره؛ مثل iptables-translate، ولی در نهایت باید شخصی‌سازی و تست اسکریپت بکنی تا همه چی امن و بی‌اشکال پیش بره.

Avatar photo
درباره نویسنده

هارون میلانی

تو دنیای تکنولوژی، همه چیز برای من مثل یه پازل هیجان‌انگیزه که باید حلش کنم! تو وبلاگ Hostonic.ir می‌نویسم و با تجربه‌هام سعی می‌کنم مسیر رشد و موفقیت در مدیریت وب‌سایت رو برای شما ساده‌تر کنم. اگر دنبال یه راهنمای حرفه‌ای هستی که همیشه کنارتون باشه، خوشحال می‌شم با نوشته‌ها و راهکارهای من همراه بشید.

ارسال دیدگاه
0 دیدگاه

نظر شما در مورد این مطلب چیه؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *