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!
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.
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.
Check Gentoomen Library and anarcho-copy, both have a huge curated list of books on everything, including networking.
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/
Do you like dry reading? I do, and I started here http://intronetworks.cs.luc.edu/
Michael W. Lucas’s “Networking for System Administrators” is a great resource: https://mwl.io/nonfiction/networking#n4sa
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.