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?

  • BeardedGingerWonder@feddit.uk
    link
    fedilink
    English
    arrow-up
    7
    ·
    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?

  • wvstolzing
    link
    fedilink
    arrow-up
    7
    ·
    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.

  • dack@lemmy.world
    link
    fedilink
    arrow-up
    4
    ·
    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.

    • CyclohexaneOPM
      link
      fedilink
      arrow-up
      2
      ·
      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.

  • yak@lmy.brx.io
    link
    fedilink
    English
    arrow-up
    3
    ·
    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.

    • funkajunk@lemm.ee
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      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.

    • CyclohexaneOPM
      link
      fedilink
      arrow-up
      4
      ·
      9 months ago

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

        • wvstolzing
          link
          fedilink
          arrow-up
          4
          ·
          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)

      • Theoriginalthon@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        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

    • CyclohexaneOPM
      link
      fedilink
      arrow-up
      3
      ·
      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.

      • zwekihoyy
        link
        fedilink
        arrow-up
        1
        ·
        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.

      • chayleaf
        link
        fedilink
        arrow-up
        1
        ·
        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