Agree more practical examples but disagree this is too abstract.
I’m thinking starting at more common scenarios then jumping to container networking. Ie - Flow of a packet on a simple node, a two interface node, then namespaces, and then quirky virtual stuff.
Another example - I’d love to see how iptables actually works. Maybe how to use ebpf to implement iptables things like source/dest NAT, Masquerade, etc.
But yeah I learned a ton here. Thanks
If you're actually interested in iptables the old packet filter how-to is great:
https://www.netfilter.org/documentation/HOWTO/packet-filteri...
But iptables is turning into just a legacy interface for nftables in modern Linux. See eg:
It would be helpful if the article explained a practical scenario where you'd want to use this technique.
The only explanation is "Packet redirection is taking a packet from one network interface and injecting it into another," but then there's no attempt to explain why you'd want to do this in practice.
The article also uses a lot of notation without explaining it. It explains what a "veth" is, but it doesn't explain what "veth1@2" or "veth2@1" means. Similarly, it never explains what "netns_1" or "netns_2" are. Are these widely-understood semantics?
The reason laid out in the article was for "jumping over the default linux network stack" to move a packet closer to its destination. I provide that just to hopefully help, ill have to read thru the article again to see how I can improve on making that clearer or defining more practical wording :).
And yeah, I understand your comments on all the naming spaghetti. I throw together these things so often that the convention used here are ones from my own head sprinkled with a bit of "iproute2" output format. Ill see if I can improve on this a bit moving forward. The explanation by another reply is correct :).
I don't blame the author though. When you write a technical post, at a certain point you need to assume the readership has some level of context otherwise you'll never complete the post.
Veth1@2 virtual interface 1 in network 2 namespace.
Netns_1 = network namespace 1.
Just guessing based on context.
I'm curious if you had reasons to not use veth in noarp mode.
Source: ChatGPT