I have been exploring the world of home servers/self-hosting for a little over a year now, and feel like I have at a decent understanding of a lot of things that go into this. The one thing I am not remotely comfortable with yet is networking. It’s like a foreign language to me.
What are some good resources or projects that I could work on to help me develop a better understanding of this? Or, what helped you advance your networking knowledge? I have an UnRaid machine and a Raspberry Pi 4 (8gb) at my disposal (for any project recommendations). Current router is ISP provided, so nothing fancy.
If you want dry and boring, do CompTIA and Cisco certs.
If you want fun, get into info sec and learn that way. Check out OWASP, Hackerone, Hack The Box, et al. These platforms will teach you about networking and security at the same time.
Neither is better. Depends on the person.
I recommend getting a VPS and playing around with all kinds of networking tools.
Hack The Box looks like it could be quite interesting and fun. I think I’ll start there. I appreciate your feedback!
Don’t bother with the cert if it’s not your job, but at least look into CCNA Routing and Switching. There are tons of courses available, both in person and online, as well as numerous YouTube videos on the subject.
See if your local library or community college has an adult education center that provides a course. At some point, you will need to learn subnetting, which is just math, but practice makes perfect, and your life is easier if you have it committed to memory.
Proper written work is still one of the most effective ways to do this.
Start by replacing your ISP-provided router with something that runs OpenWrt and explore around.
This is something I have on my to-do list. I just need to figure out which router to go with.
Well, how much wifi and open-source do you really want?
If you are willing to go with commercial hardware + OpenWRT you might want to check the table of hardware at https://openwrt.org/toh/views/toh_available_16128_ax-wifi and https://openwrt.org/toh/views/toh_available_864_ac-wifi. Solid picks for the future might be the Netgear WAX2* line (no USB), the GL.iNet GL-MT6000, ASUS RT-AX59U, Belkin RT1800, Belkin RT3200, Linksys E7350, Linksys E8450. If you don’t mind having older wifi a Netgear R7800 is solid.
For a full open-source hardware and software experience you need a more exotic brand like this https://www.banana-pi.org/en/bananapi-router/. The BananaPi BPi R3 and here is a very good option with a 4 core CPU, 2GB of RAM Wifi6 and two 2.5G SFP ports besides the 4 ethernet ports. There’s also an upcoming board the BPI-R4 with optional Wifi 7 and 10G SPF.
Side note: while there are things like OPNsense and pfSense that may make sense in some cases you most likely don’t require that. You’ve a small network and OpenWRT will provide you with a much cleaner open-source experience and also allow for all the customization you would like. Another great advantage of OpenWRT is that with a great router like the BananaPi BPi R3 you’ve the ability to install 3rd party stuff in your router, you may even use qemu to virtualize stuff like your Pi-Hole on it or simply run docker containers.
Go for a book to gain the knowledge, examples: https://bookauthority.org/books/best-network-protocols-books
Check Gentoomen Library and anarcho-copy, both have a huge curated list of books on everything, including networking.
The reality is that you won’t learn much just by reading, you need to try to debug stuff and eventually work in the area to truly learn.
But I am sure there are plenty of tutorials and video courses in various platforms where you can learn a bit on the topic. Coursera might be a good place to start as you can enroll for free to those courses if I am not wrong.
I’m also a person that has always struggled to learn by solely reading. Typically a combination of video tutorials and documentation, while actually doing the work on my end, is how I usually grasp concepts.
Imagine trying to learn math without solving any problems along the way.
You can use emulation to practise. Gns3 or packet tracer are example of visualising networking hardware to play out different ideas. Jeremy’s it lab has plenty of cisco related videos to teach you.
This way you can fuck around without the wife getting angry she lost instagram access again and again and again.
Computer Networking: Top down approach book is awesome honestly
First the basics: the book “Computer Networks” by Andrew S. Tanenbaum
If you have read and understood it all, continue with https://www.openwrt.org/
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters DNS Domain Name Service/System PiHole Network-wide ad-blocker (DNS sinkhole) VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
3 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.
[Thread #676 for this sub, first seen 11th Apr 2024, 23:05] [FAQ] [Full list] [Contact] [Source code]
Michael W. Lucas’s “Networking for System Administrators” is a great resource: https://mwl.io/nonfiction/networking#n4sa
Do you like dry reading? I do, and I started here http://intronetworks.cs.luc.edu/
There is always the Network + book. I went through it in 2005, so no idea what the content is like nowadays though
Raspberry Pi + PiHole + PiVPN = Network Gateway Drug
Although, PiVPN is winding down so you might want to find something different instead. Setting up a regular Wireguard VPN isn’t so bad, but it may be simpler to setup a Tailscale Tailnet.