4 ms·
I think a good way to learn networking is to set up your network from scratch: either build a router using a PC with some BSD, GNU/Linux or buy a router support
by rnhmjoj 5y ago
I think a good way to learn networking is to set up your network from scratch: either build a router using a PC with some BSD, GNU/Linux or buy a router supported by OpenWRT.
Start with something simple at first: a basic home network. You need to set up a firewall and NAT rules, a DHCP server, a DNS relay or maybe a recursive server. You'll learn a good deal about how the protocols works and why they work that way just by reading the manual pages and trying to configure the software. Also, read the RFCs, really, most are well written and do a better job at explaining how stuff works than a random tutorial. For more practical skills, you can also make your own cables by buying STP/UTP cables and connectors.
Then try to build an IPv6-only network, this is especially fun if you don't have native IPv6 from your ISP (i.e. set up a 6in4 tunnel). With IPv6 you can try subnets and routing more easily, also configuring NAT64 and talking to old v4 devices from v6 is pretty fun. Finally you can experiment with more exotic stuff like IPSec encryption between your machines, hosting your email or authoritative DNS server, a VPN, etc.