Entire Linux Network stack diagram (2024)
20 comments
·October 20, 2025elevation
Koffiepoeder
Can you share the diagram? Would love to become iptables-enlightened.
elevation
Eventually I used more detailed diagrams, but this one was like a lightbulb going off:
https://www.frozentux.net/iptables-tutorial/images/tables_tr...
I couldn’t find one that annotated where sysctl configurable were shown. But this is a useful annotation, even if it’s an exercise for the reader.
jcynix
Besides the diagram you'll find tutorials on https://www.frozentux.net/category/linux/iptables/ too.
And at http://www.easyfwgen.morizot.net/ there's an old, but still useful generator for an iptables setup. That should help to understand iptables.
eptcyka
It is time to be nftables enlightened instead.
VTimofeenko
Similar diagram, right in nftables wiki:
https://wiki.nftables.org/wiki-nftables/index.php/Netfilter_...
hhutw
For anyone who is interested, the author of this diagram also made a Linux disk I/O diagram (https://zenodo.org/records/15234151). These diagrams are from his book Operativni sustavi i računalne mreže - Linux u primjeni (https://zenodo.org/records/17371946)
Shout out to the brilliant and generous work of the author!
rfmoz
Linux Kernel map is an other good one https://commons.wikimedia.org/wiki/File:Linux_kernel_map.png
jruohonen
That's pretty cool!
If someone could program a visualization tool that would generate such diagrams automatically, that would be even cooler (but likely a mission impossible).
roomey
I'm not sure if this takes into account para-virtualized networks on VMs, ie. VMware vm's with "virtual" hardware access
It's been a few years for me tho, so perhaps it's covered with the VM section.
Lovely diagram, thanks for sharing it!
snvzz
Fools admire complexity.
billfruit
Is it possible we see the diagram as an svg? I am seeing it only as embedded in the pdf, and really difficult to read .
colordrops
I'm surprised to realize I'm familiar with most of the stack just from decades of Linux usage and no formal study of the stack.
s3092414122
[dead]
s3092414122
[dead]
s3092414122
[dead]
ee99ee
wow
This place needs more of this kind of documentation.
I failed to use IP tables for years. I bought books. I copied recipes from blog posts. Nothing made sense, everything I did was brittle. Until I finally found a schematic showing the flowchart of a packet through the kernel, which gives the exact order that each rule chain is applied, and where some of the sysctl values are enforced. All of a sudden, I could write rules that did exactly what I wanted, or intelligently choose between rules that have equivalent behaviors in isolation but which could have different performance implications.
After studying the schematic, every would just work on the first try. A good schematic makes a world of difference!