TGViewer
SecForge SecForge @s3cforge · 94 subscribers
Post #13 266
سلام چطورین؟
یه مقداری داشتم درباره iptables میخوندم و اومدن nftables به جای این فایروال قدیمی که خب واضح تر و درست بخوام بگم همون packet filter خودمون میشه که بر پایه فریم ورک netfilter هستش داخل کرنل(البته اینم بگم خود nftables هم جزئشه).
فایروال شبکه لینوکس در داخل خود kernel انجام میشه . ابزار ها و دیمون های userspace میتونن اون رو مدیریت و کانفیگ کنن ولی اونا فقط اطلاعات پیکربندی به kernel میفرستن.لاگ های فایروال هم از سمت kernel rings buffer ارسال میشه.
قابلیت فایروال nftables یه پیشرفت گنده ای که نسبت به iptables داشته اینه که علاوه بر فیلترینگ ipv4 , ipv6 , mac داخل یه فایل .conf ترکیب میکنه اینه که برای هر rule چندین action انجام بدیم که خب چیز جالبیه.
مسیر => /etc/nftables.conf یا /etc/nftables/
من تو اینترنت گشتم و حقیقتا یه فایل پیکربندی پیدا کردم و پایین میزارمش :

table inet filter {
    chain input {
        type filter hook input priority 0;
        ct state {established, related} accept
        iifname lo accept
        ip protocol icmp accept
        tcp dport 22 accept
        reject with icmp type port-unreachable
    }
    chain forward {
        type filter hook forward priority 0;
        drop
    }
    chain output {
        type filter hook output priority 0;
    }
}
داخل nftables همه rule ها داخل یک Tables قرار میگیرن و ساختارشون اینطوریه(اگه یه مقدار مفهوم بد رسوندم پیوی بگین بیشتر توضیحش بدم) :
table
chain{
rule
rule
...
}chain
بعد از این مورد ما inet ها رو داریم . چیزی که family جدول مشخص میکنه و family های موجود اینها هستن:
ipv4,ipv6,inet,arp,brindge,netdev
داخل rule که تعریف کردیم ient هست یعنی قوانین روی v4,v6 هر دو اعمال میشه!
بخش اول یا بهتره بگیم chain اول درباره input ها یا اعمال قوانین روی packet هایی هستش که وارد سیستم میشه مثلا ssh , http , icmp , ...
اگه دقت کنیم اول اول نوشتیم type filter که ما کبل 3 تا تایپ اصلی داریم filter , net , route در اینجا filter تصمیم میگیره accept یا drop انجام بده
بخش بعدی نوشته شده hook input (یه مقدار بر میگرده به netfilter که چند تا نقطه هوک کردن داره incoming , prerouting , input , application که خب وقت بشه بعدا دربارش حرف میزنیم) توی این بخش input نوشتیم که یعنی این chain هنگام وارد شدن پکت به خود سیستم اجرا بشه.
بخش بعدی که داره priority 0 هستش که اگه چند تا chain روی همون hook باشن الویت بندی میکنه که کی زودتر اجرا بشه که از -100 تا 100 هستش.
اینجا همون rule اول توضیح میدیم
ct state { established, related } accept
مهم ترین rule هر firewall . خب یعنی چی؟ یعنی اینکه کرنل وضعیت connection ها رو نگه میداره
اینجا established یعنی کانکشن قبلا برقرار شده . related یعنی یه کانکشن جدید ایجاد شده ولی مرتبط به اون کانکشن قبلی هستش مثل ftp یا icmp err.
بخش بعدی iifname lo accept هستش یعنی incoming interface name که من اینترفیس loopback یعنی lo گزاشتم یعنی اگه برنامه ای داشت با خودش ارتباط برقرار میکرد نباید بلاک بشه و accept هستش.
یه rule دیگه ای که دوست دارم دربارش بگم و این بحثو تموم کنیم tcp dport 22 accept که میگه اگه کانکشن tcp بود و destination port برابر 22 بود قبول کن و به همین اسونی
شاید سواله چرا این rule ها اشنا هستن؟
https://oneuptime.com/blog/post/2026-03-20-tcpdump-bpf-filter-expressions/view
https://andreaskaris.github.io/blog/networking/bpf-and-tcpdump/
https://docs.kernel.org/bpf/
یه سر بهش بزنید بد نیست❤️
Join channel ⚡
OneUptime | One Complete Observability platform. How to Use tcpdump BPF Filter Expressions Effectively Master Berkeley Packet Filter (BPF) syntax to write precise tcpdump filters using byte offset matching, protocol fields, and bitwise operations.
  • ❤ 6
More from @s3cforge
  1. Oct 6, 2026یکمی بزرگ مزرگ شد اینم pdf اگه خواستین بخونین
  2. Oct 6, 2026int main(int argc, char **argv) { pid_t pid = fork(); if (pid == 0) { // bache install_sec…
  3. Oct 6, 2026سلام چطورین؟ یه مقدار اومدیم امروز درباره linux seccomp یا همون secure computing حرف بزنیم…
  4. Oct 5, 2026سلام چطورین؟ فرداشب موضوعمون یکم درباره sandbox process توی لینوکس هستش به نظرم چیز جالبیه…
  5. Sep 25, 2026خب سلام اومدیم یه مقدار درباره execve یه توضیح بدیم که احتمالا همتون وقتی یکم با strace کا…
  6. Sep 25, 2026خب سلامی دوباره یه مقداری درگیر کار و .... بودم واقعا وقت نکرده بودم ادامه این پستو به اتم…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →