89
submitted 9 months ago by [email protected] to c/[email protected]

Hi all,

I am looking for recommendations on resources to learn Linux networking. I am primarily hoping for text resources such as books, guides, blog series, articles, etc. I have trouble focusing on videos.

I am mainly targeting linux networking topics, such as how the linux networking stack works, and things like iptables, network namespaces, network interfaces, sockets, NAT, firewalls, internal IP-addressing, subnetting, routing, proxying, internal DNS, and anything that I may not know exists but is related to these concepts and linux networking in general.

Any recommendations?

top 19 comments
sorted by: hot top controversial new old
[-] [email protected] 7 points 9 months ago

For reference purposes, the manpages. For a more conversational, 'guide for the perplexed'-type book, though, I'd wholeheartedly recommend Michael W. Lucas's 'Networking for sysadmins' book: https://mwl.io/nonfiction/networking#n4sa -- this one helped me understand many of the fundamental concepts.

[-] [email protected] 7 points 9 months ago

I'm normally someone who'll dig into the weeds on something, but for some reason Linux networking just switches my brain off after about 5 minutes. Something engaging or practical here would be a godsend. Network chuck is someone I've tangentially brushed against, but he seems like he could get the concepts across, is there a series of his that will kind of get me going?

[-] [email protected] 4 points 9 months ago

If you are familiar with the concepts and are looking more for the specific details, you can probably go a long way with official docs (iptables, nftables, kernel), the arch wiki, man pages, and some hands-on.

[-] [email protected] 2 points 9 months ago

I'm not super familiar. I was blindly fighting iptables with some WireGuard tutorials and also getting into the weeds of container orchestration.

[-] [email protected] 3 points 9 months ago
[-] [email protected] 3 points 9 months ago
[-] [email protected] 5 points 9 months ago

IPv4? Why aren't you using IPv6?

Just because something can replace it doesn't mean everyone is going to abandon what's already working.

[-] [email protected] 2 points 9 months ago

IPv4? Why aren't you using IPv6?

I am. Right now in fact.

[-] [email protected] 4 points 9 months ago

Most tutorials, even recent ones, reference iptables. Never seen nftables. One example is WireGuard guide.

[-] [email protected] 5 points 9 months ago
[-] [email protected] 4 points 9 months ago

True; but many guides & tutorials that came out long after that still give their examples/instructions in iptables. Esp. those that involve ifup/ifdown/etc. scripts.

(although nftables is considerably easier to read, IMHO)

[-] [email protected] 2 points 9 months ago

I've never seen nftables, or should I say never noticed nftables, when ever I've seen documentation it's always referenced iptables, if it has mentioned nftables I'm guessing my brain just glossed over it. It's kind of like with networking configuring with /etc/network/interfaces rather than with netplan or network manager or systems or ifup ifdown, or anything else I've missed

[-] [email protected] 2 points 9 months ago

Wikipedia, RFC (especially for networking protocol), sources code

[-] [email protected] 2 points 9 months ago

The best thing to do imo is insight thru experience - build your own networks (plural), your own software, secure them then connect them.

[-] [email protected] 3 points 9 months ago

That was honestly what I was trying, but I felt myself blindly following tutorials without understanding what any of those components are or doing. And searching individual terms was not good enough. The concepts seem intertwined, and searching the web only gave me surface level explanations that didn't cut it.

[-] [email protected] 1 points 9 months ago

build some of your own projects then. For example, my router has split routing between sites that require no VPN and normal sites. Find a project to do that isn't covered by tutorials, or read manuals instead of tutorials

[-] [email protected] 1 points 9 months ago

I've fallen in the same hole before. tbh in my experience you don't really learn much until things start breaking.

[-] [email protected] 2 points 9 months ago

I cut my teeth on an early version of The Linux Networking Howto, still available at tldp.org. That's a little bit out of date now :-) but the basic IPv4 networking concepts are still good.

These days so much is implementation or distribution dependent. There has been so much very rapid development in this field during the internet era that the age of documentation matters significantly.

A mitigating, but also confusing, factor is that different generations of networking tools have backwards compatibility built in so that it has been possible to build firewalls on kernels running nftables using iptables utilities in userspace.

I think you could do worse than starting with the Debian wikis and then drilling down into other documentation for the specific distributions or applications you want to use.

I seem to remember that openwrt.org and shorewall.org (though that product is EOL) also have some good overarching network stuff. I think Hurricane Electric he.com may still do their free basic IPv6 certificate programme?

Wikipedia is also your friend in this, especially the references.

I've enjoyed onemarcfifty.com's videos too, but that format isn't what you are looking for, and the transcripts I have seen are not formatted.

this post was submitted on 14 Sep 2023
89 points (98.9% liked)

Linux

45417 readers
1365 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS